Deixe-me começar por declarar meu objetivo final: quando o tráfego chegar em um endereço IP específico, se o servidor não estiver ativado, ative-o com o Wake On Lan. Estou usando um roteador TP-Link Archer C7 v2 com DD-WRT instalado com o build r30709.
- WOL funciona
- Registrando o tráfego da LAN em port works (via regra iptables)
- Fazendo ping do servidor a partir do script para ver se há após a análise para trabalhos de entrada de log personalizados
- enviando trabalhos WOL do script
- O registro do tráfego da WAN NÃO funciona (via regra iptables)
Agora, pelo que vi sobre o DD-WRT, muitas pessoas parecem criar VLANs quando fazem algo assim. Meu roteador é baseado em Atheros, e o DD-WRT supostamente não suporta VLAN para roteadores Atheros, embora muitas pessoas pareçam ter conseguido trabalhar neste roteador (eles não postam instruções online).
Atualmente, estou pesquisando uma maneira de configurar a porta no roteador em que o servidor está conectado em sua própria VLAN, mas até agora sem sorte.
Aqui estão minhas duas regras do iptables:
#this works
iptables -I FORWARD -i br0 -p tcp --dport 32400 -m state --state NEW -j LOG --log-prefix "PLEX LAN Connection "
# this does not work
iptables -I FORWARD -i eth0 -p tcp --dport 32400 -m state --state NEW -j LOG --log-prefix "PLEX WAN Connection "
# this does not work either (dd-wrt.com says vlan2 is the WAN interface)
iptables -I FORWARD -i vlan2 -p tcp --dport 32400 -m state --state NEW -j LOG --log-prefix "PLEX WAN Connection "
Isso é algo que pode ser corrigido com apenas iptables? Porque não consigo fazer com que o iptables registre conexões WAN de entrada nessa porta para / var / log / messages. Presumi que não estava escrevendo no log porque não está em sua própria VLAN.
Atualização 1
Por favor, note que tentei usar eth0
em vez de vlan2
, mas o mesmo resultado: nada no log. Eu até removi -i <interface>
todos juntos nas duas regras, mas nunca em tráfego da WAN.
root@DD-WRT:~# ip a
root@DD-WRT:~# ip ro
default via pu.bl.ic.1 dev eth0
pu.bl.ic.0/24 dev eth0 proto kernel scope link src pu.bl.ic.ip
127.0.0.0/8 dev lo scope link
169.254.0.0/16 dev br0 proto kernel scope link src 169.254.255.1
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1
De acordo com o site do DD-WRT, vlan2
deve representar a interface lógica para a WAN.
Atualização 2
Eu notei que o IP de destino está incorreto. Deve estar indo para 192.168.1.2 mas vai para 192.168.0.10. Isso não é uma LAN válida:
Oct 4 20:47:35 DD-WRT kern.warn kernel: [114429.460000] PLEX LAN Connection IN=br0 OUT=eth0 MAC=XXXXXXXXXXXXXXXXXXX SRC=192.168.1.133 DST=192.168.0.10 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=45163 DF PROTO=TCP SPT=4644
Tentei isso como a única regra por sugestão abaixo:
iptables -A FORWARD -p tcp --dport 32400 -m limit --limit 50/min -j LOG --log-prefix "CHECK INTERFACES"
Ainda nada no log; parou de registrar conexões LAN também.
Atualização 3
root@DD-WRT:/tmp/var/log# iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 2742 packets, 395K bytes)
pkts bytes target prot opt in out source destination
13 764 DNAT tcp -- * * 0.0.0.0/0 pu.bl.ic.ip tcp dpt:14619 to:192.168.1.2:32400
0 0 DNAT icmp -- * * 0.0.0.0/0 pu.bl.ic.ip to:192.168.1.1
4 232 DNAT tcp -- * * 0.0.0.0/0 pu.bl.ic.ip tcp dpt:22709 to:192.168.1.2:32400
220 19942 TRIGGER 0 -- * * 0.0.0.0/0 pu.bl.ic.ip TRIGGER type:dnat match:0 relate:0
Chain INPUT (policy ACCEPT 30145 packets, 2802K bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 253 packets, 21491 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 260 packets, 21863 bytes)
pkts bytes target prot opt in out source destination
1065 67674 SNAT 0 -- * eth0 192.168.1.0/24 0.0.0.0/0 to:pu.bl.ic.ip
10 624 MASQUERADE 0 -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x80000000/0x80000000