[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:28523] iptables 特定のサイトに接続できない
こんにちは。島田です。
症状は、Windows 2000 からはたいがいのホストに接続できるのですが、一部、
特定のサイトに接続できません。たとえば、以下のサイトです。
http://ron5092.tripod.com/
http://www.toei.co.jp/
http://homepage2.nifty.com/
http://www.tv-asahi.co.jp/
Linux マシンから lynx や telnet hoge 80 で接続すると、上記サイトにも接
続できます。
Windows 2000 の IE で接続しようとすると、「ページ http://hoge/ を開い
ています...」と出たきり、永遠そのままで、タイムアウトにもサイトが見つか
らないとも出ません(もっと粘って観察していれば出るのかも)。
プロバイダのサポートに連絡したら、プロバイダ側では上記サイトには正常に
ルーティングされていて、ページを表示できることは確認できているとのことで
した。
Google で検索してみて似たような症例、
http://search.luky.org/linux-users.8/msg01492.html
http://search.luky.org/linux-users.8/msg01494.html
が見つかり、IP: TCP Explicit Congestion Notification support を N にして
カーネルを再コンパイルしましたが、症状は変化ありませんでした。
もっとも、上記症例は、NAT BOX と LAN 内マシンとで表示できないページが
私の例と逆なのですが。
解決策はありますでしょうか。
よろしくお願いいたします。
以下の環境で使っています。
Debian: Woody
Kernel: 2.4.5 + Hedrick さんの IDE パッチ
(2.4.4 + Hedrick さんの IDE パッチでも同じ)
iptables 1.2.2-1
ppp 2.4.1-1
pppoe 3.0-1
フレッツ ADSL で次のように接続しています。
ISP ----- Linux ----------------- Windows 2000
DHCP 192.168.1.1 192.168.1.2
Global
Address
(ppp0) (eth0)
IP マスカレードの設定は以下のとおりです。
IFACE=ppp0
# Delete every chain.
iptables -F
# Setting policy.
iptables -P FORWARD ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Accept lo, eth0 interfaces.
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
# Drop illegular packets.
iptables -A INPUT -i $IFACE -s 192.168.1.0/24 -j DROP
# Accept ICMP's.
# ping
iptables -A INPUT -i $IFACE -p ICMP --icmp-type echo-reply -j ACCEPT
# All of TCP/UDP traffic.
iptables -A INPUT -i $IFACE -p ICMP --icmp-type destination-unreachable -j ACC
EPT
# ping
iptables -A INPUT -i $IFACE -p ICMP --icmp-type echo-request -j ACCEPT
# traceroute
iptables -A INPUT -i $IFACE -p ICMP --icmp-type time-exceeded -j ACCEPT
# Accept not SYN packets.
iptables -A INPUT -i $IFACE -p TCP ! --syn -j ACCEPT
# Logging denied packets from $IFACE.
iptables -A INPUT -i $IFACE -j LOG
iptables -A INPUT -i $IFACE -j DROP
# In the NAT table (-t nat), Append a rule (-A) after routing
# (POSTROUTING) for all packets going out $IFACE (-o $IFACE) which
# says to MASQUERADE the connection (-j MASQUERADE).
iptables -t nat -A POSTROUTING -o $IFACE -j MASQUERADE
# NAT code can't handle Windows 98 multicasting packets.
iptables -t mangle -I PREROUTING -j DROP -d 224.0.0.0/8
# Disallow NEW and INVALID incoming or forwarded packets from $IFACE.
iptables -A INPUT -i $IFACE -m state --state NEW,INVALID -j DROP
iptables -A FORWARD -i $IFACE -m state --state NEW,INVALID -j DROP
# Turn on IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
----------------------------------------------------------------------
Mail: shimaden@xxxxxxxxx
Home Page: http://www.din.or.jp/~shimaden/
島田博幸
Hiroyuki Shimada
----------------------------------------------------------------------