Manjaroで静的IPアドレスを設定

はじめに

静的IPアドレスを設定するだけでも記事が色々あり,どれを信用したらいいか全く分からなかった. netplanであったり,systemd-networkdであったり,NetworkManagerであったり,どれを使えば良いんじゃい,という具合である. 備忘録として,実施した手順を記録しておく.

上手くいかなかったケース:systemd-networkdを使う方法

ArchWikiにもあるように,/etc/systemd/network下に設定ファイルを記述し,systemd-networkdを再起動する. これで静的IPアドレスを設定できるのだが,なんとDHCPクライアントが動きっぱなしであるため,IPアドレスを2つ持ってしまう. 2つ持つなんてホントにできるのか分かっていないのだが,ipコマンドで2つのIPアドレス(静的に設定したものとDHCPサーバから取得したもの)を確認できる.

上手くいくケース:nmcliを使う方法

NetworkManagerもネットワーク設定のためのツールであるが,こちらではDHCPクライアントを停止させる方法があった. nmcliを使って簡単に設定をすることができる.

以下の例では,インターフェースensに静的IPアドレスを設定する例を示す.

$ sudo nmcli c down ens # インターフェースを無効化
$ sudo nmcli c modify ens ipv4.addresses XXX.XXX.XXX.XXX/XX # IPアドレスXXX.XXX.XXX.XXX,サブネットマスクXXを設定
$ sudo nmcli c modify ens ipv4.gateway XXX.XXX.XXX.XXX # デフォルトゲートウェイのIPアドレスを設定
$ sudo nmcli c modify ens ipv4.method manual # IPアドレスを静的に設定(これでDHCPサーバからIPアドレスを取得しなくなる)
$ sudo nmcli c up ens # インターフェースを有効化
$ 
$ sudo systemctl restart NetworkManager # NetworkManagerを再起動

以上の手順で,静的に設定したIPアドレスのみを使用するようになる.