将互联网从 eth0 路由到 openvpn 再到 eth1

将互联网从 eth0 路由到 openvpn 再到 eth1

我需要先通过 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 客户端上使用桥接接口。

相关内容