我在VPS上使用OCServer配置了VPN服务器,并使用anyconnect从客户端成功地连接到VPS。我希望使用我的vps发送我所有的流量,所以我已经配置了IPV4流量转发,并尝试了一些iptables设置,但是即使我连接到服务器,我的流量也不是从我创建的隧道发送的。如何从VPS转发所有流量,以便在查找IP时看到VPS的IP?
发布于 2017-08-18 18:27:10
我们试着解决这个问题。
我猜您的vpn服务器有tunX接口,所有vpn client都连接到这个接口。
在服务器上设置流量转发。这要么是通过
echo "1" > /proc/sys/net/ipv4/ip_forward在那之后
添加规则通知以转发通信量。
sudo iptables -A FORWARD -i tunX -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tunX -m state --state ESTABLISHED,RELATED -j ACCEPT由于您的路由器/防火墙在您的虚拟专用网tunX上不知道网络,所以我们必须从vpn clents到internet进行masquarade,并使用接口eth0的ip地址。
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE这样,来自tunX的流量可以通过eth0到达网络的其他部分。
发布于 2017-08-21 20:48:50
虽然ip转发对于在网关后面的客户端通过您的计算机进行对话并到达您的默认网关很有用,但我认为它不能单独解决您的问题。
您想要的是所有非本地的流量,由特定的ip/计算机处理。这就是默认网关的定义。它处理本地网络未处理的所有通信量。
因此,您必须确保除了连接到VPS的接口(可能是tun0或类似的接口)之外,所有接口的默认网关都是0.0.0.0 (如果使用gui,基本上没有定义默认网关,这意味着它们只是被发送回网络)。
然后,使用VPS接口名和IP定义由VPS处理的默认网关0.0.0.0。
下面是我从http://www.wikihow.com/Add-or-Change-the-Default-Gateway-in-Linux修改您的网关的教程
请记住,如果您正在运行像ubuntu这样的现代操作系统,您可能已经安装了NetworkManager,并且可以通过编辑连接来分配网关。
记住,这可能与重新启动和重新启动服务一样简单。所以也试试吧。
如果您的计算机或设备连接到您的计算机,并需要访问互联网,那么您实际上需要通过iptables实现包过滤。
您可以在这里找到为ubuntu执行此操作的教程:https://help.ubuntu.com/community/Internet/ConnectionSharing#Gateway_设置_向上
改编自http://www.wikihow.com/Add-or-Change-the-Default-Gateway-in-Linux
第1部分使用终端
sudo route delete default gw <IP Address> <Adapter>型例如,要删除eth0适配器上的默认网关10.0.2.2,输入sudo route delete default gw 10.0.2.2 eth0。sudo route add default gw <IP Address> <Adapter>型例如,要将eth0适配器的默认网关更改为192.168.1.254,可以键入sudo route add default gw 192.168.1.254 eth0。系统会提示您输入用户密码,以便完成命令。第2部分:编辑配置文件
nano /etc/network/interfaces以在nano编辑器中打开该文件。每次系统重新启动时,编辑配置文件都会保持您的更改。gateway 192.168.1.254来生成默认网关192.168.1.254。sudo /etc/init.d/networking restart重新启动网络https://askubuntu.com/questions/946677
复制相似问题