ubuntu

Ubuntuに固定IPを設定する方法

社内システムだったり、自分のシステムにおいて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などで接続できれば設定完了です。

-ubuntu
-,