Como configurar o iptables para o Openvpn rodando console com o rendimento do ssh

1

Eu tenho um servidor Ubuntu, que eu controle remotamente via ssh, eu preciso rodar um cliente OpenVpn neste servidor, então todo o tráfego vai passar pelo túnel VPN, exceto por duas coisas, 1. a conexão ssh do meu computador aqui, 2. Outro programa usa a porta 43210 auto-definida.

Isso é o que eu tentei. Eu criei uma nova tabela de regras ip para todo o tráfego que eu não quero usar a VPN:

# reserved values
255      local 
254      main
253      default   
0        unspec
#
# local
#
#1      inr.ruhep
206      passvpn

Eu defini o comportamento da tabela passvpn para usar o dispositivo local sem VPN:

ip route add default via xxx.xxx.xxx.xxx dev eth0 table passvpn

em que xxx.xxx.xxx.xxx é o meu gateway

Eu adiciono uma nova regra de IP para direcionar o tráfego marcado para a tabela:

ip rule add fwmark 66 table passvpn

Marcar o SSH e o tráfego do outro programa com essa máscara 66, usando o número da porta:

iptables -t mangle -A OUTPUT -p tcp --sport 22 -j MARK --set-mark 66

Quando eu executo o OpenVpn, minha conexão ssh é finalizada e não consigo estabelecer novas conexões, erro como "esgotado". Eu pensei que talvez o pedido de conexão do meu computador não pode chegar ao servidor com a VPN em execução, então eu adiciono outra regra iptables como:

iptables -t mangle -A INPUT -p tcp --sport 22 -j MARK --set-mark 66

Mas ainda não está funcionando.

Alguém por favor pode me dizer se eu fiz algo errado aqui? Qualquer sugestão será apreciada, obrigado!

    
por kdlsw 04.04.2017 / 12:22

0 respostas