首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行VPN服务器的Ubuntu不转发数据包

运行VPN服务器的Ubuntu不转发数据包
EN

Server Fault用户
提问于 2014-12-04 14:32:33
回答 1查看 1K关注 0票数 1

我在这里问了一个相关的问题-- 不能从VPS返回ipsec隧道 --但我已经回答了这个问题,并向前迈进了一步。

我想要达到的最终目标是:

我们有一堆4G路由器,这是英国的标准,它位于几层运营商级NAT的后面,因此不能公开寻址。我们需要能够从AWS上的服务器上回话给这些路由器。我的想法是建立一个具有静态IP地址的VPS,并建立一个从4G路由器到VPS的VPN。然后,我们可以通过VPS上的公共IP与4G路由器进行通信,VPS将通过VPS将流量转发回VPN隧道。

我所处的地方:

我已经在数字海洋上建立了VPS,并使用这个脚本( libreSwan IPSec VPN )-- https://github.com/philplckthun/setup-simple-ipsec-l2tp-vpn --成功地建立了VPN,并成功地从路由器建立了VPS。我可以从VPS切换到路由器和连接到路由器的其他设备(这是我最初的问题)。路由器被设置为使用VPN隧道作为默认路由,当我从路由器平分VPS时,我可以看到从路由器的本地地址(与连接到路由器的设备相同)到达的包,但是现在我遇到了一个问题,如果我从路由器平一个因特网地址(例如8.8.8.8),我可以看到数据包击中VPS,但是它们没有被转发到因特网(通过在因特网上单击另一台机器和监视TCPdump来证明)。我已经在/etc/sysctl.conf (net.ipv4.ip_forward = 1)中设置了转发,并在iptable (-A POSTROUTING -o eth0 -j MASQUERADE)中启用了伪装。我还尝试了其他几个iptables规则,我在网上找到了,但没有任何帮助。

网络图:

代码语言:javascript
复制
laptop (used for testing) --- 4G router --- Internet/VPN tunnel --- DO VPS
192.168.0.159                192.168.0.1                           public IP

如果我在笔记本上ping 8.8.8.8,这就是VPS上的TCPdump所看到的:

代码语言:javascript
复制
14:24:58.713759 IP 192.168.0.159 > google-public-dns-a.google.com: ICMP echo request, id 1, seq 714, length 40

但是笔记本电脑没有收到回复,正如我说的,我已经确认包没有收到任何进一步的信息。

副总裁的路由表:

代码语言:javascript
复制
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         178.62.64.1     0.0.0.0         UG        0 0          0 eth0
178.62.64.0     *               255.255.192.0   U         0 0          0 eth0

我做错了什么(除了起床和上班)?

谢谢。

EN

回答 1

Server Fault用户

发布于 2014-12-05 12:14:50

为了回答我自己的问题;在服务器上的ipsec.conf中,我们有left=<server's subnet>。将此更改为left=0.0.0.0/0使转发工作如愿以偿。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/649170

复制
相关文章

相似问题

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