Назад | Перейти на главную страницу

Маршрутизация трафика OpenVPN через соединение IPSec от сайта к сайту для определенных маршрутов

Недавно мы изменили наш брандмауэр с Sonicwall 3060 на Meraki MX100. После внесения изменений мы обнаружили, что наша работа для одного клиента основывалась на размещении vpn сайта на его сеть с исходящим переводом nat. Устройства Meraki не поддерживают такую ​​конфигурацию (нам много раз говорили об этом непосредственно из Meraki), поэтому нам пришлось использовать альтернативное решение. Нам удалось настроить сайт IPSec для сайта VPN в экземпляре AWS ec2, на котором работает Vyos с эластичным IP. Мы успешно настроили сайт для сайта VPN на Vyos и получили доступ к сети клиента из экземпляра Vyos. Теперь мы пытаемся настроить OpenVPN на экземпляре Vyos, чтобы мы могли направлять трафик с наших компьютеров в сеть клиента. Мы также (вкратце) попытались настроить L2TP, а также рассмотрели возможность настройки второго VPN-соединения типа «сеть-сеть» между нашими Meraki и Vyos, но это еще не сработало.

Мы можем подключиться к OpenVPN с конфигурацией ниже, но он не направляет трафик через сайт на сайт vpn в клиентскую сеть.

Этот вопрос очень похож на наш, но, очевидно, мы выбрали Vyos вместо PfSense, и я не уверен, что понимаю ответ. http://list.pfsense.narkive.com/tPjZJv5R/route-openvpn-traffic-to-the-available-ipsec-tunnels

Наконец, единственное, чего я нигде не смог найти по этой теме - какая конфигурация необходима для поддержки этого. Мы создаем нашу VPN с нуля - мы хотим, чтобы он принимал трафик от клиентов через OpenVPN и перенаправлял его в сеть нашего клиента через IPSec. Это нужно для раздачи адресов? Действовать как шлюз? Какая конфигурация для этого нужна? Я нашел только ресурсы, которые объясняют IPSec или конфигурацию OpenVPN - ничто не объясняет базовый уровень того, что должно быть на месте, чтобы те могли общаться.

Конфигурация OpenVPN на vyos:

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
        }
    }
}