ネットワークのルーティングが不自然な気がします。
ネットワークのルーティングが不自然な気がします。
画像のようにローカルなネットワークを構築しましたが、色々無駄があるような気がしてなりません。
なおNodeにはubuntu10.04がインストールされています。
以下、ノードごとの設定です。
Node Aの設定
(/etc/network/interfaces内)
#(なおすべて固定アドレスですので、B以降はauto とifaceは省略します)
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.2
(/etc/network/if-up.d/static-routes内)
#!/bin/sh
/sbin/route add -net 192.168.1.0 gw 192.168.0.5 netmask 255.255.255.0 dev eth0
/sbin/route add -net 192.168.2.0 gw 192.168.0.5 netmask 255.255.255.0 dev eth0
NodeBの設定
(/etc/network/interfaces内)
# eth0
address 192.168.0.2
netmask 255.255.255.0
# eth1(外部に通じてます)
address xxx.yyy.zz.a
netmask 255.255.255.bbb
gateway xxx.yyy.zz.ccc
(/etc/network/if-up.d/static-routes内)
#!/bin/sh
/sbin/route add -net 192.168.1.0 gw 192.168.0.5 netmask 255.255.255.0 dev eth0
/sbin/route add -net 192.168.2.0 gw 192.168.0.5 netmask 255.255.255.0 dev eth0
Node Cの設定
(/etc/network/interfaces内)
# eth0
#これ以降サブネットは全部/24なので文字数のため省略します。
address 192.168.1.3
gateway 192.168.1.5
Node Dの設定
(/etc/network/interfaces内)
# eth0
address 192.168.2.4
gateway 192.168.2.5
Node Eの設定
(/etc/network/interfaces内)
# eth0
address 192.168.0.5
gateway 192.168.0.1
# eth1
address 192.168.1.5
# eth2
address 192.168.2.5
###/etc/network/if-up.d/static-routes内##
#!/bin/sh
/sbin/route add -net 192.168.1.0 gw 192.168.1.3 netmask 255.255.255.0 dev eth1
/sbin/route add -net 192.168.2.0 gw 192.168.2.4 netmask 255.255.255.0 dev eth2
これで互いにpingを届け合うことはできるのですが、そもそもNode Eでルーティングを設定する必要はあったのでしょうか?
/etc/network/if-up.d/static-routes内を今回はいろいろ書き換えましたが、何も設定せずともCからDに向かってping
192.168.2.4を打てば、Node
Eは192.168.2というネットワーク部分を見てDの方に向かってパケットを流すのではないのでしょうか?
今回は設定をしない段階ではpingはCとDの間を通りませんでしたが、どこか釈然としません。
またこの構築において最後に設定したのは、Node Bのフォワーディング許可なのですが、許可する前はAとC, AとDの間もpingが通りませんでした。
許可前でも、Bからはどこにでもpingを送れたのですが、これが何故かもよくわかりません。
Aからping 192.168.2.4を打てば、ルーティングから考えると→E→D→E→Aとpingが通る気がするのですが、なぜBが関係あったのでしょう?
最近この分野に触れるようになったので、私が常識的なことを知らないだけのかもしれませんが、どうかNode Eのルーティングの設定とNode
Bのフォワーディング許可についての疑問についてお答えいただけたら嬉しいです。
お礼
回答をヒントに設定を見直した所、 /etc/hostsの設定が おかしなものになっていました。 無事、解決できました。 ありがとうございました。
補足
すいません。 意味を取り違えていました。 そうです。勝手にどこかで追加されていると思うので、 探していました。 なるほど、/etc/rc.local 等のファイルにroute -add が記述されているのでは?ってことですね。 確認してみます。ありがとうございます。