Cara, faz um tempinho que mechi com isso... mas seguinte, essas regras:
Código :
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -p tcp --dport 25 -j MARK --set-mark 3
iptables -t mangle -A OUTPUT -p tcp --dport 110 -j MARK --set-mark 3
São desnecessárias. A marcação de pacotes é feita somente na PREROUTING pois ela é utilziada antes do roteamento. A Chain OUTPUT já é depois do reoteamento.
Você criou essas tables 20 e 21?? Confirma la no arquivo /etc/iproute2/rt_tables. elas tem que existir lá... tipo assim:
Lembrando que isso tem que ser na última linha (após #1 inr.ruhep)
Confirma se as regras estão atribuidas as tabelas corretamente com o comando:
Código :
ip route list table nome_da_tabela
Lembrando que o nome da tabela e definido naquele arquivo... no caso do exemplo os nomes sao ads e framerelay...
Confirma também a vinculação da marcação com as tabelas:
Acho que básicamente isso... A um tempo atraz ajudei um cara com isso... o link é esse aqui:
https://under-linux.org/forums/proxy...tml#post315252