OpenVPN/Iptables:通过 tun0 路由 wlan0,但不路由来自本地系统的流量

OpenVPN/Iptables:通过 tun0 路由 wlan0,但不路由来自本地系统的流量

我有一个运行 OpenVPN 的设备eth0(连接到互联网),tun0连接到 VPN,并wlan0运行带有客户端的 hostapd。

我希望所有来自客户端的流量都通过 VPN,但本地系统的任何流量都不要通过。我尝试过使用table 3iptables复制路由ip route并在其中标记,以及进行许多其他迭代,但我似乎唯一能做到这一点的方法是0.0.0.0在主表中使用路由,这会强制本地系统上的所有流量也通过 VPN。

所以,我现在正在运行的是基本操作:

    sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
    sudo iptables -A FORWARD -i tun0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    sudo iptables -A FORWARD -i wlan0 -o tun0 -j ACCEPT

如果我使用

sudo openvpn --config /etc/openvpn/server/server.ovpn --daemon

当然,一切都正常,只是本地系统上的流量也要通过 VPN。

如果我使用

sudo openvpn --config /etc/openvpn/server/server.ovpn --daemon --pull-filter ignore redirect-gateway --route-nopull --route-noexec

然后本地系统继续通过eth0,但是来自wlan0的伪装流量被阻止。

有什么建议么?

相关内容