[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:25603] Re: routing with Debian



柴田(あ)kです。

In message <20001203092924.B834413222@xxxxxxxxxxxxxxx>
   "[debian-users:25593] Re: routing with Debian"
   "Sun, 3 Dec 2000 18:25:52 +0900"
   "NISHI Kazuki <la3@xxxxxxxxxxxxxxxxx>" wrote:

> 西と申します。はじめまして。

早速の検討ありがとうございます。
当方にて実行してみたことをご報告申し上げます。

現在のところ希望通りの状態にはなっておりません。
どのへんをチェックすべきでしょうか?

再度確認の意味を込めて書きます。


【目的】
 Firewall を作る(できればカタめに)
ポリシ
・Intranet から外へは自由に出られる
・Internet 側からは Firewall を含めてその先へ
 アクセスできないようにする。


【問題】
下記ネットワークと設定にて intranet 側から外へ
routing されない。
現在は ping にて実験。


【状況】
■ネットワーク
  下記 hotate から ping を打っています。
 NTT
 ↑
 nv1
  | 192.168.1.1
  |               擬似的に internet 側としています。
  | 
  +-------------------------------------+ 
  |                                     |
  | 192.168.1.11                        | 192.168.1.3
 sanma                                 saba (slackware)
  | 192.168.20.1                        | 192.168.10.3
  |               intranet 側           |  運用中
  | 192.168.20.15                       | 192.168.10.9
 hotate                                katsuwo 
                               (katsuwo でこのメイルを書いています)

 ping の結果(hotate から)
  192.168.20.15	OK
  192.168.20.1	OK
  192.168.1.11	OK
  192.168.1.1	Fail

 ping の結果(sanma から)
  192.168.20.15	OK
  192.168.20.1	OK
  192.168.1.11	OK
  192.168.1.1	OK

 ping の結果(katsuwo から)(saba からも同じ)
  192.168.20.15	Fail
  192.168.20.1	Fail
  192.168.1.11	OK
  192.168.1.1	OK


■ sanma の設定 
help@sanma:~$ cat /etc/network/interfaces
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
iface lo inet loopback

# The first network card - this entry was created during the Debian installation
auto eth0
iface eth0 inet static
        address 192.168.1.11
        network 192.168.1.0
        netmask 255.255.255.0
        boradcast 192.168.1.255
        gateway 192.168.1.1
auto eth1
iface eth1 inet static
        address 192.168.20.1
        network 192.168.20.0
        netmask 255.255.255.0
        boradcast 192.168.20.255
help@sanma:~$ cat /etc/network/options
ip_forward=yes
spoofprotect=yes
syncookies=no


■ sanma の状態(ドメイン名が出てきますがインチキドメインです)
help@sanma:~$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.20.0    *               255.255.255.0   U         0 0          0 eth1
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0
default         nv1.naguri.sait 0.0.0.0         UG        0 0          0 eth0
help@sanma:~$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0     20 sanma.naguri.saitam:ssh saba.naguri.saita:64761 ESTABLISHED
tcp        0      0 *:ssh                   *:*                     LISTEN
udp        0      0 192.168.20.1:123        *:*
udp        0      0 sanma.naguri.saitam:123 *:*
udp        0      0 sanma:123               *:*
udp        0      0 *:123                   *:*
raw        0      0 *:icmp                  *:*                     7
raw        0      0 *:tcp                   *:*                     7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  0      [ ]         STREAM                   53
help@sanma:~$ cat /proc/sys/net/ipv4/ip_forward
1


■ここで気がついたこと
・ping を hotate から打っています。
 デフォルトのままなので約 1 秒に 1 回だと思います。
・saba および nv1 の LED が同じタイミングで点滅しています。
 →hotate からの ping は来ている?
  →何らかの理由で返事が返らない?
・ほかに約 1 秒に 1 回のパケット飛ばしをしているマシンは
 ありません。
・hotate からの ping を止めると saba および nv1 の
  LED の点滅はとまります。


■思い当たるフシ
・目的にも書きましたが、ややカタめの firewall を
 構築したいと思いましたので、想像できる限り
 ポートを閉じて、必要以外のサービスを停止しました。
 (下記 $ ps ax 参照、ポートの確認の仕方は知らないので
  まだチェックできていません。)
help@sanma:~$ ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        S      0:10 init [2]
    2 ?        SW     0:00 [kflushd]
    3 ?        SW     0:00 [kupdate]
    4 ?        SW     0:00 [kpiod]
    5 ?        SW     0:00 [kswapd]
  115 ?        S      0:00 /sbin/syslogd
  117 ?        S      0:01 /sbin/klogd
  125 ?        S      0:00 /usr/sbin/inetd
  136 ?        S      0:03 /usr/sbin/sshd
  141 ?        SL     0:00 /usr/sbin/ntpd
  146 tty2     S      0:00 /sbin/getty 38400 tty2
  147 tty3     S      0:00 /sbin/getty 38400 tty3
  155 tty1     S      0:00 /sbin/getty 38400 tty1
  156 ?        S      0:05 /usr/sbin/sshd
  157 pts/0    S      0:00 -bash
  181 pts/0    R      0:00 ps ax 
            −−−−−−−−−−−
                      ↑
                ここまでで全部です。
