我试图设置dd-wrt路由器作为一些定制的arduino设备的子网。
这个想法是让路由器LAN / WIFI向Arduino设备开放,并且只允许交换机将WAN端口留给公司LAN(如果是控制服务器的话)。
我试图应用以下规则:
回声“允许所有路由器连接” iptables -A INPUT -s 127.0.0.1 -j ACCEPT iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT 回声“允许所有ping” iptables -A OUTPUT -p icmp -m状态 - 状态NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT 回声“允许所有ntp(时间)” 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 回声“允许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 回声“允许networking服务器” 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 回声“放下一切” iptables -A INPUT -j DROP iptables -A OUTPUT -j DROP iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP
不幸的是,每当我到达“iptables -A INPUT -j DROP”时,我就像我之前设置的所有规则一样忽略了我的telnet连接。
这是我第一次使用iptables和所有在网上看到的信息似乎表明我正确地做。
路由器是Linksys E2000,DD-WRT v24-sp2(08/12/10)std-usb-ftp(SVN版本14929)。
您已经不允许在连接中使用已build立的连接types。 这就是为什么当你添加最后一行时连接断开了。
你会想要这样一行:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
这就是说,防火墙应该允许已经build立和正在工作的连接。 (即通过防火墙中的所有其他规则。)
这就是说,你还需要一个规则来允许ssh进入,例如:
-A INPUT -s <source> -p tcp -m state --state NEW -m tcp --dport ssh -j ACCEPT
这告诉防火墙允许启动 ssh连接。
希望这可以帮助。
PS我将不得不检查,但“P”线(最后三),你不应该使用,因为我认为他们冲洗桌子。 但是我不得不重新检查一下。