我设置了一个 Ubuntu OpenVPN 服务器。一切正常,VPN 客户端可以成功连接到 VPN 服务器。挑战是我无法连接到 VPN 服务器后面的计算机
tun0 上的 tcp 转储 root@gtway-sr-s:~# tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
15:10:45.785732 IP 10.8.0.6 > 192.168.33.2: ICMP echo request, id 7, seq 48841, length 40
15:10:50.469529 IP 10.8.0.6 > 192.168.33.2: ICMP echo request, id 7, seq 48850, length 40
Run Code Online (Sandbox Code Playgroud)
这是 em2 [192.168.33.2]
root@gtway-sr-s:~# tcpdump -i em2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em2, link-type EN10MB (Ethernet), capture size 65535 bytes
15:15:15.460870 ARP, Request who-has 192.168.33.2 tell 192.168.33.1, length 28
15:15:15.461025 ARP, Reply 192.168.33.2 is-at e4:1f:13:bb:0f:f2 (oui Unknown), length 46
15:15:15.464351 IP 192.168.33.1 > 192.168.33.2: ICMP echo request, id 7, seq 49287, length 40
15:15:15.464544 IP 192.168.33.2 > 192.168.33.1: ICMP echo reply, id 7, seq 49287, length 40
15:15:16.187506 IP 192.168.33.2.60143 > 229.111.112.12.3071: UDP, length 4
15:15:20.448006 IP 192.168.33.1 > 192.168.33.2: ICMP echo request, id 7, seq 49296, length 40
15:15:20.448207 IP 192.168.33.2 > 192.168.33.1: ICMP echo reply, id 7, seq 49296, length 40
15:15:21.491924 IP 192.168.33.2.60143 > 229.111.112.12.3071: UDP, length 4
15:15:25.450927 IP 192.168.33.1 > 192.168.33.2: ICMP echo request, id 7, seq 49304, length 40
15:15:25.451132 IP 192.168.33.2 > 192.168.33.1: ICMP echo reply, id 7, seq 49304, length 40
15:15:26.823644 IP 192.168.33.2.60143 > 229.111.112.12.3071: UDP, length 4
15:15:30.459822 IP 192.168.33.1 > 192.168.33.2: ICMP echo request, id 7, seq 49315, length 40
15:15:30.460016 IP 192.168.33.2 > 192.168.33.1: ICMP echo reply, id 7, seq 49315, length 40
15:15:32.148672 IP 192.168.33.2.60143 > 229.111.112.12.3071: UDP, length 4
15:15:35.143425 ARP, Request who-has 192.168.33.1 (b0:83:fe:e3:2e:1a (oui Unknown)) tell 192.168.33.2, length 46
15:15:35.143431 ARP, Reply 192.168.33.1 is-at b0:83:fe:e3:2e:1a (oui Unknown), length 28
15:15:35.453679 IP 192.168.33.1 > 192.168.33.2: ICMP echo request, id 7, seq 49324, length 40
15:15:35.453861 IP 192.168.33.2 > 192.168.33.1: ICMP echo reply, id 7, seq 49324, length 40
15:15:37.485259 IP 192.168.33.2.60143 > 229.111.112.12.3071: UDP, length 4
15:15:40.455035 IP 192.168.33.1 > 192.168.33.2: ICMP echo request, id 7, seq 49333, length 40
15:15:40.455220 IP 192.168.33.2 > 192.168.33.1: ICMP echo reply, id 7, seq 49333, length 40
15:15:40.468865 ARP, Request who-has 192.168.33.2 tell 192.168.33.1, length 28
15:15:40.469000 ARP, Reply 192.168.33.2 is-at e4:1f:13:bb:0f:f2 (oui Unknown), length 46
15:15:42.827137 IP 192.168.33.2.60143 > 229.111.112.12.3071: UDP, length 4
15:15:45.461731 IP 192.168.33.1 > 192.168.33.2: ICMP echo request, id 7, seq 49343, length 40
15:15:45.461919 IP 192.168.33.2 > 192.168.33.1: ICMP echo reply, id 7, seq 49343, length 40
Run Code Online (Sandbox Code Playgroud)
修改服务器配置文件以包含如下一行:
push "route 192.168.73.0 255.255.255.0"
Run Code Online (Sandbox Code Playgroud)
其中 192.168.73.0/24 是服务器后面的 LAN。替换为您使用的任何内容。双引号必须保留,不能丢弃。
注意:
如果服务器后面的 LAN 和客户端所属的 LAN 在某种程度上重叠,特别是如果它们使用相同的子网,则上述将失败:在上面的示例中,如果客户端 LAN 和服务器 LAN 都是 192.168,则会失败。 73.0/255。这是一个问题,因为大多数自动设置的 LAN 是 192.168.1.0/24 或 192.168.0.0/24,因此有很多机会发现冲突。
这就是我将我家的 LAN 设置为 192.168.73.0/24 的原因。将 LAN 切换到不寻常的子网是解决此类冲突的唯一方法。
编辑:
回复您的评论:
碰撞是不是局域网的服务器背后的IP号码抛出的OpenVPN的客户,但两个局域网之间:你的客户必须具备的,它的以太网/ WiFi接口上,IP号码这一定不会发生冲突与远程LAN . 忘记 openvpn 客户端的子网。
配置完上述内容后,需要检查的一件事是服务器是否可以将数据包从虚拟接口(我敢打赌这是tun0在您的情况下,不是tap0,我说得对)到服务器的正常接口(我打赌它是 eth0,而不是 br0)。这可能有两个原因:
一种。您不允许 IPv4 转发。作为须藤,
echo 1 /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)
会照顾这个。
湾 您有一个阻止数据包转发的防火墙。
sudo iptables -F
Run Code Online (Sandbox Code Playgroud)
将清除您的防火墙规则。
最后,您应该记住使用 MASQUERADE,如下所示:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -d 192.168.33.0/24 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
12927 次 |
| 最近记录: |