
Я пытаюсь настроить сервер, который будет работать как шлюз — по сути, он будет обрабатывать соединения, поступающие из кластера 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]"
в конфигурацию вашего сервера.