help@sanma:~$ cat /etc/services
# /etc/services:
-snip-
#ftp-data       20/tcp
#ftp            21/tcp
#fsp            21/udp          fspd
ssh             22/tcp                          # SSH Remote Login Protocol
ssh             22/udp                          # SSH Remote Login Protocol
#telnet         23/tcp
# 24 - private
#smtp           25/tcp          mail
-snip-
            −−−−−−−−−−−
                      ↑
          現在のところ ssh のみ有効としています。
help@sanma:~$ cat /etc/inittab
# /etc/inittab: init(8) configuration.

# The default runlevel.
id:2:initdefault:

# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS

# What to do in single-user mode.
~~:S:wait:/sbin/sulogin

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin

# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

# Action on special keypress (ALT-UpArrow).
kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."

# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop

# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
#  <id>:<runlevels>:<action>:<process>
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
            −−−−−−−−−−−
                      ↑
          getty の数を制限した以外は normal です。

ほかにもだいぶいじったような気がしますが、
routing に関係があるようなところで
どこをいじったか・・・
多分 /etc/network/* だけだと思うんですが。






−−−西さんのチェックで改善した部分 ↓↓↓

 
> 定番の確認事項として、
>     % cat /proc/sys/net/ipv4/ip_forward
>     1
> になってますか?

しっかり 0 になっており、

> debian的には、/etc/network/optionsで
>     ip_forward=yes
> と設定してあれば、okなはずです。

原因は 
/etc/network/options で ip_forward=no と
なっておりました。


> あと、書式面で、
> >■ sanma の設定 
> <略>
> ># The first network card - this entry was created during the Debian installation
> >auto eth0
> >iface eth0 inet static
> >        address 192.168.1.11
> >        network 192.168.1.0
> >        netmask 255.255.255.0
> >        boradcast 192.168.1.255
> >        up route add default gw 192.168.1.1
> >        down route add default gw 192.168.1.1
> <略>
> 
> up/down使ってはる様ですが、デフォルトgw指定するだけなら
> gateway ってオプション指定できますんで、それ使いましょう。
> man interfaces 参照。

実は man interfaces したのですが
その意味するところというか目的が理解できなくて。
なんとなくここの up と down が reboot しないでも
IP アドレスを変更できる(/etc/init.d/networking restart など)
秘密なのかなと思ったり。
 

> で、ちと気持ち悪かったのが、
> >help@hotate:~$ netstat -r
> >Kernel IP routing table
> >Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
> >192.168.20.0    *               255.255.255.0   U         0 0          0 eth1
> >192.168.1.0     *               255.255.255.0   U         0 0          0 eth0
> >default         192.168.20.1    0.0.0.0         UG        0 0          0 eth1
> >default         nv1.naguri.sait 0.0.0.0         UG        0 0          0 eth0
> 
> default二つあること。
> nv1(192.168.1.1)だけで良さそう。

あい、一つになりました。


> それに default 192.168.20.1 のルールが先に適用されたら、
> hotateからsanma通してnv1に投げられるべきパケットも、
> sanmaで停滞するかも?

NIC 毎に default gateway が必要かなとか思ったりして
よく考えたら slackware でも同じ事して、直したこと
ありました。
現 slackware の状況
saba:~$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
localnet        *               255.255.255.0   U      1500 0          0 eth0
192.168.10.0    *               255.255.255.0   U      1500 0          0 eth1
loopback        *               255.0.0.0       U      3584 0          0 lo
default         nv1.naguri.sait 0.0.0.0         UG     1500 0          0 eth0
saba:~$

 
> 最後に、これはホントにどうでもいいんですが、
> sanmaの設定、sanmaの状態と銘打ってある出力の
> いずれのコマンドラインも @hotate と言うのはどうかな?と ^_^;;
> >■ sanma の設定 
> >help@hotate:~$ cat /etc/network/interfaces

おお!
これはマズい!
hotate は firewall 越えをねらっているマシンの名前で
あちらこちらからつなぎ直しているのでした。
まだ、 routing に成功していないからマシンの名前の
解決まで頭が回っていませんでした。
で、 DNS のファイルを見てみたら・・・間違ってませんでした。
↑
当然
よくみたら本来 sanma となるべきマシンの設定 /etc/* な
ファイルのいくつかに hotate と入っていたのでインストールの
時にしくじったのでしょう。
修正して、さすがにまずかろうと思って reboot しました。
ご指摘ありがとうございます。


--
あまねく生命に、あまねく知性に、最大の幸福を願う
E-mail:help@xxxxxxxxx