首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VPS、VPN和流量转发

VPS、VPN和流量转发
EN

Ask Ubuntu用户
提问于 2017-08-16 07:45:49
回答 2查看 3.2K关注 0票数 1

我在VPS上使用OCServer配置了VPN服务器,并使用anyconnect从客户端成功地连接到VPS。我希望使用我的vps发送我所有的流量,所以我已经配置了IPV4流量转发,并尝试了一些iptables设置,但是即使我连接到服务器,我的流量也不是从我创建的隧道发送的。如何从VPS转发所有流量,以便在查找IP时看到VPS的IP?

EN

回答 2

Ask Ubuntu用户

发布于 2017-08-18 18:27:10

我们试着解决这个问题。

我猜您的vpn服务器有tunX接口,所有vpn client都连接到这个接口。

在服务器上设置流量转发。这要么是通过

代码语言:javascript
复制
 echo "1" > /proc/sys/net/ipv4/ip_forward

在那之后

添加规则通知以转发通信量。

代码语言:javascript
复制
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地址。

代码语言:javascript
复制
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

这样,来自tunX的流量可以通过eth0到达网络的其他部分。

票数 2
EN

Ask Ubuntu用户

发布于 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_设置_向上

教程,用于设置Linux默认网关

改编自http://www.wikihow.com/Add-or-Change-the-Default-Gateway-in-Linux

第1部分使用终端

  1. 打开航站楼。您可以从侧栏打开终端,也可以按Ctrl+Alt+T。
  2. 查看当前默认网关。您可以通过键入路由并按↵Enter来检查您的默认网关设置为什么。" default“旁边的地址显示默认网关,分配给它的接口显示在表的右侧。
  3. 删除当前默认网关。如果有多个默认网关集,则会遇到连接冲突。如果打算更改现有的默认网关,请删除它。sudo route delete default gw <IP Address> <Adapter>型例如,要删除eth0适配器上的默认网关10.0.2.2,输入sudo route delete default gw 10.0.2.2 eth0
  4. sudo route add default gw <IP Address> <Adapter>型例如,要将eth0适配器的默认网关更改为192.168.1.254,可以键入sudo route add default gw 192.168.1.254 eth0。系统会提示您输入用户密码,以便完成命令。

第2部分:编辑配置文件

  1. 在编辑器中打开配置文件。输入sudo nano /etc/network/interfaces以在nano编辑器中打开该文件。每次系统重新启动时,编辑配置文件都会保持您的更改。
  2. 导航到正确的部分。查找要更改默认网关的适配器的区段。对于有线连接,这通常是eth0。
  3. 将网关IP地址添加到节中。例如,输入gateway 192.168.1.254来生成默认网关192.168.1.254。
  4. 保存您的更改并退出。按Ctrl+X,然后按Y键保存更改并退出。
  5. 重新启动网络。通过键入sudo /etc/init.d/networking restart重新启动网络
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/946677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档