Boa tarde,

estou passando por uma dificuldade com o iproute2.
fiz a marcação dos pacotes as regras no iproute2. tudo funcionando. aparentemente.....

meu problema comeca quando o iproute manda os pacotes q eu marquei para um link adsl e simplesmente nao vai. mas veja soh. olhando pelo tcpdump o pacote sai da minha rede e retorna normalmente.

Segue minha conf no fw:

EXTERNAL_INTERFACE="eth0" # Interface para internet
LOOPBACK_INTERFACE="lo" # Interface local
LOCAL_INTERFACE_1="eth1" # Interface para rede interna
ADSL_INTERFACE="eth2" # interface para adsl

IPADDRADSL="10.1.1.3" # Rede adsl
IPADDR="200.247.xxx.x" # seu ip valido
LOCALNET_1="192.168.1.0/24" # Rede interna
ADSLNET_1="10.1.1.0/24" # Rede interna


iptables -t nat -A POSTROUTING -o $EXTERNAL_INTERFACE \
-j SNAT --to-source $IPADDR
iptables -t nat -A POSTROUTING -o $ADSL_INTERFACE \
-j SNAT --to-source $IPADDRADSL

#iptables -t mangle -A PREROUTING -i $LOCAL_INTERFACE_1 -p tcp --dport 25 -j MARK --set-mark 2
#iptables -t mangle -A PREROUTING -i $LOCAL_INTERFACE_1 -p tcp --dport 80 -j MARK --set-mark 2
#iptables -t mangle -A PREROUTING -i $LOCAL_INTERFACE_1 -p tcp --dport 110 -j MARK --set-mark 2
#iptables -t mangle -A PREROUTING -i $LOCAL_INTERFACE_1 -p tcp --dport 443 -j MARK --set-mark 2
#iptables -t mangle -A OUTPUT -p tcp --dport 25 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -p tcp --dport 110 -j MARK --set-mark 2
iptables -t mangle -A OUTPUT -p icmp -j MARK --set-mark 2

no momento estou testando apenas com o ping direto do meu servidor. mas mesmo a 110 nao vai

conf do iproute2:

ip rule add fwmark 2 table 20 prio 20
ip route add default via 10.1.1.1 dev eth2 table 20
ip route flush cache


agora vejam soh.
quando eu pingo ele joga pro link do adsl. mas o ping fica parado no console

root@internet:/etc/rc.d> ping 200.215.118.33
PING 200.215.118.33 (200.215.118.33) 56(84) bytes of data.

mas pelo tcpdump mostra isso:

14:32:31.616731 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto 1, length: 84) 10.1.1.3 > 200-215-118-33.netuno.com.br: icmp 64: echo request seq 0
14:32:31.638260 IP (tos 0x0, ttl 252, id 0, offset 0, flags [DF], proto 1, length: 84) 200-215-118-33.netuno.com.br > 10.1.1.3: icmp 64: echo reply seq 0
14:32:32.616169 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto 1, length: 84) 10.1.1.3 > 200-215-118-33.netuno.com.br: icmp 64: echo request seq 1
14:32:32.643939 IP (tos 0x0, ttl 252, id 0, offset 0, flags [DF], proto 1, length: 84) 200-215-118-33.netuno.com.br > 10.1.1.3: icmp 64: echo reply seq 1
14:32:33.615938 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto 1, length: 84) 10.1.1.3 > 200-215-118-33.netuno.com.br: icmp 64: echo request seq 2
14:32:33.636064 IP (tos 0x0, ttl 252, id 0, offset 0, flags [DF], proto 1, length: 84) 200-215-118-33.netuno.com.br > 10.1.1.3: icmp 64: echo reply seq 2
14:32:34.615785 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto 1, length: 84) 10.1.1.3 > 200-215-118-33.netuno.com.br: icmp 64: echo request seq 3
14:32:34.636816 IP (tos 0x0, ttl 252, id 0, offset 0, flags [DF], proto 1, length: 84) 200-215-118-33.netuno.com.br > 10.1.1.3: icmp 64: echo reply seq 3
14:32:35.615647 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto 1, length: 84) 10.1.1.3 > 200-215-118-33.netuno.com.br: icmp 64: echo request seq 4
14:32:35.636852 IP (tos 0x0, ttl 252, id 0, offset 0, flags [DF], proto 1, length: 84) 200-215-118-33.netuno.com.br > 10.1.1.3: icmp 64: echo reply seq 4

testando a 110

root@internet:/etc/rc.d> telnet pop3.netuno.com.br 110
Trying 200.215.118.13...

logue do tcpdump

14:39:20.217456 IP (tos 0x10, ttl 64, id 35732, offset 0, flags [DF], proto 6, length: 60) 10.1.1.3.35100 > pop3.netuno.com.br.pop3: S [tcp sum ok] 1956261808:1956261808(0) win 5840 <mss 1460,sackOK,timestamp 5022756 0,nop,wscale 2>
14:39:20.235192 IP (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto 6, length: 60) pop3.netuno.com.br.pop3 > 10.1.1.3.35100: S [tcp sum ok] 2005468413:2005468413(0) ack 1956261809 win 5792 <mss 1412,sackOK,timestamp 1541725037 5022756,nop,wscale 2>
14:39:23.216555 IP (tos 0x10, ttl 64, id 35734, offset 0, flags [DF], proto 6, length: 60) 10.1.1.3.35100 > pop3.netuno.com.br.pop3: S [tcp sum ok] 1956261808:1956261808(0) win 5840 <mss 1460,sackOK,timestamp 5025756 0,nop,wscale 2>
14:39:23.236712 IP (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto 6, length: 60) pop3.netuno.com.br.pop3 > 10.1.1.3.35100: S [tcp sum ok] 2005468413:2005468413(0) ack 1956261809 win 5792 <mss 1412,sackOK,timestamp 1541728039 5022756,nop,wscale 2>
14:39:23.921612 IP (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto 6, length: 60) pop3.netuno.com.br.pop3 > 10.1.1.3.35100: S [tcp sum ok] 2005468413:2005468413(0) ack 1956261809 win 5792 <mss 1412,sackOK,timestamp 1541728723 5022756,nop,wscale 2>
14:39:29.920736 IP (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto 6, length: 60) pop3.netuno.com.br.pop3 > 10.1.1.3.35100: S [tcp sum ok] 2005468413:2005468413(0) ack 1956261809 win 5792 <mss 1412,sackOK,timestamp 1541734723 5022756,nop,wscale 2>


como podem ver o ping sai da minha e rede e parece q esta retornando. mas simplesmente o ping fica parado. se eu desviar a porta 110 pra sair pro adsl e der um telnet pro servidor na porta 110 tambem fica parado.

alguem pode me dar uma luz?