我需要先通过 openVPN 路由所有往返于 eth0 的流量,然后再向 eth1 发送/接收流量,这是一个 Debian 虚拟机,您可以称它为虚拟路由器。
这个想法是在 eth1 上放置一个 dhcp,客户端将连接到 eth1。我希望所有客户端都自动连接到 VPN。
目前,我可以通过中间的 DHCP 将 eth0 路由到 eth1,这样客户端将获取其 IP 地址并能够浏览,但只要我打开 openVPN,客户端就无法再访问互联网。
为了说明我想要什么,这可能会有所帮助:
如何实现这一点?
答案1
我假设您正在通过 iptables 对系统进行 NAT,具体操作如下:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
这几乎是正确的,您所要做的就是将第一个更改为:
iptables --table nat --append POSTROUTING --out-interface tun3 -j MASQUERADE
现在您的所有流量都将通过 OpenVPN。
答案2
看起来你本质上想要执行网络地址转换(NAT) -http://docstore.mik.ua/orelly/unix3/upt/ch46_11.htm
我怀疑这是否正确,但您也可以尝试使用它xinetd
来执行到适当服务的路由。
答案3
如果不了解有关您的设置的更多信息,就很难知道为什么 NAT 对您不起作用。
我可能还建议在 vpn 客户端上使用桥接接口。