Conexão remota OpenVPN

0

Eu tenho um servidor Ubuntu rodando em casa, e ele está conectado a um servidor OpenVPN. O endereço remoto do OpenVPN é 176.126.237.214 , com porta 25000 . Esta conexão de túnel muda meu IP público para um IP fornecido pelo meu servidor OpenVPN. No momento não consigo me conectar remotamente ao meu servidor Ubuntu pessoal. Eu já tentei abrir a porta usada pelo meu servidor, 192.168.1.11 , com porta 8882 . Como posso conectar o SSH remoto ao meu servidor pessoal?

    
por John 11.03.2016 / 18:04

1 resposta

0

Então você deseja se conectar usando o endereço IP original (não VPN) do seu servidor?

O problema é que o gateway padrão é alterado pelo OpenVPN e que interrompe qualquer conexão que esteja chegando na interface não-VPN. O Linux enviará respostas aos pacotes que chegaram na interface real da interface VPN! Você precisa configurar rotas apropriadas antes de iniciar o OpenVPN.

O que segue funciona para mim. Ele usa iptables e ip (iproute2). Abaixo, é assumido que a interface de gateway padrão antes de o OpenVPN ser iniciado é "eth0". A idéia é garantir que, quando uma conexão com a eth0 seja feita, mesmo que a eth0 não seja mais a interface de gateway padrão, os pacotes de resposta para a conexão voltarão à eth0 novamente.

Você pode usar o mesmo número para a marca de conexão, marca de firewall e tabela de roteamento. Eu usei números distintos para tornar as diferenças entre eles mais aparentes.

# set "connection" mark of connection from eth0 when first packet of connection arrives
sudo iptables -t mangle -A PREROUTING -i eth0 -m conntrack --ctstate NEW -j CONNMARK --set-mark 1234

# set "firewall" mark for response packets in connection with our connection mark
sudo iptables -t mangle -A OUTPUT -m connmark --mark 1234 -j MARK --set-mark 4321

# our routing table with eth0 as gateway interface
sudo ip route add default dev eth0 table 3412

# route packets with our firewall mark using our routing table
sudo ip rule add fwmark 4321 table 3412

===

ATUALIZAÇÃO:

O acima funciona bem para mim no Debian Jessie. Mas em um sistema Wheezy mais antigo acabei de descobrir que preciso adicionar "via" à entrada da tabela de roteamento:

# our routing table with eth0 as gateway interface
sudo ip route add default dev eth0 via 12.345.67.89 table 3412

Existe "12.345.67.89" que deve ser o gateway não-VPN original.

    
por John Doe 05.08.2016 / 05:38