OpenVPN como proxy

2

O que eu quero:

Eu quero me conectar ao OpenVPN, e minha lista predefinida de endereços IP é roteada por meio dessa conexão ( tun0 ). Todo o outro tráfego não é afetado (passa por eth0 ).

O que eu tentei:

  • Eu queria ter certeza de que ufw não era o problema, por isso o desativei ( ufw disable ).
  • Eu queria ter certeza de que iptables não era o problema e, por isso, redefini-lo, resultando em:

$ iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

(que deve praticamente aceitar qualquer conexão)

O que eu consegui fazer:

  • posso me conectar ao servidor OpenVPN
  • Eu posso pingar para o host do servidor OpenVPN ( 10.8.0.1 )
  • Eu posso pingar para outros hosts conectados (não necessários para este caso de uso, mas eu posso)

O que não funcionou:

  • Acessando qualquer coisa que não seja na rede OpenVPN ( 10.8.0.x )

Como eu configurei as coisas:

No lado do cliente, estou definindo manualmente as rotas (no arquivo conf):

route-nopull
route 54.175.222.246 255.255.255.255
route 10.8.0.0 255.255.255.0

( 54.175.222.246 é o endereço IP de http://httpbin.org/ )

Isso realmente envia as coisas para o servidor OpenVPN; logs:

Jan  1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 UDPv4 WRITE [229] to     [AF_INET]77.251.109.156:45958: P_DATA_V1 kid=0 DATA len=228
Jan  1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 UDPv4 WRITE [229] to [AF_INET]77.251.109.156:45958: P_DATA_V1 kid=0 DATA len=228
Jan  1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 UDPv4 READ [101] from [AF_INET]77.251.109.156:45958: P_DATA_V1 kid=0 DATA len=100
Jan  1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 UDPv4 READ [101] from [AF_INET]77.251.109.156:45958: P_DATA_V1 kid=0 DATA len=100
Jan  1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 TUN WRITE [64]
Jan  1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 TUN WRITE [64]
Jan  1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 TUN READ [123]
Jan  1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 TUN READ [123]

No entanto, o servidor não o redireciona para a conexão pública com a Internet, ou , independentemente do servidor HTTP retornar, não é recebido / redirecionado pelo servidor OpenVPN. Eu não tenho idéia de qual desses é o caso, e não tenho idéia de como consertar qualquer um deles. (A maioria das postagens que eu encontrei era sobre o envio de todo tráfego através do OpenVPN, em vez do tráfego específico ; aquelas que eram sobre tráfego específico, sobre permitindo coisas através de iptables , mas essas coisas não ajudaram)

Alguma sugestão?

    
por Etienne Bruines 01.01.2016 / 13:07

1 resposta

2

Após cerca de meio dia pesquisando na Web, finalmente me deparei com esta postagem .

Em suma, tudo o que eu tinha que fazer era:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

(Eu também tive que habilitar o encaminhamento ipv4, mas eu já fiz isso há muito tempo

    
por 01.01.2016 / 14:24

Tags