- PR -

iptablesでLinuxルータを作る方法

1
投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2008-07-09 12:37
 お世話になっております。
CentOS5でiptablesを使用して下記の構成のようなLinuxルータを作成したいと思います。
まずは最低限フィルタなしで、[クライアント1]から[クライアント2]へPingが飛ぶということを実現しようとしています。

 最低限Pingを通すには何が足りませんでしょうか。
何卒ご教授のほどよろしくお願い申し上げます。

【構成】************************************************

[クライアント1]Win2000Pro
  |192.168.226.6/24
  |
  |eth0:192.168.226.233/24
[CentOS5]
  |eth1:10.45.12.1/22
  |
  |10.45.14.20/22
[クライアント2]Win2000Pro
********************************************************

【設定】************************************************
■CentOS5
[root@gwsv ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1E:C9:52:6A:B5
inet addr:192.168.226.233 Bcast:192.168.226.255 Mask:255.255.255.0
inet6 addr: fe80::21e:c9ff:fe52:6ab5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:500 errors:0 dropped:0 overruns:0 frame:0
TX packets:141 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:59940 (58.5 KiB) TX bytes:26358 (25.7 KiB)
Interrupt:50

eth1 Link encap:Ethernet HWaddr 00:1B:21:1B:1B:64
inet addr:10.45.12.1 Bcast:10.45.15.255 Mask:255.255.252.0
inet6 addr: fe80::21b:21ff:fe1b:1b64/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:32539 (31.7 KiB)
Base address:0x3400 Memory:d0140000-d0160000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)


[root@gwsv]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=gwsv.test.jp


[root@gwsv]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.226.0 * 255.255.255.0 U 0 0 0 eth0
10.45.12.0 * 255.255.252.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1

[root@gwsv]# getenforce
Disabled
[root@gwsv]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


■クライアント1
IP:192.168.226.6
mask:255.255.255.0
gw:192.168.226.233

■クライアント2
IP:10.45.14.20
mask:255.255.252.0
gw:10.45.12.1

********************************************************

【実験結果】********************************************

1.[クライアント1]から[CentOS5]のeth0にpingが通ります。
同じくeth1にもpingが通りました。
しかし[クライアント2]までは通りません。


2.[クライアント2]から[CentOS5]のeth1にpingが通ります。
同じくeth0にもpingが通りました。
しかし[クライアント1]までは通りません。

3.[CentOS5]から[クライアント1]、[クライアント2]ともにpingが通ります。

********************************************************
progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 2008-07-09 13:09
タイトルにもあるiptablesの設定はどうなってますか?

それと
cat /proc/sys/net/ipv4/ip_forward
だったとおもうのですが、この内容も
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2008-07-09 13:21
 お世話になります。
ご返答ありがとうございます。

# echo 1 > /proc/sys/net/ipv4/ip_forward

としましても

# service network restart

で/proc/sys/net/ipv4/ip_forward
の内容が0に戻ってしまっておりました。

そこで

/etc/sysctl.conf

net.ipv4.ip_forward = 1
と書き換えてリスタートするとうまくいきました!

ありがとうございました。

1

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