• 締切済み

iptablesの設定について

IISとApachのテストサイトを構築しています。 LINUXマシンにNICを2枚差し、 インターネット側:FW-OUT(eth0) プライベート側:FW-IN(eth1) WEBサイトの仮想アドレスとして、 V_WEB(eth0:1) V_WIN2K(eth0:2) MAINTマシンからPINGは172.32.0.0は通るのですが、 当該マシンから両WEBページが閲覧できません。 記述は、 http://www.atmarkit.co.jp/flinux/rensai/security03/security03a.html を参考に変更しました。 何か手がかりがあればお願いします。 #!/bin/sh # # Define IP Address FW_OUT='172.32.0.100' FW_IN='192.168.0.1' V_WEB='172.32.0.10' V_WIN2K='172.32.0.20' R_WEB='192.168.0.10' R_WIN2K='192.168.0.20' MAINT='172.32.0.150' ANY='0.0.0.0' # # Flush chains /sbin/iptables -F # /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -P OUTPUT DROP # /sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT /sbin/iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # /sbin/iptables -A OUTPUT -p icmp -s $FW_OUT --icmp-type 0 -d $MAINT -j ACCEPT /sbin/iptables -A INPUT -p icmp -s $MAINT --icmp-type 8 -d $FW_OUT -j ACCEPT # /sbin/iptables -A OUTPUT -p icmp -s $V_WEB --icmp-type 0 -d $MAINT -j ACCEPT /sbin/iptables -A INPUT -p icmp -s $MAINT --icmp-type 8 -d $V_WEB -j ACCEPT /sbin/iptables -A OUTPUT -p icmp -s $V_WIN2K --icmp-type 0 -d $MAINT -j ACCEPT /sbin/iptables -A INPUT -p icmp -s $MAINT --icmp-type 8 -d $V_WIN2K -j ACCEPT # /sbin/iptables -A INPUT -p icmp -s $MAINT --icmp-type 0 -d $V_WEB -j ACCEPT /sbin/iptables -A OUTPUT -p icmp -s $V_WEB --icmp-type 8 -d $MAINT -j ACCEPT /sbin/iptables -A INPUT -p icmp -s $MAINT --icmp-type 0 -d $V_WIN2K -j ACCEPT /sbin/iptables -A OUTPUT -p icmp -s $V_WIN2K --icmp-type 8 -d $MAINT -j ACCEPT # /sbin/iptables -A INPUT -p TCP -s $MAINT --dport 22 -d $FW_OUT -i eth0 -j ACCEPT /sbin/iptables -A OUTPUT -p TCP ! --syn --sport 22 -s $FW_OUT -d $MAINT -o eth0 -j ACCEPT # /sbin/iptables -A FORWARD -p TCP -s $ANY --dport 80 -d $R_WEB -j ACCEPT /sbin/iptables -A FORWARD -p TCP ! --syn -m state --state ESTABLISHED --sport 80 -s $R_WEB -d $ANY -j ACCEPT # /sbin/iptables -A FORWARD -p TCP -s $ANY --dport 443 -d $R_WEB -j ACCEPT /sbin/iptables -A FORWARD -p TCP ! --syn -m state --state ESTABLISHED --sport 443 -s $R_WEB -d $ANY -j ACCEPT # /sbin/iptables -A FORWARD -p TCP -s $ANY --dport 80 -d $R_WIN2K -j ACCEPT /sbin/iptables -A FORWARD -p TCP ! --syn -m state --state ESTABLISHED --sport 80 -s $R_WIN2K -d $ANY -j ACCEPT # /sbin/iptables -A FORWARD -p TCP -s $ANY --dport 135 -d $R_WIN2K -j ACCEPT /sbin/iptables -A FORWARD -p TCP ! --syn -m state --state ESTABLISHED --sport 135 -s $R_WIN2K -d $ANY -j ACCEPT /sbin/iptables -A FORWARD -p TCP -s $ANY --dport 137 -d $R_WIN2K -j ACCEPT /sbin/iptables -A FORWARD -p TCP ! --syn -m state --state ESTABLISHED --sport 137 -s $R_WIN2K -d $ANY -j ACCEPT /sbin/iptables -A FORWARD -p TCP -s $ANY --dport 138 -d $R_WIN2K -j ACCEPT /sbin/iptables -A FORWARD -p TCP ! --syn -m state --state ESTABLISHED --sport 138 -s $R_WIN2K -d $ANY -j ACCEPT /sbin/iptables -A FORWARD -p TCP -s $ANY --dport 139 -d $R_WIN2K -j ACCEPT /sbin/iptables -A FORWARD -p TCP ! --syn -m state --state ESTABLISHED --sport 139 -s $R_WIN2K -d $ANY -j ACCEPT /sbin/iptables -A FORWARD -p TCP -s $ANY --dport 445 -d $R_WIN2K -j ACCEPT /sbin/iptables -A FORWARD -p TCP ! --syn -m state --state ESTABLISHED --sport 445 -s $R_WIN2K -d $ANY -j ACCEPT # # Flush Nat Rules # /sbin/iptables -t nat -F # # Nat Rules # /sbin/iptables -t nat -A POSTROUTING -s $R_WEB -o eth0 -p TCP -j SNAT --to $V_WEB /sbin/iptables -t nat -A POSTROUTING -s $R_WIN2K -o eth0 -p TCP -j SNAT --to $V_WIN2K # # End Of Rules [root@firewall FW]#

みんなの回答

  • aigaion
  • ベストアンサー率47% (287/608)
回答No.1

INPUT は iptables を設定しているマシンに対する内向きのパケットに対する設定 OUTPUT は iptables を設定しているマシンに対する外向きのパケットに対する設定 FORWARD は iptables を設定しているマシンが受け取らずに他に転送するパケットに対する設定 WEBサーバはiptablesを設定しているマシンにあるのですから、ファイアウォールの設定はINPUT chain に対して行うべきです。 あなたの設定だとなぜかFORWARD chain に設定してしまっているので正しく動作しません。

yt990428
質問者

補足

aigaionさん アドバイスありがとうございます。 >WEBサーバはiptablesを設定しているマシンにあるのですから、ファイアウォールの設定はINPUT chain に対して行うべきです。 環境ですが、iptablesの設定マシンとWEBサーバはVMですが、別仕立てです。 iptablesマシンでNATでIP変換させたいと考えています。 アドバイスいただきましたことはもう一度見直し確認してみます。

関連するQ&A