Iproute2 + iptables + openvpn
Prezados,
Já "fritei" a cabeça e não achei solução para o caso abaixo:
Em meu servidor tenho 2 link, 1 para navegação e outro para uma VPN, utilizando o iproute marco os pacotes e envio atraves de cada link.
So que os pacotes que entram atraves do link eth1 na porta 5004 udp insistem em sair pelo eth2.
Desde já agradeço a ajudar.
eth0 - rede local
eth1 - link VPN
eth2 - link navegação
porta 5004 - porta VPN
iptables -t mangle -A OUTPUT -p udp --sport 5004 -j MARK --set-mark 2
ip rule add fwmark 2 table link1 prio 20
ip rule add fwmark 3 table link2 prio 21
ip rule add from x.x.x.x table link1 prio 20
ip route add x.x.x.x via x.x.x.x dev eth1 table link1
ip route add default via x.x.x.x table link1
ip rule add from y.y.y.y table link2 prio 21
ip route add y.y.y.y via y.y.y.y dev eth2 table link2
ip route add default via y.y.y.y table link2
ip route add default via y.y.y.y
Re: Iproute2 + iptables + openvpn
Olá amigo... essa regra do iptables que você colocou ai não vai afetar os pacotes que vem pelo tunel vpn e sim dos pacotes gerados pelo servidor. Ali você diz que os pacotes gerados pelo servidor com porta de origem 5004 protocolo udp receberão uma marcação "2". A chain OUTPUT só afeta pacotes gerados pelo próprio servidor... para pegar os pacotes que vem pelo tunel (uma interface a parte) você precisa usar a chain forward.
As chains INPUT e OUTPUT são para os pacotes que são direcionados diretamente para o servidor e os pacotes gerados pelo servidor para a rede. A chain FORWARD é responsável por tratar os pacotes que são destinados para outros equipamentos que não seja ele mesmo.