Направляйте трафик 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
}
}
}