Как определить несколько маршрутов в OpenVPN?

Как определить несколько маршрутов в OpenVPN?

Я пытаюсь настроить сервер, который будет работать как шлюз — по сути, он будет обрабатывать соединения, поступающие из кластера k8s во внешний мир (в основном, базы данных за VPN).

Итак, у меня следующая настройка: OpenVPN с определенными маршрутами и HAProxy, который действует как шлюз.

В моем конфигурационном файле .opvn есть что-то вроде этого:

dev tun
persist-tun
persist-key
cipher AES-256-CBC
ncp-ciphers AES-256-GCM:AES-128-GCM
auth SHA1
tls-client
client
resolv-retry infinite
remote A_REMOTE_IP_ADDRESS 1199 udp4
verify-x509-name "vpn.mycompany.com" name
auth-user-pass
pkcs12 myp12file.p12
tls-auth mytls-tls.key 1
remote-cert-tls server

route-nopull
route DATABASE_A_IP_ADDRESS 255.255.255.0
route DATABASE_B_IP_ADDRESS 255.255.255.0
route 192.0.0.0 255.255.255.0

verb 4
ping 5

log-append /var/log/openvpn/sellbievpn.log
status /var/log/openvpn/sellbievpn-status.log

Конфигурация HAProxy выглядит примерно так:

frontend entry
    bind :1433
    mode tcp
    use_backend sqlserver

backend sqlserver
    mode tcp
    server sqlserver DATABASE_A_IP_ADDRESS check

Теперь, если я попытаюсь подключиться, myserver:1433я смогу успешно подключиться к DatabaseA. Так что это идеально, концепция работает. Но я не могу найти способ подключиться к DatabaseB, хотя они используют одну и ту же VPN-сеть. Так что я предполагаю, что проблема должна быть в том, как я настроил routes.

Есть идеи? Спасибо.

решение1

вам необходимо внести изменения push "route [subnet] [netmask]"в конфигурацию вашего сервера.

Связанный контент