【Linux基礎】ルーティング確認コマンドについてまとめました!

選択する

Linuxサーバでルーティング確認するコマンドについてまとめました。

CentOSやUbuntuのOSでルーティング確認したい方は読んでください。

目次

Linuxサーバーでルーティング確認するコマンド

search

Linuxサーバーでルーティングの確認をしたり、設定する時に使用するツールによってコマンドが違います。

Linuxでルーティング確認するツール
  • iproute2
  • net-tools

どちらのコマンドもルーティング確認できますので、ご自身の環境に合わせて使用してください。

Linuxのツール別ルーティング確認コマンドをまとめます。

iproute2ツールのルーティング確認コマンドnet-toolsツールのルーティング確認コマンド
ip route shownetstat -r
route
Linuxのツール別ルーティング確認コマンド

net-toolsツールのルーティング確認コマンドは2つあります。

iproute2ツールはnet-toolsの後継を言われていますので、iproute2ツール推奨です。

iproute2ツールでルーティング確認する

iproute2ツールルーティング確認するコマンドを以下に示します。

ip route show

または「ip route」だけでも良いです。

[root@localhost ~]# ip route show
default via 192.168.0.1 dev enp0s3 proto dhcp metric 100
192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.4 metric 100
192.168.222.0/24 dev enp0s3 proto kernel scope link src 192.168.222.0

ルーティング確認出来ました。

net-toolsツールでルーティング確認する

training

net-toolsツールルーティング確認するコマンドを以下に示します。2種類あります。

netstat -r
route 

実際に「netstat -r」コマンドでルーティング確認してみます。

[root@localhost ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         router          0.0.0.0         UG        0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.222.0   0.0.0.0         255.255.255.0   U         0 0          0 enp0s3

「route」コマンドでルーティング確認してみます。

[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         router          0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.222.0   0.0.0.0         255.255.255.0   U     0      0        0 enp0s3

ルーティング確認出来ました。

補足としてルーティングテーブルのFlagsの項目についてまとめます。

ルーティング確認のFlags項目意味
UUPしている。有効
GGateway。デフォルトゲートウェイを表す
HHost。ネットワークではなくホストを表す
!経路を拒否。無効
ルーティングテーブルのFlags項目の意味

DNS名前解決せずにルーティング確認する方法

net-toolsツールの「netstat -r」コマンドや「route」コマンドでは「Gateway」の値がIPアドレスではなく「router」になっています。

原因はルータのIPアドレスをDNS名前解決している為です。名前解決する分処理が多くなります。

このLinuxサーバーのhostsファイルで名前解決が行われていました。実際のhostsファイルを確認します。

[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.1 router

Linuxサーバーのhostsファイルについての詳しい内容は、以下の記事で紹介しています。

ルーターのIPアドレスである「192.168.0.1」が「router」という名前で登録されています。

なのでルーティング確認すると「Gateway」の箇所が「router」となっていました。

解決策としてDNS名前解決せずにルーティング確認するにはnオプションを使用します。

[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.222.0   0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.222.0   0.0.0.0         255.255.255.0   U     0      0        0 enp0s3

デフォルトゲートウェイを表す「default」が「0.0.0.0」に、「router」がルーターのIPアドレスである「192.168.0.1」に変更されています。

Linuxのルーティング確認以外のコマンド

プログラミングスクール

Linuxのルーティング確認以外のコマンドについてまとめます。

やりたい事iproute2ツールのコマンドnet-toolsツールのコマンド
ルーティング確認ip routenetstat -r
route
ルーティング追加ip route add IPアドレス/マスク via GWアドレスroute add -[net/host] IPアドレス netmask マスク gw GWアドレス
ルーティング削除ip route delete IPアドレス/マスクroute del -[net/host] IPアドレス
デフォルトゲートウェイ設定ip route add default via DGアドレスroute add default gw DGアドレス
Linuxのルーティング確認以外のコマンドまとめ

ここでのルーティング追加は一時的なもので、OSを再起動したら削除されてしまいます。

ルーティングを永続的に追加したいという場合は、以下の記事を参照ください。

選択する

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次