このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

デフォルトゲートウェイの設定:routeコマンド

デフォルトゲートウェイの概要

  デフォルトゲートウェイの設定は、ネットワークデバイスが他のネットワークと通信するために不可欠な手順です。routeコマンドを使用することで、デフォルトゲートウェイを簡単に設定できますが、このコマンドは現在、非推奨となっており、将来的には廃止される予定です。そのため、恒久的な設定や新しいシステムでは、ipコマンドやnmcliコマンドを使用することが推奨されます。

routeコマンドによるデフォルトゲートウェイの設定

 routeコマンドを使用してデフォルトゲートウェイを設定する場合、設定は一時的なもので、システムの再起動時にはリセットされます。恒久的に設定を維持するには、ネットワーク設定ファイルを編集するか、nmcliコマンドを使用して設定を行う必要があります。

routeコマンドの構文とオプション
オプション説明
なし現在のルーティングテーブルを表示します。
add default gw IPアドレス指定したIPアドレスを持つデフォルトゲートウェイを追加します。
del default現在設定されているデフォルトゲートウェイを削除します。
routeコマンドの構文とオプション

コマンドの使用例と解説(CentOS 7の場合)

routeコマンドは古いコマンドであるため、CentOS 7を使って操作していきます。

1.rootユーザーに切り替える。

・「su -」コマンドを実行します。

  su -コマンドを使って、rootユーザーに切り替えます。これにより、システム管理者権限でコマンドを実行することができます。

[user01@localhost ~]$ su -
パスワード:
最終ログイン: 2024/08/12 (月) 22:54:38 JST日時 pts/0
[root@localhost ~]# 
2.現在のルーティングテーブルを表示する。

・「route」コマンドを実行します。

 このコマンドを実行すると、現在のルーティングテーブルが表示されます。デフォルトゲートウェイが設定されている場合、それが表示されます。

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

デフォルトゲートウェイが設定されているようですが、宛先のIPアドレスが分りません。

そこで、

・「ip route show」コマンドを実行します。

デフォルトゲートウェイのIPアドレスが「10.0.2.2」であることが分ります。

[root@localhost ~]# ip route show
default via 10.0.2.2 dev enp0s3 proto dhcp metric 100 
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
3.デフォルトゲートウェイを削除する。

以下のコマンドを実行します。

  • route del default」コマンド
  • route」コマンド

 現在設定されているデフォルトゲートウェイを削除します。これにより、デフォルトルートが無効化されます。

[root@localhost ~]# route del default
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
3.デフォルトゲートウェイを設定する。

・「route add default gw 10.0.2.1」コマンドを実行します。

 このコマンドで、192.168.1.1をデフォルトゲートウェイとして追加します。これにより、他のネットワークとの通信がこのゲートウェイを通じて行われるようになります。

[root@localhost ~]# route add default gw 10.0.2.1
4.ルーティングテーブルを確認する。

デフォルトゲートウェイのIPアドレスが分かるように「ip route show」コマンドを用います。

・「ip route show」コマンドを実行します。

 再度、ルーティングテーブルを表示し、デフォルトゲートウェイが正しく設定されていることを確認します。

[root@localhost ~]# ip route show
default via 10.0.2.1 dev enp0s3 
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
5.デフォルトゲートウェイの設定をもとに戻します。

次のコマンドを実行します。

  • route del default」コマンド
  • route add default gw 10.0.2.2」コマンド
  • ip route show」コマンド

 設定したデフォルトゲートウェイを削除して、もともと設定されていたデフォルトゲートウェイに戻します。そして再度、ルーティングテーブルを確認します。

[root@localhost ~]# route del default
[root@localhost ~]# route add default gw 10.0.2.2
[root@localhost ~]# ip route show
default via 10.0.2.2 dev enp0s3 
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

まとめ

 routeコマンドはデフォルトゲートウェイを設定するための従来のツールですが、非推奨となっており、将来的に廃止される予定です。そのため、ipコマンドやnmcliコマンドの使用が推奨されます。これらのコマンドを使用することで、恒久的な設定を行い、再起動後も設定が維持されるようにすることが重要です。