fedora17での初期iptables
インストールした状態でwebサーバを立ち上げると、ローカルからだと接続できますが、外部からだと接続できません。宅内環境でしか使うことないので、いつもiptables -Fで接続していて、どのような設定かは気にしていませんでした。で、iptables -Lとしてみると、3行目の設定で何故接続できないのか。と・・・。
[root@localhost kitamura]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT udp -- anywhere 224.0.0.251 state NEW udp dpt:mdns REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destinationiptablesの設定初期ファイルは、/etc/sysconfig/iptablesです。iptables -Lの3行目の設定は、ローカルループバックインターフェースに対する設定だと言う事でした。外部からの接続も可能とするには、
- A INPUT -j REJECT --reject-with icmp-host-prohibitedの前に、
- A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPTとすれば良さそうです。
[root@localhost kitamura]# cat /etc/sysconfig/iptables # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m udp -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
補足
/etc/sysconfig/iptablesiptablesは、iptables -Sでも見ることができるようです。[root@localhost kitamura]# iptables -S -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -d 224.0.0.251/32 -p udp -m state --state NEW -m udp --dport 5353 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited
- A INPUT -m state --state NEW -m udp -p udp --dport 5353 -d 224.0.0.251 -j ACCEPは、マルチキャストDNSと言うものだそうです。名前からipを割り振るといった物で、windosのワークグループみたいな感じじゃないでしょうか?