我的电脑提供一个Wifi AP,共享其eth互联网连接。它是无痛的。
我决定将我的计算机连接到我的VPN服务器(我的eth <=> VPN远程服务器),以便我的"WifiAP客户端“在我的VPN中隧道化后能够在因特网上冲浪。而且它不能完全发挥作用。
起作用的是:我的电脑可以上网,ipecho.net/plain可以呈现远程的VPN服务器IP。好吧好吧。WifiAP客户端可以访问远程VPN服务器IP。
什么失败: WifiAP客户端不能平任何其他的东西,并且不允许任何域(不可能达到8.8.88Gdns ip.没有域解析)。
简单地说,没有VPN,任何人都可以加入wifi并在WWW上冲浪。有了VPN,只有我的电脑能做。
ip_forwarding不是用来挖隧道的吗?
怎么了?我怎么才能修好它?
当虚拟专用网启用时,____路由:
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-3-1 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计算机的__ IPtables (它提供WIFI AP并链接到VPN服务器):
# Generated by iptables-save v1.4.21
*mangle
:PREROUTING ACCEPT [7471:1066114]
:INPUT ACCEPT [5960:830272]
:FORWARD ACCEPT [1339:216774]
:OUTPUT ACCEPT [717:92366]
:POSTROUTING ACCEPT [2116:318321]
:internet - [0:0]
-A PREROUTING -j internet
-A internet -m mac --mac-source 60:F8:4D:BE:43:AE -j RETURN
-A internet -j MARK --set-xmark 0x3e7/0xffffffff
COMMIT
# Completed
# Generated by iptables-save v1.4.21
*nat
:PREROUTING ACCEPT [1710:298954]
:INPUT ACCEPT [1480:280336]
:OUTPUT ACCEPT [28:4162]
:POSTROUTING ACCEPT [86:6162]
-A PREROUTING -i wlan0 -p tcp -m mark --mark 0x3e7 -m tcp --dport 80 -j DNAT --to-destination 13.37.42.1:80
-A PREROUTING -i wlan0 -p tcp -m mark --mark 0x3e7 -m tcp --dport 443 -m conntrack --ctstate NEW -j DNAT --to-destination 13.37.42.1:80
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o wlan0 -j MASQUERADE
COMMIT
# Completed
# Generated by iptables-save v1.4.21
*filter
:INPUT ACCEPT [6041:840617]
:FORWARD ACCEPT [380:110945]
:OUTPUT ACCEPT [753:102159]
-A FORWARD -i wlan0 -j ACCEPT
COMMIT
# Completed ____服务器OpenVPN conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp bypass-dns"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
max-clients 100
user nobody
group nobody
persist-key
persist-tun
status /etc/openvpn/logs/openvpn-status.log
log-append /etc/openvpn/logs/openvpn.log
verb 3___客户端OpenVPN Conf
client
ns-cert-type server
remote www.example.com 1194
#route-nopull
ca ca.crt
cert client_1337.crt
key client_1337.key
dev tun
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3___Server 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 发布于 2015-09-18 17:22:59
您对VPN和防火墙规则的配置没有任何问题。您所缺少的事实是,您只有一个网关,192.168.0.1,它只能通过eth0访问,当然不能通过wlan0访问,只需检查路由表即可。
这种行为是正常的:在所有的OSes中只能有一个连接到网关的接口,因为内核必须明确地知道如何路由数据包。
在所有的OSes..。除了Linux,您可以添加第二个(第三个,第四个.)路由表,只要您还添加了规则,这些规则可以告诉内核何时明确地使用每个路由表。这就是您需要做的:设置第二个路由表,然后添加一个规则,其中规定来自tun0子网的所有数据包都必须通过这个第二个路由表进行路由。
这被称为策略路由。您可以这样做:然后为新表选择一个名称
echo 200 <NAME1> >> /etc/iproute2/rt_tables
ip route add <NET1> dev <DEV1> src <SRC1> table <NAME1>(这里DEV1是wlan0,NET1和SRC1是wlan0已经拥有的网络和IP地址),
ip route add default via <IP1> table <NAME1>(IP1是你局域网的门户),最后
ip rule add from <IP1> table <NAME1>这里,IP1是接口tun0的子网。
这就是全部。
https://unix.stackexchange.com/questions/230268
复制相似问题