OpenSwan和L2TPd遍历辅助网关

我需要使用Linux(基于RHEL的)和使用L2TPd(xl2tpd)的开放天鹅的networking项目提供一些帮助。 虽然初始设置很好,但是我希望我的VPNstream量能够通过使用openswan穿过站点到站点vpn的路由的辅助networking接口。

这里最后的游戏将通过L2TP / IPsec从我的手机连接到客户端VPN服务器。 然后我从我的手机上的互联网stream量将退出我的家庭networking,并有我的家庭广域网IP地址。 我试过iptables伪装,SNAT,Forward规则,甚至修改路由表,但是我什么都没有。

我可以使用OpenVPN来做到这一点,但我认为区别在于L2TP不能将路由推送到连接的客户端,就像OpenVPN一样。

我的networking是这样的:

家庭networking:10.0.0.0/24云networking:172.31.90.0/27 eth0 public iface 172.31.95.0/27 eth1私有互联网连接通过我的家庭networking。

VPN客户端networking:192.168.0.0/24

我开始通过公共IP地址连接到我的VPN服务器,当我检查我的IP时,我从云服务器上获得公共IP,但是我想要的是通过云公共IP地址连接到VPN服务器并通过互联网访问我的家庭networking。

eth0和eth1都是默认网关。 我已经阅读论坛,我需要创build一个“VPN路由表”,我已经试过这也没有工作。 不知道为什么ppp0到eth1的遍历与将服务器设置为具有一些前向规则的nat设备有什么不同,然而当我执行ppp0 eth1转发时没有检测到数据包,只有后路由规则被拾取如果我在iptables中使用没有界面选项的伪装。

此外,无论我尝试什么,我都无法从我的vpn客户端ping通eth1 IP,但是我可以从我的vpn客户端ping eth0就好了。 我在这里做错了什么?

更新:由于eth0想成为主要的接口,不pipe我做了什么。 我把公网IP从eth0移到eth1,然后把私网从eth1移到eth0。 现在一切都按预期工作。 我仍然想知道我怎么可以避免这个。

提前致谢。