Eu tenho um roteador sem fio Netgear WR703N com o OpenWRT 12.09 "Attitude Adjustment" conectado à rede Ethernet da minha escola, e nosso departamento de TI enviou e-mails alertando que está "transmitindo tráfego usando endereços IP diferentes dos atribuídos para seu uso" .
Para entender o problema, usei o WireShark (executado em um PC com duas interfaces Ethernet em ponte) para capturar todo o tráfego de e para a porta WAN do roteador.
O roteador está configurado para fornecer endereços DHCP em 172.31.252.0/24
para sua LAN. Durante esta sessão, seu endereço IP da WAN é 128.112.84.131
. O filtro de exibição foi definido como eth.addr == [WAN MAC address] and not (ip.addr == [WAN IP])
, para filtrar pacotes originados de (ou destinados à) interface WAN do meu roteador, mas que não contêm seu endereço IP da WAN. O resultado é o seguinte (endereços MAC reais editados):
No. Time Source Source MAC Destination Dest MAC Protocol Length Info
3721 110.017401000 0.0.0.0 Tp-LinkT_ff:ff:ff 255.255.255.255 Broadcast DHCP 393 DHCP Discover - Transaction ID 0x6f5ef88b
3726 110.021627000 128.112.133.220 Cisco_ee:ee:ee 128.112.85.26 Tp-LinkT_ff:ff:ff ICMP 98 Echo (ping) request id=0x07ea, seq=1917/32007, ttl=253
3727 110.021831000 128.112.84.1 Cisco_ee:ee:ee 128.112.85.26 Tp-LinkT_ff:ff:ff DHCP 436 DHCP Offer - Transaction ID 0x6f5ef88b
3728 110.022513000 0.0.0.0 Tp-LinkT_ff:ff:ff 255.255.255.255 Broadcast DHCP 405 DHCP Request - Transaction ID 0x6f5ef88b
13399 511.164980000 74.125.131.139 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 https > 60697 [RST] Seq=1 Win=0 Len=0
13406 511.174715000 74.125.131.188 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 hpvroom > 54853 [RST] Seq=1 Win=0 Len=0
13412 511.247461000 74.125.131.188 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 hpvroom > 54853 [RST] Seq=348 Win=0 Len=0
13415 511.459710000 74.125.131.139 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 https > 60697 [RST] Seq=1 Win=0 Len=0
13440 511.731825000 74.125.131.188 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 hpvroom > 54853 [RST] Seq=348 Win=0 Len=0
13487 512.052710000 74.125.131.139 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 https > 60697 [RST] Seq=1 Win=0 Len=0
13493 512.122466000 74.125.131.188 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 hpvroom > 54853 [RST] Seq=348 Win=0 Len=0
13500 512.159712000 74.125.131.139 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 https > 60697 [RST] Seq=1 Win=0 Len=0
13537 512.522715000 100.145.36.223 Tp-LinkT_ff:ff:ff 74.125.131.188 Cisco_ee:ee:ee TCP 93 [TCP ACKed unseen segment] 54853 > hpvroom [FIN, PSH, ACK] Seq=1 Ack=348 Win=1357 Len=27 TSval=734000 TSecr=2909129314
13544 512.674464000 100.145.36.223 Tp-LinkT_ff:ff:ff 74.125.131.188 Cisco_ee:ee:ee TCP 189 [TCP Retransmission] 54853 > hpvroom [FIN, PSH, ACK] Seq=4294967201 Ack=348 Win=1357 Len=123 TSval=734016 TSecr=2909129314
13591 512.927091000 74.125.131.188 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 hpvroom > 54853 [RST] Seq=349 Win=0 Len=0
13602 513.258968000 74.125.131.139 Tp-LinkT_ff:ff:ff 100.145.36.223 Cisco_ee:ee:ee TCP 54 https > 60697 [RST] Seq=1 Win=0 Len=0
13642 514.640598000 100.145.36.223 Tp-LinkT_ff:ff:ff 74.125.131.188 Cisco_ee:ee:ee TCP 189 [TCP ACKed unseen segment] [TCP Retransmission] 54853 > hpvroom [FIN, PSH, ACK] Seq=4294967201 Ack=349 Win=1357 Len=123 TSval=734212 TSecr=2909130121
18007 685.005464000 Cisco_ee:ee:ee Cisco_ee:ee:ee Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff ARP 60 Who has 128.112.84.131? Tell 128.112.84.1
18008 685.005643000 Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff Cisco_ee:ee:ee Cisco_ee:ee:ee ARP 60 128.112.84.131 is at ec:88:8f:ff:ff:ff
18012 685.136301000 Cisco_ee:ee:ee Cisco_ee:ee:ee Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff ARP 60 Who has 128.112.85.26? Tell 128.112.84.1
18116 689.070537000 58.17.52.14 Cisco_ee:ee:ee 128.112.85.26 Tp-LinkT_ff:ff:ff ICMP 78 Echo (ping) request id=0x300c, seq=0/0, ttl=40
19496 745.150864000 Cisco_ee:ee:ee Cisco_ee:ee:ee Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff ARP 60 Who has 128.112.85.26? Tell 128.112.84.1
30283 1224.998095000 Cisco_ee:ee:ee Cisco_ee:ee:ee Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff ARP 60 Who has 128.112.84.131? Tell 128.112.84.1
30284 1224.998246000 Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff Cisco_ee:ee:ee Cisco_ee:ee:ee ARP 60 128.112.84.131 is at ec:88:8f:ff:ff:ff
42190 1732.009084000 100.185.169.31 Tp-LinkT_ff:ff:ff 103.7.31.151 Cisco_ee:ee:ee TCP 54 58291 > https [FIN, ACK] Seq=1 Ack=1 Win=1357 Len=0
42285 1733.097086000 100.185.169.31 Tp-LinkT_ff:ff:ff 103.7.31.151 Cisco_ee:ee:ee TCP 54 [TCP Retransmission] 58291 > https [FIN, ACK] Seq=1 Ack=1 Win=1357 Len=0
42347 1735.277968000 100.185.169.31 Tp-LinkT_ff:ff:ff 103.7.31.151 Cisco_ee:ee:ee TCP 54 [TCP Retransmission] 58291 > https [FIN, ACK] Seq=1 Ack=1 Win=1357 Len=0
43141 1764.992183000 Cisco_ee:ee:ee Cisco_ee:ee:ee Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff ARP 60 Who has 128.112.84.131? Tell 128.112.84.1
43142 1764.992460000 Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff Cisco_ee:ee:ee Cisco_ee:ee:ee ARP 60 128.112.84.131 is at ec:88:8f:ff:ff:ff
55031 2304.982717000 Cisco_ee:ee:ee Cisco_ee:ee:ee Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff ARP 60 Who has 128.112.84.131? Tell 128.112.84.1
55032 2304.982956000 Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff Cisco_ee:ee:ee Cisco_ee:ee:ee ARP 60 128.112.84.131 is at ec:88:8f:ff:ff:ff
70170 2844.995066000 Cisco_ee:ee:ee Cisco_ee:ee:ee Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff ARP 60 Who has 128.112.84.131? Tell 128.112.84.1
71453 2904.997024000 Cisco_ee:ee:ee Cisco_ee:ee:ee Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff ARP 60 Who has 128.112.84.131? Tell 128.112.84.1
72688 2964.972284000 Cisco_ee:ee:ee Cisco_ee:ee:ee Tp-LinkT_ff:ff:ff Tp-LinkT_ff:ff:ff ARP 60 Who has 128.112.84.131? Tell 128.112.84.1
Como pode ser visto, os pacotes 13399-13642 e 42190-42347 realmente se originaram do meu roteador e possuem um IP de origem diferente do IP da WAN atribuído. Ambas as rajadas de pacotes foram acionadas quando meu telefone Android, estando conectado a uma rede sem fio diferente, mudou para a rede sem fio do roteador . (Essa outra rede sem fio atribui IPs de 10.8.*.*
.) Na segunda vez em que aconteceu, eu estava olhando para o telefone e notei que as barras de sinal piscaram brevemente "H" quando a conexão WiFi está sendo estabelecida, então parece que o telefone conectado à rede de dados de celular por uma fração de segundo ao trocar de redes WiFi.
Eu também tentei alternar entre a rede sem fio do roteador, outra rede sem fio e o celular de diferentes maneiras, mas não posso acionar os pacotes inválidos de maneira confiável.
Depois de ler algumas fontes on-line sobre "vazamento de NAT", coloquei o seguinte comando no meu script de firewall antes da captura e verifiquei sua presença em iptables -t filter -L
, mas isso não ajudou.
iptables -t filter -I FORWARD -o wan -m conntrack --ctstate INVALID -j DROP
Então, minhas perguntas são:
Como e por que isso aconteceu? De onde vêm esses pacotes? Como devo investigar isso mais?
Como evito que esses pacotes saiam da interface da WAN?
Por favor, diga-me se você precisar de mais informações.
Tags networking android router nat openwrt