このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
ルーティングの設定:nmcliコマンド
nmcliコマンド(ルーティングの設定)
nmcli
コマンドは、NetworkManagerを操作してネットワーク設定を管理するためのコマンドラインツールで、ルーティングの設定も簡単に行うことができます。この設定は恒久的なものであり、システムの再起動後も保持されます。
【構文】ルーティングの設定nmcli connection modify コネクション名 +ipv4.routes "宛先ネットワーク 転送先のIPアドレス"
主なコマンドと説明
コマンド構文 | 説明 |
---|---|
nmcli connection modify コネクション名 +ipv4.routes "宛先ネットワーク 転送先のIPアドレス" | 指定した宛先ネットワークへのルートを追加します。 |
nmcli connection modify コネクション名 -ipv4.routes "宛先ネットワーク 転送先のIPアドレス" | 指定した宛先ネットワークへのルートを削除します。 |
コマンドの使用例と解説
想定するネットワーク構成図
1.rootユーザーに切り替える。
・「su -
」コマンドを実行します。
su -
コマンドを使用して、rootユーザーに切り替えます。これにより、システム全体のネットワーク設定を変更できる権限を得ます。
user01@ubuntu-vm:~$ su -
パスワード:
root@ubuntu-vm:~#
2.現在のルーティングテーブルを表示する。
・「ip route show
」コマンドを実行します。
このコマンドを使用して、現在のルーティングテーブルを表示します。現在設定されているルートを確認することができます。
root@ubuntu-vm:~# ip route show
default via 10.0.2.2 dev enp0s3 proto static metric 20100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.100 metric 100
169.254.0.0/16 dev enp0s3 scope link metric 1000
3.172.16.1.0/24へのルートを追加する。
・「nmcli connection modify enp0s3 +ipv4.routes "172.16.1.0/24 10.0.2.3"
」コマンドを実行します。
このコマンドで、enp0s3
インターフェースに対して172.16.1.0/24
ネットワークへのルートを10.0.2.3
を経由して追加します。この設定は恒久的なもので、再起動後も保持されます。
root@ubuntu-vm:~# nmcli connection modify enp0s3 +ipv4.routes "172.16.1.0/24 10.0.2.3"
4.ルーティングテーブルを再度表示する。
・「ip route show
」コマンドを実行します。
再度ルーティングテーブルを表示しますが、この時点では新しいルートが反映されません。
root@ubuntu-vm:~# ip route show
default via 10.0.2.2 dev enp0s3 proto static metric 20100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.100 metric 100
169.254.0.0/16 dev enp0s3 scope link metric 1000
5.ネットワークサービスを再起動する。
以下のコマンドを実行します。
- 「
nmcli con down enp0s3
」コマンド - 「
nmcli con up enp0s3
」コマンド
ネットワークサービスを再起動することで、新しいルートが有効になります。nmcli con down
でインターフェースを無効にし、nmcli con up
で再度有効にします。
root@ubuntu-vm:~# nmcli con down enp0s3
接続 'enp0s3' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/2)
root@ubuntu-vm:~# nmcli con up enp0s3
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/3)
6.ルーティングテーブルを再度表示する。
・「ip route show
」コマンドを実行します。
ルーティングテーブルを再度表示し、新しいルートが正しく追加されたことを確認します。
root@ubuntu-vm:~# ip route show
default via 10.0.2.2 dev enp0s3 proto static metric 20100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.100 metric 100
169.254.0.0/16 dev enp0s3 scope link metric 1000
172.16.1.0/24 via 10.0.2.3 dev enp0s3 proto static metric 100
7.追加したルートを削除する。
・「nmcli connection modify enp0s3 -ipv4.routes "172.16.1.0/24 10.0.2.3"
」コマンドを実行します。
このコマンドを使用して、先ほど追加したルートを削除します。
root@ubuntu-vm:~# nmcli connection modify enp0s3 -ipv4.routes "172.16.1.0/24 10.0.2.3"
8.ネットワークサービスを再起動する。
以下のコマンドを実行します。
- 「
nmcli con down enp0s3
」コマンド - 「
nmcli con up enp0s3
」コマンド
ネットワークサービスを再起動することで、ルートの削除が反映されます。nmcli con down
でインターフェースを無効にし、nmcli con up
で再度有効にします。
root@ubuntu-vm:~# nmcli con down enp0s3
接続 'enp0s3' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/2)
root@ubuntu-vm:~# nmcli con up enp0s3
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/3)
9.ルーティングテーブルを再度表示する。
・「ip route show
」コマンドを実行します。
再度、ルーティングテーブルを表示し、ルートが削除されたことを確認します。
root@ubuntu-vm:~# ip route show
default via 10.0.2.2 dev enp0s3 proto static metric 20100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.100 metric 100
169.254.0.0/16 dev enp0s3 scope link metric 1000
まとめ
nmcli
コマンドを使用することで、ルーティング設定を恒久的に行うことができます。設定はNetworkManagerによって管理され、再起動後も保持されるため、信頼性の高いネットワーク管理が可能です。ルートの追加や削除も簡単に行えるため、ネットワークの柔軟な構成に役立ちます。