
Estou tentando configurar um servidor para atuar como gateway - basicamente ele lidará com conexões provenientes de um cluster k8s para o mundo externo (principalmente bancos de dados atrás de VPNs).
Então tenho a seguinte configuração: OpenVPN com rotas específicas e HAProxy que funciona como gateway.
No meu arquivo de configuração .opvn, tenho algo assim:
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
A configuração do HAProxy é mais ou menos assim:
frontend entry
bind :1433
mode tcp
use_backend sqlserver
backend sqlserver
mode tcp
server sqlserver DATABASE_A_IP_ADDRESS check
Agora, se eu tentar me conectar, myserver:1433
posso me conectar com sucesso ao DatabaseA. Então isso é perfeito, o conceito funciona. Mas não consigo encontrar uma maneira de me conectar ao DatabaseB, mesmo que eles compartilhem a mesma rede VPN. Então, acho que o problema deve estar em como eu configurei o routes
.
Alguma ideia? Obrigado.
Responder1
você precisa push "route [subnet] [netmask]"
na configuração do seu servidor.