とある古株サーバでスタティックルート(静的経路)を追加しようとしたところ、/etc/sysconfig/network-scriptsが従来の見慣れた形ではなく、nmcliによる設定が行われていたためやり方を調べたのでメモです。
私には慣れないコマンドでしたがtabキー補間が効くので直感的に作業を行うことができました。(サービスしている本番機ではないことも大きかった)
なお静的変更しかしませんので、即時反映は従来の ip route add
で反映する必要があります。
1. インタフェース名を確認
nmcli c s
2. 該当インターフェースの編集モードへ
nmcli c e <インタフェース名>
3. 現状設定確認
print ipv4.routes
4. ルーティング追加
追加したいルートが複数ある場合は以下を繰り返し
set ipv4.routes <ネットワークアドレス/prefix> <GWアドレス>
5. 現状設定確認
print ipv4.routes
6. 設定保存
save persistent
保存により、以下のファイルが更新されました。
/etc/sysconfig/network-scripts/route-<インターフェース名>
ADDRESS0=192.168.10.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.200.127
ADDRESS1=192.168.11.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.200.100
...
(以後 ADDRESSn,NETMASKn,GATEAYnの3行がセットで追加されていきます)
参考ログ
[root@hoge-server ~]# nmcli connection edit enp0s3
===| nmcli インテラクティブ接続エディター |===
既存の '802-3-ethernet' 接続を編集中: 'enp0s3'
使用できるコマンドを表示するには 'help' または '?' を入力します。
プロパティ詳細を表示するには 'describe [<setting>.<prop>]' を入力します。
次の設定を変更することができます: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli>
nmcli> print ipv4.routes
ipv4.routes: { ip = 192.168.13.0/24, nh = 192.168.200.254 }
nmcli> set ipv4.routes 192.168.10.0/24 192.168.200.100
nmcli> set ipv4.routes 192.168.11.0/24 192.168.200.100
nmcli> set ipv4.routes 192.168.13.0/24 192.168.200.100
nmcli> set ipv4.routes 192.168.14.0/24 192.168.200.100
nmcli>
nmcli> print ipv4.routes
ipv4.routes: { ip = 192.168.13.0/24, nh = 192.168.200.254 }; { ip = 192.168.10.0/24, nh = 192.168.200.100 }; { ip = 192.168.11.0/24, nh = 192
.168.147.100 }; { ip = 192.168.13.0/24, nh = 192.168.200.100 }; { ip = 192.168.14.0/24, nh = 192.168.200.100 }
nmcli>
nmcli> save persistent
Connection 'enp0s3' (hogehoge-1234-4567-b47c-fugafugafugaf) successfully updated.
nmcli>
nmcli> quit
[root@hoge-server ~]#
(注)IPやインターフェース名は適当にマスクしています