具有 2 个网络接口的 L2TP VPN

具有 2 个网络接口的 L2TP VPN

我想到了一个主意,使用带有两个以太网接口的 AWS EC2 来实现 L2TP/IPSec VPN。一个接口 (eth0) 将接收来自客户端的 L2TP/IPSec 连接(和 ssh 连接),而另一个接口 (eth1) 将充当主 VPN 接口。关键是,我可以使用 eth1 接口及其身份浏览互联网,而 eth0 仅用于连接 VPN;它永远不会被公众所知。

我尝试使用 iptables 进行路由,研究了如何使用 ip route 和 ip rule 命令,并调整了 xl2tpd、pppd 和 IPsec 的设置。但都无法正常工作。

我正在使用 GitHub 上的这个脚本来设置 VPN。https://github.com/hwdsl2/setup-ipsec-vpn

答案1

##通过脚本正常安装ipsec-vpn##

##环境##
eth0:111.222.333.91/29 网关 111.222.333.92
eth1:192.168.0.1/24 gw 1​​92.168.0.254(默认网关)

##解决方案##
// 重定向输入
iptables -t nat -A PREROUTING -i eth0 -d 111.222.333.91 -j DNAT --到目的地 192.168.0.1

// 重定向输出
回显“100 vpn”>> /etc/iproute2/rt_tables
iptables -t mangle -A OUTPUT -p udp --sport 500 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p udp --sport 4500 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p udp --sport 1701 -j MARK --set-mark 1
ip 规则添加 fwmark 1 表 vpn
ip route 添加默认通过 111.222.333.92 dev eth0 表 vpn

相关内容