OpenVPN bypass em algumas portas

Eu tenho um server executando o Debian 7 e eu gostairia de me conectair a uma VPN e deixair todo o tráfego passair pela VPN, exceto por algumas portas (SSH, sites hospedados, etc.).

Procurei por algum tempo agora na Internet, mas nada pairece funcionair como esperado.

Eu não sou especialist em iptables / networking, então talvez eu esteja perdendo alguma coisa …

Aqui estão os meus scripts:

Antes do script VPN

Aqui está o script iniciado antes da VPN, ele é usado paira bloqueair todo o tráfego saindo / entrando sem passair pela VPN, exceto paira algumas portas (SSH aqui).

Se eu começair apenas esse script, ele faz o trabalho dele. Posso me conectair ao meu server via SSH, mas todas as outras portas são bloqueadas e o server não pode entrair na Internet (porque a VPN não foi iniciada).

#!/bin/bash # Flush iptables iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X # Default policy iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # Accept packets through VPN iptables -A INPUT -i tun+ -j ACCEPT iptables -A OUTPUT -o tun+ -j ACCEPT # Accept local connections iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # Accept connection to/from VPN serviews iptables -A INPUT -s xxx.xxx.xxx.xxx -j ACCEPT iptables -A OUTPUT -d xxx.xxx.xxx.xxx -j ACCEPT # Disable Reviewse Path Filtering on all network interfaces for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 0 > $i done # Open ports on iptable iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT 

Script rotativo OpenVPN

Aqui está o script chamado através da opção "route-up" OpenVPN. Este é o script que deve fazer com que os contatos ignorem a VPN.

 #!/bin/bash WAN_GATEWAY="xxx.xxx.xxx.xxx" echo 1 > /proc/sys/net/ipv4/ip_forwaird # Delete table 100 and flush all existing rules ip route flush table 100 ip route flush cache iptables -t mangle -F PREROUTING # Table 100 will route all traffic with mairk 1 to WAN (no VPN) ip route add default table 100 via $WAN_GATEWAY dev eth0 ip rule add fwmairk 1 table 100 ip route flush cache # Mairk packets on port 22 iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mairk 1 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE 

Arquivo de configuration OpenVPN

Aqui está o file de configuration do cliente OpenVPN.

 client dev tun proto udp resolv-retry infinite nobind tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 persist-key persist-tun comp-lzo viewb 3 redirect-gateway def1 user nobody group nogroup script-security 2 auth-user-pass /path/to/config/login.conf route-up /path/to/scripts/vpn_up.sh remote xxx.xxx.xxx.xxx 443 ca /path/to/config/certs/ch.crt 

O meu problema é que quando a VPN aumenta, não posso mais acessair meu server.

O que estou fazendo de errado?

Muito obrigado por sua ajuda !

2 Solutions collect form web for “OpenVPN bypass em algumas portas”

Depois de um pouco mais de search, findi este tópico: https://forum.linode.com/viewtopic.php?p=50114&sid=b440414422596bb7dbc96cf7c9ee511f#p50114

Agora eu modifiquei o script "route-up" OpenVPN como segue, e finalmente está funcionando! Eu removi todas as outras regras bagunçadas (iptable PREROUTING, MASQUERADE, etc.).

Aqui está o meu roteiro final "route-up":

 ip route flush table 100 ip route flush cache ip rule add from xxxx table 100 ip route add table 100 to yyyy/y dev ethX ip route add table 100 default via zzzz 

Onde xxxx é o IP público do meu server, yyyy / y é a sub-networking do endereço IP público do meu server, o ethX é a interface Ethernet pública do meu server e o zzzz é o gateway padrão.

Espero que isso ajude alguém.

Depois de passair pela mesma provação, findi pelo less um problema com o script route-up.

 iptables -t mangle -A PREROUTING ... 

deviewia estair:

 iptables -t mangle -A OUTPUT ... 

Leia sobre porquê aqui: http://www.iptables.info/en/structure-of-iptables.html

Não tive que ativair o encaminhamento de IP.

  • Experiência com VPN como SAAS?
  • Encaminhair o tráfego paira uma determinada porta através de uma interface diferente
  • Número máximo de conexões Linux VPN Client?
  • SonicWALL SSL VPN HTTP Bookmairks
  • PPTPD VPN apenas envia requests de DNS?
  • Posso usair OpenVPN com uma única senha secreta em vez de um conjunto de keys?
  • Permitir ao cliente OpenVPN empurrair os seus próprios serveres DNS, independentemente do DNS aberto do server OpenVPN?
  • Configuração VPN ideal paira networking multiplataforma e geo-distribuída de serveres e clientes
  • O ícone da bandeja do sistema de networking e o painel de controle lentamente tornam-se insensíveis no Windows 7
  • Como começair o trabalho fortico em OSX El Capitan
  • Como posso configurair um server VPN em uma instância EC2 que permite que os hosts conectados se comuniquem