Rota o tráfego para algum host na Internet via servidor VPN

1

Eu preciso do tráfego de rota para algum host na Internet via servidor VPN.

Configuração:

Computador: ubuntu-12.04

eth0 - x.x.x.x / 24

tun0 - inet addr: 10.8.0.6 P-t-P: 10.8.0.5 Máscara: 255.255.255.255

Existe o servidor OpenVPN (Amazon):

ubuntu-12.04

eth0 - y.y.y.y / 24

tun0 - inet addr: 10.8.0.1 P-t-P: 10.8.0.2 Máscara: 255.255.255.255

Existe um host no IP da Internet: q.q.q.q

Eu quero trafegar para q.q.q.q foi lançar servidor OpenVPN. Por isso eu faço:

iptables:

Marcar pacotes no mangle da tabela:

sudo iptables -t mangle -A OUTPUT -d q.q.q.q -j MARK --set-mark 2

Eu envio tráfego para q.q.q.q throw tun0:

sudo iptables -t nat -A POSTROUTING -d q.q.q.q -j SNAT --to-source 10.8.0.6

iproute2:

Eu faço a tabela "100" em / etc / iproute2 / rt_tables

sudo ip rule add fwmark 2 table 100
sudo ip route add default via 10.8.0.5 table 100

tcpdump no primeiro computador:

14: 22: 04.554399 IP 10.8.0.6 > q-q-q-q.clodo.ru: Pedido de eco ICMP, id 11717, seq 1, comprimento 64

14: 22: 04.681918 IP q-q-q-q.clodo.ru > 10.8.0.6: Resposta de eco ICMP, id 11717, seq 1, comprimento 64

14: 22: 05.562577 IP 10.8.0.6 > q-q-q-q.clodo.ru: Pedido de eco ICMP, id 11717, seq 2, comprimento 64

14: 22: 05.690240 IP q-q-q-q.clodo.ru > 10.8.0.6: Resposta de eco ICMP, id 11717, seq 2, comprimento 64

Mas não há ping. 2 pacotes transmitidos, 0 recebidos, 100% de perda de pacotes ..

    
por mik-mak 18.12.2013 / 09:27

1 resposta

0

Você não precisa marcar os pacotes, Para fazer o que você está planejando, você precisa do seguinte

no arquivo de configuração do servidor, adicione o seguinte:

"push route q.q.q.q 255.255.255.255"

O acima irá empurrar a rota para o lado do cliente, então todo o tráfego enviado do cliente para aquele ip será enviado através do túnel openvpn.

Também no lado do servidor você precisa aceitar o tráfego de entrada do cliente, você pode aceitar todo o tráfego vindo da sub-rede do cliente como segue

iptables -A INPUT -s 10.8.0.0/24 -j ACCEPT

você também pode precisar disso sem ter certeza:

iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT

Você precisa atualizar o tráfego do cliente para o lado do servidor [faça isso no lado do servidor]

iptables -t nat -A POSTROUTING -d q.q.q.q -j SNAT --to-source PUBLIC_IP_OR_YOUR_VPN_SERVER

E você não precisa da tabela iproute2 ou mangle.

A ordem das regras é importante, por isso, satisfaça-as antes de uma regra de descarte correspondente

    
por 18.12.2013 / 09:37