Iptables para encaminhar o tráfego entre dois túneis

0

Estou tentando encaminhar algum tráfego de uma instância do cliente OpenVPN para outra. como mostrado aqui

Eu quero encaminhar o tráfego de algumas portas e manter outras na instância da VPN1.

Todas as regras que estou aplicando estão na VPN1, pois o cliente não precisa se preocupar se o tráfego é encaminhado e, também, a VPN2 não precisa se preocupar com "quem" solicitou a solicitação. Então, aqui estão as regras que estou usando diretamente na instância da VPN1:

Para o cliente, como ele pode alcançar a rede 10.8.0.0/24, adicionei o arquivo server.conf que adicionei:

push "route 10.8.0.0 255.255.255.0"
route 10.8.0.0 255.255.255.0

Para encaminhar o tráfego de tun0 para tun1 , adiciono as seguintes regras:

iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
iptables -A FORWARD -i tun0 -j ACCEPT     #forward traffic 

Para obter conexão com a internet no primeiro túnel, também tenho:

iptables -t nat -A POSTROUTING -s 10.8.100.0/24 -j MASQUERADE

Então, aqui é onde eu estou começando a falhar. Seguindo este link , adicionei o seguinte:

echo "1 nextHop" >> /etc/iproute2/rt_tables
ip route add default via 10.8.0.1 dev tun1 table nextHop
ip rule add from all fwmark 0x1 lookup nextHop
iptables -t mangle -I PREROUTING -p tcp --dport 80 -j MARK --set-mark 1  ## or whatever port I want to forward.

Quando eu adiciono a última regra iptables, o tráfego vai de tun0 no cliente para tun0 na VPN1, para tun1 na VPN1, para tun0 na VPN2 e chega à Internet. No entanto, a resposta está chegando em tun0 na VPN2 e redirecionada para tun1 na VPN1, mas NÃO ESTÁ SENDO ENCAMINADO para tun0 na VPN1, para alcançar tun0 no cliente. Eu vi isso com tcpdump .

Eu tentei muitas abordagens diferentes usando DNAT e SNAT , mas ainda não consigo enviar a resposta de volta ao cliente.

Como posso encaminhar algumas portas da VPN1 para a VPN2 e obter as respostas de volta ao cliente?

    
por anonimou 16.08.2017 / 13:02

0 respostas