Iptables - VM 中 OpenVPN 的 Wifi 路由器用户会话

Iptables - VM 中 OpenVPN 的 Wifi 路由器用户会话

目标是将无线用户会话从同一 LAN 上的 TP-Link TL-WR902AC Wifi 旅行路由器路由到虚拟机中的 OpenVPN 客户端。

我的尝试是基于之前在另一个系统中的 hostapd wlan0 和 OpenVPN tun0 客户端之间成功的 iptable 路由。

对于 TP-Link 路由器和 OpenVPN 客户端,修改后的 iptable 命令不起作用,我不明白为什么。毫不奇怪,我猜测在几个领域。这是设置。

192.168.0.1   Netgear LAN router to WAN
192.168.0.4   Linux Mint 19.3 Virtualbox host
192.168.0.6   Linux Mint Xfce VM with OpenVPN Client
192.168.0.7   TP-Link TL-WR902AC travel router

TP-Link路由器WAN设置

ip addr  192.168.0.7
gateway  192.168.0.6
DNS svr  192.168.0.6

TP-Link路由器LAN ip地址是192.168.1.1

在虚拟机 /etc/sysctl.conf 中启用 IPv4 转发

192.168.0.6 虚拟机上的路由:

Kernel IP routing table
Destination     Gateway     Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.7.3.1    128.0.0.0       UG    0      0        0 tun0
default         _gateway    0.0.0.0         UG    100    0        0 enp0s3
10.7.3.0        0.0.0.0     255.255.255.0   U     0      0        0 tun0
128.0.0.0       10.7.3.1    128.0.0.0       UG    0      0        0 tun0
link-local      0.0.0.0     255.255.0.0     U     1000   0        0 enp0s3
185.225.234.1   _gateway    255.255.255.255 UGH   0      0        0 enp0s3
192.168.0.0     0.0.0.0     255.255.255.0   U     100    0        0 enp0s3

不起作用的 iptables 命令 [除了能够从无线笔记本电脑 ping 10.7.3.1 之外 - 如果没有加载 iptables,ping 会失败]:

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

答案1

ping 10.7.3.1 成功让我觉得 TP-Link 路由器 WAN 设置中的 DNS 服务器地址可能是问题所在。

通过将其更改为 VPN 服务器 DNS 地址 103.86.96.100 进行测试,然后它可以工作。

还不错,但我知道对于 iptables 我还是个初学者。

相关内容