- - PR -
Linuxサーバを使用したルーティングについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-04-17 18:14
お世話になります。
3台のLinuxPCでルーティングの勉強をしようとしたのですが、 上手く通信経路が設定されないのでこちらでご相談させていただくことにしました。 よろしくお願いします。 現在、一つのハブに3台のPCが繋がっていて それぞれIPを下記のように割り振っています。 ━━━━━━━━━ PC_A 10.28.130.224 DELL_PC 10.28.130.225 192.168.0.2 PC_B 192.168.0.5 ━━━━━━━━━ DELL_PCのFORWARDは全てACCEPTになっています。 PC_AからPC_Bへの通信は、DELL_PCを通して行いたいのですが 2、3回通信を行うとPC_AからPC_Bへ直接通信をしてしまいます。 動的に通信経路が切り替わらないようにさせたいのですが、 どなたか考えられる原因などがありましたらご教授ください。 以下は、PC_Aのルーティングテーブルと通信経路になります。 [PC_A] # netstat -eenr Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt 192.168.0.5 10.28.130.225 255.255.255.255 UGH 1 0 0 eth0 0 0 0 10.28.130.192 0.0.0.0 255.255.255.192 U 0 0 0 eth0 0 0 0 192.168.0.0 10.28.130.225 255.255.255.0 UG 1 0 0 eth0 0 0 0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0 0 0 0.0.0.0 10.28.130.193 0.0.0.0 UG 0 0 0 eth0 0 0 0 # traceroute PC_B traceroute to PC_B (192.168.0.5), 30 hops max, 38 byte packets 1 10.28.130.225 (10.28.130.225) 0.134 ms 0.100 ms 0.093 ms 2 PC_B (192.168.0.5) 0.176 ms 0.092 ms 0.088 ms # traceroute 192.168.0.5 traceroute to 192.168.0.5 (192.168.0.5), 30 hops max, 38 byte packets 1 PC_B (192.168.0.5) 0.147 ms 0.095 ms 0.090 ms 以上です。 宜しくお願いします。 |
|
投稿日時: 2006-04-17 20:44
おそらくICMP Redirectが悪さ?をしています。
# echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects (eth0だけでなく必要なI/Fは全て。allも必要かも。) で望み通りの動きになるかと思います。 再起動後も有効にしたければ/etc/sysctl.confあたりで。 PC_Aで $ netstat -nrC を実行するとルーティングキャッシュが見れます。 ルーティングキャッシュをクリアしたい場合は # echo 1 > /proc/sys/net/ipv4/route/flush で。 |
|
投稿日時: 2006-04-18 10:15
ttkさん、ありがとうございます。
DELL_PCにてICMP Redirect機能を切り、PC_Aのルーティングキャッシュをクリアしたら 希望通りの動作をしてくれました。 ICMP Redirectからルーティングテーブルの書き換えが行われると、 別セグメントへも直接繋がるんですね…(憶測ですが) 大変勉強になりました。 どうもありがとうございました。 |
1