我有一个 VPN 问题,希望能在以太中找到答案。:-)
我目前的设置:(第 3 层)
OpenVPN 服务器:NICeth0 10.85.202.20
tun
topology subnet
server 10.10.16.0 255.255.240.0
route 172.16.0.0 255.240.0.0
client-to-client
#TLS stuff ...
现在我的客户端不仅仅是一台机器,还有带有专用网络的路由器:
172.16.2.0/24
172.16.3.0/24
172.16.4.0/24
...
172.16.8.0/24
...
以及该网络中的设备。
我正在设置客户端(路由器)
tun
port 1194
datacom.domain.de
10.10.16.0
255.255.240.0
...
并通过 ccd 文件推送路线(示例)
iroute 172.16.8.0 255.255.255.0
从 OpenVPN 服务器,我可以访问路由器ping 172.16.8.1
和网络中的所有设备。nmap -sn 172.16.8.0/24
客户端网络的所有网络流量都通过本地 wan/nic。
我还有一个 Win10 客户端,我可以连接到 OpenVPN 服务器,然后这台机器可以访问连接到服务器的所有网络和该网络中的所有服务。(web-gui、ssh、ftp ......到设备)在这些网络内部,没有设置到并行网络的路由。172.16.8.0/24
ping 172.16.20.1
内部是不可能的。
按设计工作!
现在的问题是:我确实在与 OpenVPN 服务器 NIC 相同的本地网络中有一台 win11 机器eth0 10.85.202.30
,并且我想赋予这台机器与作为客户端登录 VPN 相同的访问权限。
route add -p 172.16.0.0 mask 255.240.0.0 10.85.202.20 if 24
如何设置 OpenVPN-Server 以将其从 eth0 路由到 tun0?
我确实尝试过:
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
目标是使用此 Win11 上的 OpenVPN 客户端通过 tap(第 2 层)访问 172.16.8.1:1194 上的 OpenVPN 服务器,以便轻松地将其虚拟移动到 172.16.8.0/24 网络内。(用于 Boadcast、IGMP 等)
这是可行的方法吗?我还能通过什么其他方式实现目标?
隧道穿过隧道?点击客户端路由器?
此致。
答案1
所描述的系统按设计工作,我只是在客户端的路由添加中设置了错误的 OpenVPN 服务器 IP。
将 eth0 路由到 tun0 正常