外の世界に出して!

概要

デフォルトゲートウェイからは ping の応答があるのにグローバル IP アドレスからは応答が帰ってこなくなってしまったホストがある。
原因を究明してインターネットにつながるようにしてほしい。

初期状態

prob01-host から グローバル IP アドレスへ ping ( ping 1.1.1.1ping 8.8.8.8 など ) を実行しても応答がない。

終了状態

  • prob01-host から グローバル IP アドレスへ ping ( ping 1.1.1.1ping 8.8.8.8 など ) を実行して正しく応答が返ってくる。
  • 設定の永続化が行われていること。

解説

この問題では、誤ったルーティングの設定が正しいルーティングの設定より優先されていたことが原因でトラブルが発生していました。
よって、その優先順位を変更したり、誤った設定を変更することで解決することができます。

想定解法

ict_rt という自分自身の持つ IP アドレスをデフォルトゲートウェイとしてしまっているテーブルと、そのテーブルを main テーブルより優先して参照するルールがトラブルの原因となっています。

  1. ict_rt というテーブルを削除する
  2. ict_rt テーブルを参照するルールを削除する

といった方法を想定解法としていました。

想定したトラブルシュート手順

ip route コマンドで 1.1.1.1 への通信する際に使用するルーティングテーブルを確認すると ict_rt テーブルが見つかります。

$ ip route get 1.1.1.1
1.1.1.1 dev eth0 table ict_rt src 192.168.1.1 uid 1001 
    cache 

ここに出力された ict_rt というテーブルの中身を確認するとこれがトラブルの原因とわかります。

$ ip route show table ict_rt
default via 192.168.1.1 dev eth0 
192.168.100.0/24 via 192.168.1.254 dev eth0 
192.168.255.0/24 via 192.168.1.254 dev eth0 

また上記の手順以外には、ルーティングテーブルを確認する際に routel コマンドを使うと main テーブル以外も確認できるので、そこから ict_rt テーブルを見つけることもできます。