J'essaie de configurer un routeur dd-wrt pour qu'il serve de sous-réseau à des appareils arduino construits sur mesure.
L'idée est de faire en sorte que les routeurs LAN/WIFI soient ouverts aux dispositifs arduino et de n'autoriser le trafic à quitter le port WAN vers le LAN de l'entreprise que s'il s'agit du serveur de contrôle.
J'ai essayé d'appliquer les règles suivantes :
echo "allow all router connections"
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT
echo "allow all ping"
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "allow all ntp (time)"
iptables -A OUTPUT -p udp --dport 123 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --sport 123 -m state --state ESTABLISHED -j ACCEPT
echo "allow dns"
iptables -A OUTPUT -p udp -d 10.80.91.2 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -s 10.80.91.2 --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -d 10.80.91.2 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s 10.80.91.2 --sport 53 -m state --state ESTABLISHED -j ACCEPT
echo "allow webserver"
iptables -A OUTPUT -p tcp -d 10.80.91.2 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s 10.80.91.2 --sport 80 -m state --state ESTABLISHED -j ACCEPT
echo "drop everything else"
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
Malheureusement, à chaque fois que j'arrive à "iptables -A INPUT -j DROP", je perds ma connexion telnet au routeur, comme si toutes les règles que j'avais définies auparavant étaient ignorées.
C'est la première fois que j'utilise iptables et toutes les informations que je vois en ligne semblent indiquer que je le fais correctement.
Le routeur est un Linksys E2000 avec DD-WRT v24-sp2 (08/12/10) std-usb-ftp (révision SVN 14929).