- - PR -
Red Hat Linux 9 で ルーター
1|2|3
次のページへ»
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-05-14 23:17
お世話になります。
@ITのログにも私と同じ悩みの方がおりましたが そのログを元に作業してもどうしてもできないことがあります。 Flet's ADSL 8M で DHCPサーバたてiptableによる設定も行いました。 Linuxルータからはインターネットへつながりますが クライアントマシンからはサーバにはつながりますが外のインターネットへは 行くことができません。 ネットワーク構成は Internet | ---------- | eth0 | | | <--Red Hat Linux 9(ルータマシン) | eth1 | ---------- | --------------- | クライアント| <-- Windows XP --------------- です。 eth0にはグローバルIPを eth1にはプライベートIPをふってます。 -eth0- DEVICE=eth0 ONBOOT=no -eth1- DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.0.1 NETMAST=255.255.255.0 NETWORK=192.168.0.0 BROADCAST=192.168.0.255 /etc/sysconfig/network NETWORKING=yes FORWARD_IPV4 HOSTNAME=****** GATEWAYDEC=eth0 IPTABLEの設定は #!/bin/sh ################################################################# ## 環境設定 ## ## iptablesのパス IPTABLES="/sbin/iptables" ## 内部ネットワークにつながるネットワークインターフェイス FW_IN="eth1" ## 外部ネットワーク(インターネット)につながるインターフェイス FW_OUT="eth0" ## 家庭内ネットワークのIPアドレス ## "ネットワークアドレス/サブネットマスク"の形式で指定 INT_NET="192.168.0.0/24" ## チェーンの初期化 $IPTABLES -F $IPTABLES -X $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD DROP ################################################################# ## ローカルループバックからのパケットはすべて受け入れる $IPTABLES -A INPUT -i lo -j ACCEPT ## 内部ネットワークから内部向けインターフェイスへのパケットを受け入れる $IPTABLES -A INPUT -i $FW_IN -s $INT_NET -j ACCEPT $IPTABLES -A INPUT -s $INT_NET -i $FW_IN -j ACCEPT ################################################################# ## 外部からの接続を許さないIPアドレスを定義 ## 発信元がループバックアドレス、プライベートアドレスのパケットを破棄 $IPTABLES -A INPUT -i $FW_OUT -s 127.0.0.0/8 -j DROP $IPTABLES -A OUTPUT -o $FW_OUT -s 127.0.0.0/8 -j DROP $IPTABLES -A INPUT -i $FW_OUT -s 10.0.0.0/8 -j DROP $IPTABLES -A OUTPUT -o $FW_OUT -s 10.0.0.0/8 -j DROP $IPTABLES -A INPUT -i $FW_OUT -s 172.16.0.0/12 -j DROP $IPTABLES -A OUTPUT -o $FW_OUT -s 172.16.0.0/12 -j DROP ## 宛先がループバックアドレス、プライベートアドレスのパケットを破棄 $IPTABLES -A INPUT -i $FW_OUT -d 127.0.0.0/8 -j DROP $IPTABLES -A OUTPUT -o $FW_OUT -d 127.0.0.0/8 -j DROP $IPTABLES -A INPUT -i $FW_OUT -d 10.0.0.0/8 -j DROP $IPTABLES -A OUTPUT -o $FW_OUT -d 10.0.0.0/8 -j DROP $IPTABLES -A INPUT -i $FW_OUT -d 172.16.0.0/12 -j DROP $IPTABLES -A OUTPUT -o $FW_OUT -d 172.16.0.0/12 -j DROP ################################################################# ## Windowsネットワーク(NetBIOS over TCP/IP)の送信パケットを破棄 $IPTABLES -A OUTPUT -o $FW_OUT -p tcp --dport 137:139 -j DROP $IPTABLES -A OUTPUT -o $FW_OUT -p udp --dport 137:139 -j DROP $IPTABLES -A OUTPUT -o $FW_OUT -p tcp --dport 445 -j DROP $IPTABLES -A OUTPUT -o $FW_OUT -p udp --dport 445 -j DROP ################################################################# ## このLinuxマシンへの接続を受け入れるサービスを定義 ## FTP、SSH、SMTP、DNS、WWWを公開する例 # FTP $IPTABLES -A INPUT -i $FW_OUT -p tcp --dport 20 -j ACCEPT $IPTABLES -A INPUT -i $FW_OUT -p tcp --dport 21 -j ACCEPT # SSH $IPTABLES -A INPUT -i $FW_OUT -p tcp --dport 22 -j ACCEPT # SMTP $IPTABLES -A INPUT -i $FW_OUT -p tcp --dport 25 -j ACCEPT # DNS $IPTABLES -A INPUT -i $FW_OUT -p tcp --dport 53 -j ACCEPT $IPTABLES -A INPUT -i $FW_OUT -p udp --dport 53 -j ACCEPT # WWW $IPTABLES -A INPUT -i $FW_OUT -p tcp --dport 80 -j ACCEPT ################################################################# ## ICMPのパケットは受け入れる $IPTABLES -A INPUT -p icmp -j ACCEPT ## すでに接続されているものは受け入れる $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ################################################################# ## IPマスカレードの設定 ## natテーブルの初期化 $IPTABLES -F -t nat $IPTABLES -X -t nat $IPTABLES -t nat -A POSTROUTING -o $FW_OUT -s $INT_NET -j MASQUERADE $IPTABLES -A FORWARD -s $INT_NET -j ACCEPT $IPTABLES -A FORWARD -d $INT_NET -j ACCEPT ## IP転送を有効にする echo 1 > /proc/sys/net/ipv4/ip_forward と記述されたのスクリプトを実行しiptables-saveをし/etc/sysconfig/iptablesに保存しました。 大変長い書き込みとなりまして申し訳ありません。 ここ10日以上ルータ作成にとりかかっておりますが一行にできません。 皆様のお助けよろしくお願い申し上げます。 |
|
投稿日時: 2004-05-14 23:29
追記いたします。
DHCPの設定は以下の通りです。 ddns-update-style none; server-identifier ○○○.○○○; shared-network DHCP { option domain-name "○○○.○○○";<-server-identifierと同じ名前です。 option domain-name-servers **:.***.**.*, ***.***.**.*; ISPから指定されたアドレスです。 option subnet-mask 255.255.255.0; option routers 192.168.0.1; option broadcast-address 192.168.0.255; default-lease-time 28800; max-lease-time 864000; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.030; } } となっております。 |
|
投稿日時: 2004-05-15 00:04
確認ですが、iptable_natモジュールはロードされていますか?
_________________ |
|
投稿日時: 2004-05-15 00:09
ご返信ありがとうございます。
rc.localに modprobe iptables modprobe iptable_filter modprobe iptable_mangle modprobe iptable_nat modprobe ip_nat_ftp modprobe ip_nat_irc modprobe ip_conntrack_ftp modprobe ip_conntrack_irc と記述しておりますので読み込まれていると思います。 |
|
投稿日時: 2004-05-15 00:13
追記いたします。
lsmod | grep ipt で確認いたしましたところ ipt_state 1048 1 (autoclean) ipt_MASQUERADE 2200 2 (autoclean) iptable_nat 21720 3 (autoclean) [ip_nat_irc ip_nat_ftp ipt_MASQUERADE] ip_conntrack 26976 4 (autoclean) [ip_conntrack_irc ip_nat_irc ip_conntrack_ftp ip_nat_ftp ipt_state ipt_MASQUERADE iptable_nat] iptable_mangle 2776 0 (autoclean) (unused) iptable_filter 2412 1 (autoclean) ip_tables 15096 7 [ipt_state ipt_MASQUERADE iptable_nat iptable_mangleiptable_filter] と表示されました。 |
|
投稿日時: 2004-05-15 00:41
こんばんは〜。
PPPoE は、どこでやっていますか? (Internet とルータの間に何か挟んでます?) |
|
投稿日時: 2004-05-15 00:53
こんばんわ.
> -eth0- > DEVICE=eth0 > ONBOOT=no こまかいですが,ONBOOT=yes では? 具体的にどのようにつながらないのでしょう? IP が繋がらない? > ## IP転送を有効にする > echo 1 > /proc/sys/net/ipv4/ip_forward 手元に環境が無く確認できませんけど, これって /etc/sysconfig/iptables でなくて /etc/sysctl.conf に書くのでは? |
|
投稿日時: 2004-05-15 00:55
Internet
| ---------- | eth0 | | | |<--Red Hat Linux 9(ルータマシン) | eth1 | ---------- | --------------- | クライアント| <-- Windows XP --------------- お返事ありがとうございます。 ネットワーク構成は以上の通りです。 pppoeはeth0にやらせております。 internetからRed Hat の間にはしいて言うなら NTTからレンタルされたADSLモデムくらいです。 |
1|2|3
次のページへ»