我正在尝试与 LAN 和 WLAN 共享 VPN 连接。在 LAN 和 WLAN 上设置静态 DHCP IP,使用手机作为 USB 互联网共享。
当将 usb0 连接(仅作为互联网连接,而不是 VPN)共享到 eth0 和 wlan0 时,一切正常。但是,当在终端中使用 nordvpn 连接时,短时间内设备上的互联网连接正常,但随后其他设备上无法访问互联网,但在使用 VPN 的主计算机上可以正常工作。只有断开 nordvpn 并重新连接并重新应用命令,它才能再次工作一小段时间。这就是我的 tun0 的样子,inet IP 随每次连接而变化:inet 10.8.3.2 netmask 255.255.255.0 destination 10.8.3.2
,然后使用共享 VPN 连接的命令:
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
我怀疑这与路由表有关,因为添加默认 tun0 ip 地址后,它又可以正常工作,但只持续了一段时间,然后 tun0 IP inet 就会发生变化,必须重新执行。这是路由表(tun0 的 ip 并不总是相同的):
default 10.8.0.8 0.0.0.0 UG 0 0 0 tun0
default 192.168.42.129 0.0.0.0 UG 204 0 0 usb0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
link-local 0.0.0.0 255.255.0.0 U 205 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
192.168.4.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
192.168.42.0 0.0.0.0 255.255.255.0 U 204 0 0 usb0
unn-195-181-170 192.168.42.129 255.255.255.255 UGH 0 0 0 usb0
最后unn-195-181-170 192.168.42.129 255.255.255.255 UGH 0 0 0 usb0
一部分是最近才出现的,因为主路由表被刷新,这是修复问题的失败尝试,通常它不会出现。使用 iptables -S :
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
有时最后会显示为usb0 -j DROP, wlan0 -j DROP and eth0 -j DROP
。如果在 tun0 上不存在,则上面的 iptables 不起作用,只有重新应用它们才能工作,但只能持续很短的时间。如果理解正确,这与 tun0 的 inet IP 变化有关,但如何使其变为静态,这样就不需要重新应用所有内容,我不知道。我是这方面的初学者,非常感谢任何帮助。希望有人能给我指明正确的方向。
编辑:刚刚注意到我把 iptables -S 放在了另一个设置表中。这个现在是正确的
答案1
这是我的问题的重复:网络上无法访问 VPN 连接
我找到了一种解决方法,已在帖子中进行了解释。