前回、WebサーバーにIPアドレスを設定した際、デフォルトゲートウェイについても設定しました。
これで現状、下図のようなルーティングテーブルがそれぞれの機器で作成されているはず。
しかし、このままではクライアントPC(192.168.0.2)からWebサーバーへPingを送っても、応答を得ることはできません。
なぜなら、クライアントPCからPingパケットはWebサーバーには届きますが、Webサーバーからは「192.168.0.0/24」ネットワークは見えないため、ルーティングテーブルに従って、デフォルトゲートウェイ(172.16.0.254)に応答パケットを送ってしまうからです。
通常、ルータはパケットを受信した口から送信することはしませんので、応答パケットが破棄され、クライアントPCからPingに失敗するというわけです。
そのため、Webサーバーにスタティックルートを追加してやる必要があります。
まずは、現状のルーティングテーブルを下記コマンドで確認します。
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.0.0 * 255.255.255.0 U 1 0 0 eth0 default 172.16.0.254 0.0.0.0 UG 0 0 0 eth0
このルーティングテーブルに「192.168.0.0/24」宛のルートを下記コマンドで追加します。
# route add -net 192.168.0.0 gw 172.16.0.1 metric 1 netmask 255.255.255.0 eth0 [root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.0.0 * 255.255.255.0 U 1 0 0 eth0 192.168.0.0 172.16.0.1 255.255.255.0 UG 1 0 0 eth0 default 172.16.0.254 0.0.0.0 UG 0 0 0 eth0
これで、各機器のルーティングテーブルは下図のようになります。
この状態であれば、クライアントPCからWebサーバーへのPingに成功するようになります。