AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

CentOS7 で dhcp なインタフェースを static にする

外部サービス使ってると、大体ネットワークインタフェース設定されたインスタンスがやってくるからこういう状況あんまないよねっていう。

ネットワークインタフェースの設定変更

[rootlocalhost ~]# nmtui

リッチな設定が出力される。引数に値を与えて変更したい場合は、nmcli を使えばいいけど今回は利用しない。このネットワークインタフェースを編集するかはカーソルで選択できるので、nmtui 自体のお話は省略する。

ネットワークインタフェースの再起動

[rootlocalhost ~]# systemctl restart network

これで NetworkManager がまるごと再起動される。

デフォルトのネットワークにする

インタフェースの設定を変更できたが、なぜか network unreachable になる。デフォルトの通信するインタフェースになってないのが原因だったのだが、nmtui から設定できるかと思ったが見つからなかった。 結局古風奥ゆかしく、ifcfg-XX を編集する。今回は ifcfg-ens32 が対象。

[rootlocalhost ~]# vi/etc/sysconfig/network-scripts/ifcfg-ens32
- DEFROUTE=no
+ #DEFROUTE=no
[rootlocalhost ~]# systemctl restart network

ルートの確認

DEFROUTE=no になってるインタフェースはデフォルトルートにならないので注意するほうがよい。デフォルトルートを設定していないと、以下のように ip route でデフォルトルートの設定が帰ってこない。

[rootlocalhost ~]# ip route
172.16.0.69 dev ens32  proto kernel  scope link  src 172.15.0.69  metric 100

デフォルトルートを設定した場合

default などが書かれる。

[rootlocalhost ~]# ip route
default via 172.16.0.1 dev ens32  proto static  metric 100
172.16.0.1 dev ens32  proto static  scope link  metric 100
172.16.0.69 dev ens32  proto kernel  scope link  src 172.16.0.69  metric 100

参考元

デフォルトゲートウェイを設定する」より

NetworkManager においてゲートウェイに達する出口インターフェイスの選択に影響を及ぼす必要がある特別なケースでは、デフォルトゲートウェイに進まないインターフェイスに ifcfg ファイルの DEFROUTE=no コマンドを利用します。

モバイル云々って書いてあるけど、デフォルトゲートウェイを設定するインタフェースとそれ以外で DEFROUTE は書いておけってことなのでは?

2.4. コマンドラインインターフェイス (CLI) の使用