前回、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に成功するようになります。