这发生在 Linux 路由器上。
你知道为什么我在 Wireguard 网络接口上让公共 IP 调用本地 IP 吗?你觉得这样对吗?确切地说,这些数据包没有到达另一个 Wireguard 端点。其他数据包工作正常。
请参阅下面的 tcpdump7.X.X.110 > 192.168.250.111
数据包从服务器到达本地网络中的此路由器。
这可能是 Linux、Wireguard 等中的某种错误。
有没有办法将源 IP 从 替换
7.X.X.110 > 192.168.250.111
为192.168.240.111 > 192.168.250.111
?还有其他方法可以尝试修复它或找到解决方法吗?
root@dd-2:~# ifconfig oet1
oet1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.1.240.1 P-t-P:10.1.240.1 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP PROMISC MTU:1460 Metric:1
RX packets:14283962 errors:12 dropped:204 overruns:0 frame:12
TX packets:12498036 errors:1 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:10098365440 (9.4 GiB) TX bytes:4836896224 (4.5 GiB)
root@dd-2:~# ip r
default via 7.X.X.254 dev eth0
10.1.220.1 via 10.1.240.1 dev oet1
10.1.230.1 via 10.1.240.1 dev oet1
10.1.240.0/24 dev oet1 scope link src 10.1.240.1
10.1.250.1 via 10.1.240.1 dev oet1
7.X.X.0/22 dev eth0 scope link src 7.X.X.110
127.0.0.0/8 dev lo scope link
192.168.220.0/24 dev oet1 scope link
192.168.230.0/24 dev oet1 scope link
192.168.240.0/24 dev br0 scope link src 192.168.240.240
192.168.250.0/24 dev oet1 scope link
root@dd-2:~#
root@dd-2:~# sudo tcpdump -i oet1 -n | grep -e "IP 7.X.X.110"
03:31:42.166816 IP 7.X.X.110 > 192.168.250.111: IP 10.233.66.0.33409 > 10.233.100.219.8443: Flags [S], seq 1921032154, win 65495, options [mss 65495,sackOK,TS val 388916867 ecr 0,nop,wscale 7], length 0
Wireguard 版本v1.0.20191226
。
如果我遗漏了一些细节,请告诉我,我会添加。
谢谢