Ubuntu:VPN 取代 NAT

Ubuntu:VPN 取代 NAT

输出:无线信息脚本

连接是 ISP 路由器(DHCP) - eth0 192.168.1.91 - wlan0(NAT/DHCP)192.168.5.1

我正在使用hostapd它来启动 AP、/etc/network/interfaces创建接口和静态 IP、dnsmasq用于 wlan0 的 DNS 和 DHCP,而 NetworkManager 负责 eth0 和两个静态 DNS 条目(用于测试)。

直到我在 NetworkManager 中启动 OpenVPN 之前,wlan0 都具有互联网连接。

这是我的 iptables:

    user@server:~$ sudo iptables -S
    -P INPUT ACCEPT
    -P FORWARD ACCEPT
    -P OUTPUT ACCEPT
    -A FORWARD -i wlan0 -j ACCEPT
    -A FORWARD -s 192.168.5.0/24 -i wlan0 -o eth0 -m conntrack --ctstate NEW -j ACCEPT
    -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

以下是一些之前/之后的输出。

前:

    user@server:~$ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
    192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
    192.168.5.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0

后:

    user@server:~$ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.119.72.109   0.0.0.0         UG    0      0        0 tun0
    10.119.72.1     10.119.72.109   255.255.255.255 UGH   0      0        0 tun0
    10.119.72.109   0.0.0.0         255.255.255.255 UH    0      0        0 tun0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
    192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
    192.168.5.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
    <ISP public IP> 192.168.1.254   255.255.255.255 UGH   0      0        0 eth0

route还可以,但我的iptables很乱吗? iptables很好但route很乱?我是一个soup-sandwich,一切都乱了?我觉得自己很成功,可以自己解决这个问题,直到我把 VPN 引入方程式后,我花了好几个晚上撞墙。

答案1

我相信你的 WiFi 需要一个透明的 VPN,对吗?

路由表正常,但 iptables 需要更新。

由于您的政策没有限制,因此您可以这样做:

iptables -A FORWARD -i wlan+ -o tun+ -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i tun+ -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE

请参阅https://www.frozentux.net/iptables-tutorial/chunkyhtml/x4422.html作为MASQUERADE目标,因为它在处理 NAT 时至关重要。

相关内容