- PR -

Red Hat Linux 9 で ルーター

投稿者投稿内容
one-sea
会議室デビュー日: 2004/05/14
投稿数: 11
お住まい・勤務地: 北海道
投稿日時: 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日以上ルータ作成にとりかかっておりますが一行にできません。
皆様のお助けよろしくお願い申し上げます。
one-sea
会議室デビュー日: 2004/05/14
投稿数: 11
お住まい・勤務地: 北海道
投稿日時: 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;
    }
}

となっております。
kalze
ぬし
会議室デビュー日: 2003/10/23
投稿数: 406
お住まい・勤務地: 東京・東京
投稿日時: 2004-05-15 00:04
確認ですが、iptable_natモジュールはロードされていますか?
_________________
one-sea
会議室デビュー日: 2004/05/14
投稿数: 11
お住まい・勤務地: 北海道
投稿日時: 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
と記述しておりますので読み込まれていると思います。
one-sea
会議室デビュー日: 2004/05/14
投稿数: 11
お住まい・勤務地: 北海道
投稿日時: 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/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-05-15 00:41
こんばんは〜。

PPPoE は、どこでやっていますか?
(Internet とルータの間に何か挟んでます?)
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 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 に書くのでは?
one-sea
会議室デビュー日: 2004/05/14
投稿数: 11
お住まい・勤務地: 北海道
投稿日時: 2004-05-15 00:55
Internet
|
----------
| eth0 |
| | |<--Red Hat Linux 9(ルータマシン)
| eth1 |
----------
|
---------------
| クライアント| <-- Windows XP
---------------

お返事ありがとうございます。
ネットワーク構成は以上の通りです。
pppoeはeth0にやらせております。
internetからRed Hat の間にはしいて言うなら
NTTからレンタルされたADSLモデムくらいです。

スキルアップ/キャリアアップ(JOB@IT)