概要
サーバを構築して、うまく疎通ができない!というときは、まずはファイアウォールとルーティングを確認しよう。ルーティングを確認する際の手順。
以下コマンドで、どういうルーティングになっているかを確認できる。
ip route
出力結果
default via 192.168.160.1 dev br160 proto static metric 427
10.0.0.0/8 via 10.25.255.254 dev eno3.4001 proto static metric 410
10.25.0.0/16 dev eno3.4001 proto kernel scope link src 10.25.2.6 metric 410
192.168.160.0/24 dev br160 proto kernel scope link src 192.168.160.109 metric 427
default via となっているのが、そのサーバのデフォルトゲートウェイ。下の行に当てはまらないNW帯への通信は、ここで指定されているゲートウェイを使って通信しようとする。ここでは192.168.160.1。
見方はこんな感じ。
default via(デフォルトは) 192.168.160.1(ここのアドレスに) dev br160(デバイスbr160を通して通信)
また、目的の通信が、想定した通りのNICを通して通信しているか確認するには、以下コマンドを用いて確認する。
ip route get IPアドレス
実行結果はこんな感じ
8.8.8.8 via 192.168.160.1 dev br160 src 192.168.160.109 uid 30029
cache
これは、
- 8.8.8.8(送信先のIP)に、
- 192.168.160.1を経由して、
- デバイスbr160を通して,
- 192.168.160.109(コマンドを実行した送信元サーバのIP)
を通して疎通を図ったという事。
これが、想定していないインターフェースに付いたアドレスを使おうとしていたら、ルーティングがうまくいっていない。
ルーティングを設定するには以下コマンド
nmcli c mod インターフェース名 +ipv4.routes "NW帯 GWのアドレス"
コマンド実行例
sudo nmcli c mod enp1s0f1 +ipv4.routes "10.0.0.0/8 10.14.255.254"
これが実行できたら、インターフェースをupさせて反映する。
sudo nmcli c up enp1s0f1
これでもう一度ip route を実行すると、ルーティングが追加されている。
参考