通过站点到站点 IPSec 连接路由 OpenVPN 流量以实现特定路由

通过站点到站点 IPSec 连接路由 OpenVPN 流量以实现特定路由

我们最近将防火墙从 Sonicwall 3060 更改为 Meraki MX100。更改后,我们发现我们为一位客户所做的工作依赖于通过出站 nat 转换连接到其网络的站点到站点 VPN。Meraki 设备不支持这样的配置(Meraki 曾多次直接告知我们这一点),因此我们不得不设置替代解决方案。我们设法在运行具有弹性 IP 的 Vyos 的 AWS ec2 实例中配置了 IPSec 站点到站点 VPN。我们成功地在 Vyos 上配置了站点到站点 VPN,并能够从 Vyos 实例内访问客户的网络。现在,我们正在尝试在 Vyos 实例上配置 OpenVPN,以便我们可以将流量从我们的计算机路由到客户的网络。我们还(短暂地)尝试了 L2TP 配置,还考虑在我们的 Meraki 和 Vyos 之间配置第二个站点到站点 VPN 连接,但还没有奏效。

我们能够使用以下配置连接 OpenVPN,但它不会将任何跨站点到站点 VPN 的流量路由到客户端网络。

这个问题与我们的问题非常相似,但显然我们选择了 Vyos 而不是 PfSense,而且我不确定我是否理解答案。 http://list.pfsense.narkive.com/tPjZJv5R/route-openvpn-traffic-to-the-available-ipsec-tunnels

最后,关于这个主题,我找不到任何关于它的信息——需要什么配置才能支持它。我们正在从头开始构建我们的 VPN——我们只希望它通过 OpenVPN 接受来自客户端的流量,并通过 IPSec 将其路由到我们客户的网络。我们需要它来分发地址吗?充当网关?为此需要什么配置?我只找到了解释 IPSec 或 OpenVPN 配置的资源——没有任何东西解释需要什么才能进行通信的基准。

vyos 上的 OpenVPN 配置:

openvpn vtun0 {
        mode server
        openvpn-option "--proto udp"
        openvpn-option "--ifconfig-pool-persist ipp.txt"
        openvpn-option "--keepalive 10 120"
        openvpn-option "--comp-lzo yes"
        openvpn-option "--user nobody --group nogroup"
        openvpn-option "--persist-key --persist-tun"
        openvpn-option "--status openvpn-status.log"
        openvpn-option "--verb 3"
        openvpn-option "--mute 10"
        openvpn-option "--port 1194"
        openvpn-option --client-to-client
        openvpn-option "--verb 1"
        server {
            push-route 172.31.46.111/32    # private IP of device
            push-route 123.123.78.123/32   # fake public IP of a destination server. We have 30 more IPs and ranges we want to reach
            subnet 192.168.200.0/24 
        }
        tls {
            ca-cert-file /config/auth/ca.crt
            cert-file /config/auth/js-server.crt
            dh-file /config/auth/dh2048.pem
            key-file /config/auth/js-server.key
        }
    }

以及站点到站点的 VPN 隧道(这在 Vyos 安装中有效)

vpn {
    ipsec {
        esp-group the-esp {
            compression disable
            lifetime 3600
            mode tunnel
            pfs disable
            proposal 1 {
                encryption 3des
                hash sha1
            }
        }
        ike-group the-ike {
            ikev2-reauth no
            key-exchange ikev1
            lifetime 28800
            proposal 1 {
                dh-group 2
                encryption 3des
                hash sha1
            }
        }
        ipsec-interfaces {
            interface eth0
        }
        site-to-site {
            peer 123.123.123.8 {
                authentication {
                    id 123.123.123.207 # public IP of the vyos -- differs from local address due to AWS elastic IPs
                    mode pre-shared-secret
                    pre-shared-secret ****************
                    remote-id 123.123.123.8
                }
                connection-type initiate
                default-esp-group the-esp
                ike-group the-ike
                ikev2-reauth inherit
                local-address 172.31.46.111 # private IP of Vyos installation
                tunnel 1 {
                    local {
                        prefix 123.123.123.129/32 # we are using outbound nat translation to send that as our IP to all destinations. 
                    }
                    remote {
                        prefix 123.123.78.123/32 # fake IP of destination from the above openVPN config
                    }
                }
                # and then we have 29 more tunnels for the different routes
        }
    }
}

相关内容