社内システムだったり、自分のシステムにおいてUbuntuを固定IPアドレスにしたい場合もあるかと思います。
こちらのページでは固定IPに設定する方法を解説していきます。
ネットワークアダプターの情報を取得します。
ip a
上記コマンドを実行するとネットワークアダプタの情報が出てきます。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether c4:34:6b:51:6b:f8 brd ff:ff:ff:ff:ff:ff
altname enp0s25
inet 192.168.1.110/24 brd 192.168.1.255 scope global eno1
valid_lft forever preferred_lft forever
inet6 fe80::c634:6bff:fe51:6bf8/64 scope link
valid_lft forever preferred_lft forever
上記のような内容が出力されるので、IPアドレスなどが設定されているアダプタ情報を探します。
上の内容で言うと「eno1」がアダプタ名です。
後でこのアダプタ名を使用するので間違いないようにメモしておきます。
ネットワークアダプタの設定ファイルを確認する
実際にネットワークアダプタに設定されている内容を確認するために、まず設定ファイルを確認していきます。
最初に設定ファイルの名前を取得します。
設定ファイル名は以下のコマンドで確認できます。
ls /etc/netplan
この中に設定ファイル"群"があるので、設定するファイル名を確認します。
今回は50-cloud-init.yaml
となっていましたので、以下ではこのファイル名とします。
※もし違った場合はその環境のファイル名で置換してください
特に触っていない限り、ファイルは1つになっているかと思います。
設定ファイルが複数存在する場合、/etc/netplan/ ディレクトリ内のすべての YAML ファイルを読み込み、アルファベット順(ファイル名の昇順)にマージして1つの設定として解釈・適用します。
つまり、複数の YAML ファイルが存在する場合は、それらをアルファベット順に読み込み、マージして最終的なネットワーク設定を作成します。そのため、設定の優先順位はファイル名の順序によって決まることを念頭に置いてファイルを管理してください。
ネットワークアダプタの設定ファイルのバックアップを作成する
念の為、設定ファイルのバックアップを作成しておきます。
cd /etc/netplan
sudo cp 50-cloud-init.yaml 50-cloud-init.yaml.backup
もしくは元々のファイル名より後に読み込まれるようなファイル名で設定ファイルを作成して、それを反映させる方法でも問題ありません。
その場合は以下のようにします。
vi /etc/netplan/51-setting.yaml
# 最後のyamlの名前はアルファベット順で、存在しているファイルより後で読み込みされる名前にすればOK
ネットワークアダプタの設定ファイルを編集する
実際に設定を変更してIPアドレスを固定します。
先ほどの設定ファイルをvimやnanoで編集していきます。
cd /etc/netplan
sudo vi 50-cloud-init.yaml
実際に必要な内容は以下になります。
network:
ethernets:
eno1:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
実際に必要な内容を見ていくとこのようになります。
- dhcp4
DHCPの機能を無効にする - addresses
固定したいIPアドレスを指定する
固定したいip / サブネットマスク - routes
viaにデフォルトゲートウェイを設定 - nameservers
ネームサーバーアドレスを指定する
ネットワークアダプタの設定を反映させる
先ほどの設定が完了したら、設定内容を反映します。
反映させるコマンドは以下になります
sudo netplan apply
これで設定したIPアドレスへSSHなどで接続できれば設定完了です。