Недавно мы изменили наш брандмауэр с 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
}
}
}