Permettez-moi de commencer en indiquant mon objectif final : lorsque le trafic arrive sur une adresse IP spécifique, si le serveur est éteint, l'allumer avec Wake On Lan. J'utilise un routeur TP-Link Archer C7 v2 avec DD-WRT installé avec la version r30709.
- WOL fonctionne
- Le journal du trafic LAN sur le port fonctionne (via une règle iptables)
- Pinger le serveur depuis le script pour vérifier s'il est allumé après l'analyse d'une entrée de journal personnalisée fonctionne
- L'envoi de WOL fonctionne depuis le script
- Le journal du trafic WAN ne fonctionne PAS (via une règle iptables)
D'après ce que j'ai vu sur DD-WRT, beaucoup de gens semblent créer des VLAN lorsqu'ils font quelque chose comme ça. Mon routeur est basé sur Atheros, et DD-WRT ne semble pas prendre en charge les VLAN pour les routeurs Atheros, bien que beaucoup de gens semblent l'avoir fait fonctionner sur ce routeur (ils ne publient pas les instructions en ligne).
Je suis actuellement en train de rechercher un moyen de configurer le port sur le routeur auquel le serveur est connecté sur son propre VLAN, mais jusqu'à présent, sans succès.
Voici mes deux règles iptables :
# cela fonctionne
iptables -I FORWARD -i br0 -p tcp --dport 32400 -m state --state NEW -j LOG --log-prefix "CONNEXION LAN PLEX "
# cela ne fonctionne pas
iptables -I FORWARD -i eth0 -p tcp --dport 32400 -m state --state NEW -j LOG --log-prefix "CONNEXION WAN PLEX "
# cela ne fonctionne pas non plus (dd-wrt.com dit que vlan2 est l'interface WAN)
iptables -I FORWARD -i vlan2 -p tcp --dport 32400 -m state --state NEW -j LOG --log-prefix "CONNEXION WAN PLEX "
Est-ce quelque chose qui peut être corrigé uniquement avec iptables ? Parce que je n'arrive pas à faire en sorte que iptables journalise les connexions WAN entrantes sur ce port vers /var/log/messages. J'ai supposé que ce n'écrivait pas dans le journal parce que cela ne se situe pas sur son propre VLAN.
Mise à jour 1
Veuillez noter que j'ai essayé d'utiliser eth0
au lieu de vlan2
, mais même résultat : rien dans le journal. J'ai même supprimé -i
entièrement dans les deux règles, mais jamais rien sur le trafic 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
Selon le site web de DD-WRT, vlan2
est censé représenter l'interface logique pour le WAN.
Mise à jour 2
J'ai remarqué que l'adresse IP de destination est incorrecte. Cela devrait aller à 192.168.1.2 mais cela va à 192.168.0.10. Ce n'est pas du tout un LAN valide :
Oct 4 20:47:35 DD-WRT kern.warn kernel: [114429.460000] CONNEXION LAN PLEX 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
J'ai essayé cela comme seule règle selon la suggestion ci-dessous :
iptables -A FORWARD -p tcp --dport 32400 -m limit --limit 50/min -j LOG --log-prefix "VÉRIFIER LES INTERFACES"
Toujours rien dans le journal ; arrêt de la journalisation des connexions LAN également.
Mise à jour 3
root@DD-WRT:/tmp/var/log# iptables -t nat -L -n -v
Chaîne PREROUTING (politique ACCEPTER 2742 paquets, 395K octets)
paquets octets cible 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
Chaîne INPUT (politique ACCEPTER 30145 paquets, 2802K octets)
paquets octets cible prot opt in out source destination
Chaîne OUTPUT (politique ACCEPTER 253 paquets, 21491 octets)
paquets octets cible prot opt in out source destination
Chaîne POSTROUTING (politique ACCEPTER 260 paquets, 21863 octets)
paquets octets cible 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