ルーティングはじめの一歩
1999年3月6日
沖縄パーソナルUNIX研究会
ずけらん しん / shin@opus.or.jp
(page 1)
そもそも
- netvehicle mailing listでの相談ごと
- 専用線 と dialup router の両方がある環境
(page 2)
目次
- netstatしてみよう
- next hopはどこだろう
- default routeの秘密
- default routeはどこから来る
- default routeで済まない場合がある
- まとめ
(page 3)
netstatしてみよう
Linuxの場合 netstat -r
Windowsの場合 netstat ほげ
(page 4)
netstatしてみよう(2)
netstat -rn
- 宛先等を逆引きしなくなる。生の値を見たいときにつかう。
(page 5)
next hopはどこだろう?
- 自分宛でないパケットを次に届ける先
- それ以上の情報は持ってない
- 帰り道は選べない
- 行ったさきで迷子になるかもしれない
(page 6)
next hopはどこだろう?(2)
- 宛先IPアドレス AND ネットマスク == 宛先 の経路が選ばれる。
- 該当するものが複数あるときは ネットマスク長が長いものが選ばれる。
- 192.168.1.242 に行きたい
- 192.168.1.242 AND 255.255.255.0 == 192.168.1.0 (○)
- 192.168.1.242 AND 255.0.0 != 127.0.0.1 (×)
- 192.168.1.242 AND 0.0.0.0 == 0.0.0.0 (○)
- マスク長が長い(255.255.255.0)方を採用
- eth0に出すように指示があるので、eth0に出して通信する。
(page 7)
省略記法
- 以下面倒くさいので、宛先/ネットマスク長 のようにして記載する。
- 世間でもこの書き方で通用する。
- 192.168.1.0/24
- 127.0.0.0/8
- 0.0.0.0/0
(page 8)
default routeの秘密
- default routeとは実は 0.0.0.0/0 に対する経路
- どんな宛先を持って来ても一致してしまう
- 他のどのエントリーにも一致しなかった場合に使われる
- stand aloneでppp接続
- 閉じたネットワークにInternet接続ルーターが一台
- OCN21につないでみる
(page 9)
default routeはどこから来る
- pppの設定
- pppでつながったらdefault routeを設定する場合がある
- /etc/sysconfig/network-script/ifcfg-ppp0 (RedHat 5.2)
- DHCPで配っている
- OCN21のDHCP
- ダイアルアップルータのDHCP
- 静的に設定
- どっかのファイルに書く
- /etc/sysconfig/network (RedHat 5.2 / Vine 1.0)
- /etc/sysconfig/network/ifcfg-eth0 (同上)
(page 10)
default routeで済まない場合がある(1)
- Internet -- router --(a)-- machine A --(b)-- machine B,C,D..
- router + firewallのパターン
- とりあえず、Aはrouterにdefault routeを向ける
- B,C,DはAにdefait routeを向ける
- (a)にマシンを追加したら?
(page 11)
default routeで済まない場合がある(1)-続き
- router 以外のマシンはdefault routeで済むように設計するのがコツ
- routingは全てrouterでやろう!
(page 12)
default routeで済まない場合がある(1)-続き
- Internet --- router --- mahcine A --(b)-- machine B,C,D..
- machine Aにethernet cardを追加してDMZを作る
(page 13)
default routeで済まない場合がある(1)-続き
- 仕方がないときは(a)にあるマシンでstatic route
- route add -net (b) gw A
- route add -net default gw router
(page 14)
default routeで済まない場合がある(2)
- Internet --- router -+-- Machine
- Internet --- router -+
- Internet --- router -- Machine
- Internet ----+
(page 15)
default routeで済まない場合がある(2)-続き
- 2つの出口をどうやって使い分けるか?
- 宛先アドレスで分ける
- 一部のルーターはportで分けられる(netvehicle)
- dynamic routingにするといい場合もあるが...
(page 16)
宛先で分ける
- 一般的な解
- 小さなネットワーク(Private address)と、Internetにつなぐ
- default routeをInternet側に向ける
- 小さい方にはstaticでrouting
- routerの設定だけで済まない場合は、ちょっと面倒
- RIPを流す
- 頑張ってstatic routeを全部のマシンに書く
- default側のrouterでicmp redirect :)
(page 17)
(例) 相手先ホストになんらかの制限がある
- dialup lineからでないとサービスを受け付けてくれない
- defaultは別の線を使いたい
- そのISP向けだけstatic routeを切る
- サービス次第ではportで分けたほうがいい
- Netvehicleマルチルーティング機能
- transparent proxy (Linux IPmasquerade)
(page 18)
dynamic routingにするといい場合もあるが...
(page 19)
(例) 2箇所が対等な場合
(page 20)
まとめ
- なるべくdefault routeだけで済むようにネットワークを設計する
- RIPを流しても小規模なネットワークでは幸せになれない
- 幸せになれる話はまたの機会に :)
- RIPで済まない場合は激しく不幸になるかも
(page 21)