上下文:Wifi VPN 网关(Linux Ubuntu 计算机)
- 只需一台远程服务器 (www.example.com) 和一个客户端(Paul、Ubuntu Linux、网关)链接的和
openVpn
。服务器允许 Paul 浏览互联网- Paul 客户希望将其连接(通过 Wifi AP)分享给 Jack 和 Sophie。
问题:Jack & Sophie 只能浏览服务器主页 (www.example.com)。任何其他请求(IP、ping、nslookup...)如果不涉及服务器domainname.com 或IP,都会失败(NO_INTERNET)。然而,保罗可以浏览任何他想浏览的内容。
注意:IP转发为1/已启用。无需 VPN 即可 100% 访问互联网。
我该如何解决它?
服务器IPTABLES
如果有用
*filter
:INPUT ACCEPT [1623:213921]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [911:146048]
:acctboth - [0:0]
:cphulk - [0:0]
-A INPUT -j cphulk
-A INPUT -j acctboth
-A INPUT -i eth0 -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -j acctboth
-A OUTPUT -o tun+ -j ACCEPT
-A acctboth -s 3.1.170.110/32 ! -i lo -p tcp -m tcp --dport 80
-A acctboth -d 3.1.170.110/32 ! -i lo -p tcp -m tcp --sport 80
-A acctboth -s 3.1.170.110/32 ! -i lo -p tcp -m tcp --dport 25
-A acctboth -d 3.1.170.110/32 ! -i lo -p tcp -m tcp --sport 25
-A acctboth -s 3.1.170.110/32 ! -i lo -p tcp -m tcp --dport 110
-A acctboth -d 3.1.170.110/32 ! -i lo -p tcp -m tcp --sport 110
-A acctboth -s 3.1.170.110/32 ! -i lo -p icmp
-A acctboth -d 3.1.170.110/32 ! -i lo -p icmp
-A acctboth -s 3.1.170.110/32 ! -i lo -p tcp
-A acctboth -d 3.1.170.110/32 ! -i lo -p tcp
-A acctboth -s 3.1.170.110/32 ! -i lo -p udp
-A acctboth -d 3.1.170.110/32 ! -i lo -p udp
-A acctboth -s 3.1.170.110/32 ! -i lo
-A acctboth -d 3.1.170.110/32 ! -i lo
-A acctboth -s 10.8.0.1/32 ! -i lo -p tcp -m tcp --dport 80
-A acctboth -d 10.8.0.1/32 ! -i lo -p tcp -m tcp --sport 80
-A acctboth -s 10.8.0.1/32 ! -i lo -p tcp -m tcp --dport 25
-A acctboth -d 10.8.0.1/32 ! -i lo -p tcp -m tcp --sport 25
-A acctboth -s 10.8.0.1/32 ! -i lo -p tcp -m tcp --dport 110
-A acctboth -d 10.8.0.1/32 ! -i lo -p tcp -m tcp --sport 110
-A acctboth -s 10.8.0.1/32 ! -i lo -p icmp
-A acctboth -d 10.8.0.1/32 ! -i lo -p icmp
-A acctboth -s 10.8.0.1/32 ! -i lo -p tcp
-A acctboth -d 10.8.0.1/32 ! -i lo -p tcp
-A acctboth -s 10.8.0.1/32 ! -i lo -p udp
-A acctboth -d 10.8.0.1/32 ! -i lo -p udp
-A acctboth -s 10.8.0.1/32 ! -i lo
-A acctboth -d 10.8.0.1/32 ! -i lo
-A acctboth ! -i lo
-A cphulk -s 22.16.21.100/32 -m state --state NEW -m time --datestop 2015-09-16T18:53:55 --utc -j DROP
-A cphulk -s 0.0.0.0/32 -m state --state NEW -m time --datestop 2015-09-17T00:34:27 --utc -j DROP
-A cphulk -s 4.68.02.109/32 -m state --state NEW -m time --datestop 2015-09-17T01:44:56 --utc -j DROP
-A cphulk -s 9.1.218.145/32 -m state --state NEW -m time --datestop 2015-09-17T04:03:24 --utc -j DROP
-A cphulk -s 3.1.4.79/32 -m state --state NEW -m time --datestop 2015-09-17T11:21:00 --utc -j DROP
COMMIT
____ VPN 时的路由在:
Destination Passerelle Genmask Indic Metric Ref Use Iface
default 10.8.0.77 128.0.0.0 UG 0 0 0 tun0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
10.8.0.1 10.8.0.77 255.255.255.255 UGH 0 0 0 tun0
10.8.0.77 * 255.255.255.255 UH 0 0 0 tun0
13.37.42.0 * 255.255.255.0 U 0 0 0 wlan0
ns350510.ip-37- 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 10.8.0.77 128.0.0.0 UG 0 0 0 tun0
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 * 255.255.254.0 U 0 0 0 eth0
___ 路由(VPN 时)离开
Destination Passerelle Genmask Indic Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
13.37.42.0 * 255.255.255.0 U 0 0 0 wlan0
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 * 255.255.254.0 U 0 0 0 eth0
答案1
您可能想要启用转发:
echo 1 >/proc/sys/net/ipv4/conf/all/forwarding
此外,您的隧道 IP(此处为 10.0.0.0/8)可能是私有的,NAT/MASQUERADING 也是如此:
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE