情報技術の四方山話

AI、IoT、ヤマハルータ、VPN、無線LAN、Linux、クラウド、仮想サーバと情報セキュリティのよもやま話

Ubuntu 20.04 LTSのIPv4アドレスを固定IPに変更する

2020-10-05 07:35:15 | Linux/Ubuntu
今回は「Ubuntu 20.04 LTSのIPv4アドレスを固定IPに変更する」です。
インストール時のデフォルトはDHCP4で動きます。IPv6もデフォルトはDHCP6です。
弊社環境に合わせてIPv4を固定に変更します。以下、MACアドレスとIPv6アドレスは伏せ字です。


■ネットワークの状態を確認
■■現在のIP情報を確認
takumi@tubs01:~$ ip a
1: lo: 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
valid_lft forever preferred_lft forever
2: enp2s0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether GG:HH:II:JJ:KK:LL brd ff:ff:ff:ff:ff:ff
inet 192.168.0.61/24 brd 192.168.0.255 scope global dynamic enp2s0
valid_lft 254104sec preferred_lft 254104sec
inet6 XXXX:YYYY:ZZZZ::GGGG/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 14383sec preferred_lft 14383sec
inet6 fe80::GGGG/64 scope link
valid_lft forever preferred_lft forever
takumi@tubs01:~$

■■通信ができていることを確認
この環境では、デフォルトでIPv6が優先された。
takumi@tubs01:~$ ping one.one.one.one
PING one.one.one.one(one.one.one.one (2606:4700:4700::1001)) 56 データ長(byte)
64 バイト応答 送信元 one.one.one.one (2606:4700:4700::1001): icmp_seq=1 ttl=53 時間=9.85ミリ秒
64 バイト応答 送信元 one.one.one.one (2606:4700:4700::1001): icmp_seq=2 ttl=53 時間=6.93ミリ秒
64 バイト応答 送信元 one.one.one.one (2606:4700:4700::1001): icmp_seq=3 ttl=53 時間=6.67ミリ秒
^C
--- one.one.one.one ping 統計 ---
送信パケット数 3, 受信パケット数 3, パケット損失 0%, 時間 2002ミリ秒
rtt 最小/平均/最大/mdev = 6.672/7.815/9.847/1.440ミリ秒

■■IPv4で通信できることを確認
takumi@tubs01:~$ ping -4 one.one.one.one
PING one.one.one.one (1.1.1.1) 56(84) バイトのデータ
64 バイト応答 送信元 one.one.one.one (1.1.1.1): icmp_seq=1 ttl=57 時間=7.72ミリ秒
64 バイト応答 送信元 one.one.one.one (1.1.1.1): icmp_seq=2 ttl=57 時間=6.43ミリ秒
64 バイト応答 送信元 one.one.one.one (1.1.1.1): icmp_seq=3 ttl=57 時間=6.32ミリ秒
^C
--- one.one.one.one ping 統計 ---
送信パケット数 3, 受信パケット数 3, パケット損失 0%, 時間 2003ミリ秒
rtt 最小/平均/最大/mdev = 6.315/6.819/7.719/0.637ミリ秒

期待通り。ネット抜けは大丈夫

■■物理インタフェイスの情報
takumi@tubs01:~$ sudo lshw -class network
*-network
description: Ethernet interface
product: NetXtreme BCM5754 Gigabit Ethernet PCI Express
vendor: Broadcom Inc. and subsidiaries
physical id: 0
bus info: pci@0000:02:00.0
logical name: enp2s0
version: 02
serial: GG:HH:II:JJ:KK:LL
size: 1Gbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm vpd msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.137 duplex=full firmware=5754-v3.15 ip=192.168.0.61 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:27 memory:fdef0000-fdefffff
takumi@tubs01:~$

■■デフォルト設定ファイルの確認
takumi@tubs01:~$ ls /etc/netplan/
01-netcfg.yaml
takumi@tubs01:~$ cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: yes
dhcp6: yes
takumi@tubs01:~$

■IPv4アドレスを固定する
固定するとDHCP4のアドレスを失い設定している接続が途絶する。
経路維持のため、まずはDHCP4アドレスと固定IPを併用する。
その後、固定IPv4でログインして、DHCP4を止める。

■■設定ファイルを作成
デフォルトのファイルは編集しない。
そのほうが間違ったときに救われる。

takumi@tubs01:~$ sudo nano /etc/netplan/99_config.yaml
takumi@tubs01:~$ sudo cat /etc/netplan/99_config.yaml
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: yes
dhcp6: yes
addresses: [192.168.0.142/24]
gateway4: 192.168.0.1
nameservers:
addresses: [192.168.0.1]

■■設定を反映
takumi@tubs01:~$ sudo netplan apply

■■反映後の状態を確認
takumi@tubs01:~$ ip a

2: enp2s0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether GG:HH:II:JJ:KK:LL brd ff:ff:ff:ff:ff:ff
inet 192.168.0.142/24 brd 192.168.0.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet 192.168.0.61/24 brd 192.168.0.255 scope global secondary dynamic enp2s0

期待通り、DHCP4も残り、sshは切れなかった。

■■DHCP4を止めるため固定IPでログインする

takumi@taniubsd$ ssh takumi@192.168.0.142
The authenticity of host '192.168.0.142 (192.168.0.142)' can't be established.
ECDSA key fingerprint is SHA256:E58+5rtWwe/Uh7GT7lMnFyzx/0gESvI9KeK4P4HuLFY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.142' (ECDSA) to the list of known hosts.
takumi@192.168.0.142's password:
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-48-generic x86_64)

IPv4 address for enp2s0: 192.168.0.142
IPv4 address for enp2s0: 192.168.0.61
IPv6 address for enp2s0: XXXX:YYYY:ZZZZ::GGGG

takumi@tubs01:~$

■■DHCPv4を止める設定に変更

takumi@tubs01:~$ sudo nano /etc/netplan/99_config.yaml
[sudo] takumi のパスワード:
takumi@tubs01:~$ sudo cat /etc/netplan/99_config.yaml
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: no
dhcp6: yes
addresses: [192.168.0.142/24]
gateway4: 192.168.0.1
nameservers:
addresses: [192.168.0.1]

■■設定を反映

takumi@tubs01:~$ sudo netplan apply

■■状態を確認

takumi@tubs01:~$ ip a
1: lo: 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
valid_lft forever preferred_lft forever
2: enp2s0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether GG:HH:II:JJ:KK:LL brd ff:ff:ff:ff:ff:ff
inet 192.168.0.142/24 brd 192.168.0.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet6 XXXX:YYYY:ZZZZ::GGGG/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 14398sec preferred_lft 14398sec
inet6 fe80::GGGG/64 scope link
valid_lft forever preferred_lft forever
takumi@tubs01:~$

期待通り

いつもアクセスありがとうございます。次回は仮想サーバ環境でのbr0の設定です。引き続きよろしくおねがいします。

コメント
この記事をはてなブックマークに追加