1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LinuxサーバのIPアドレスを固定する方法

Last updated at Posted at 2023-10-23

動機

サーバを再起動するとIPアドレスが変わることがあり、クライアントのWindowsからSSH接続するときに.ssh\configに記載したホスト名で接続できない。

環境

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"

方法

まずネットワークの設定ファイルを確認する。

$ ls /etc/netplan
00-installer-config.yaml
$ sudo cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    enp3s0:
      dhcp4: true
  version: 2

このようにネットワークの設定ファイルは/etc/netplan配下に格納されている。
辞書順で/etc/netplan配下の.yamlファイルをすべて参照し、最後に参照したものを採用する方式である。
今回は01-network-manager.yamlというファイルを作成する。

$ sudo cat /etc/netplan/01-network-manager.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
      addresses: [xxx.xxx.xxx.xxx/xx]
      routes:
        - to: default
          via: xxx.xxx.xxx.xxx
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

ポイント

  • enp3s0の行は環境によって異なる。ip aコマンドを実行し、マシンが接続しているネットワークデバイス名を採用する。
  • dhcp4: noとすることでdhcp機能(自動でIPアドレスを割り当てるなど)を無効化できる。
  • addressesにはその環境で利用できる他マシンと重複しないアドレスを設定する。
    例えば、ip aコマンドで確認できるinetの値が192.168.1.xxx/24であったら、おそらく重複しないであろう192.168.1.50/24などを設定する。
  • viaの行はデフォルトゲートウェイを設定する。現在使用しているものをroute -nで確認できる。
  • 最後のaddressesにはDNSサーバのアドレスを設定する。特に要件がなければGoogleが提供するパブリックDNSサーバである8.8.8.8と代替DNSサーバの8.8.4.4を設定する。
  • yamlはインデントが意味を持つので注意して入力する。

ファイルを作成出来たら下記のコマンドで設定を有効化する。

sudo netplan try --timeout 10

サーバの再起動は不要で、更新後のIPアドレスでSSH接続できれば完了。

参考

Canoninal Netplan(公式)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?