Ubuntu 18で静的IPアドレスを設定する方法

このチュートリアルでは、Ubuntu Linuxで静的IPアドレスを設定するために必要なすべての手順を説明します。

このチュートリアルはUbuntu 18.04でテストされました。

1. Linuxでネットワークインターフェースを検出する

まず、Ubuntu Linuxがネットワークインターフェースを検出したかどうかを確認する必要があります。

# lshw -C network

ネットワークインターフェイスの論理名に注意してください。

この例では、システムはENS160という名前のネットワークインタフェースを検出しました。

*-network
description: Ethernet interface
product: VMXNET3 Ethernet Controller
vendor: VMware
physical id: 0
bus info: pci@0000:03:00.0
logical name: ens160
version: 01
serial: 00:0c:29:b1:46:b1
size: 10Gbit/s
capacity: 10Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm pciexpress msi msix bus_master cap_list rom ethernet physical logical tp 1000bt-fd 10000bt-fd
configuration: autonegotiation=off broadcast=yes driver=vmxnet3 driverversion=1.4.14.0-k-NAPI duplex=full ip=10.0.2.220 latency=0 link=yes multicast=yes port=twisted pair speed=10Gbit/s
resources: irq:18 memory:fd5fc000-fd5fcfff memory:fd5fd000-fd5fdfff memory:fd5fe000-fd5fffff ioport:4000(size=16) memory:fd500000-fd50ffff

2.ネットワーク設定ファイルのバックアップ

現在のネットワーク構成のバックアップを作成してください。

# mkdir /backup
# cp /etc/netplan /backup -R

3.静的IPアドレスを設定します。

Netplanディレクトリにアクセスして、利用可能な設定ファイルをリストします。

# cd /etc/netplan
# ls

50-cloud-init.yaml

通常、01-netcfg.yamlという名前のファイルまたは50-cloud-init.yamlという名前のファイルがあります。

この例では、50-cloud-init.yamlという名前のファイルが見つかったとします。

ネットワーク設定ファイルを編集します。

# cd /etc/netplan
# vi 50-cloud-init.yaml

これがネットワーク設定ファイルのデフォルトの内容です。

Copy

これが私たちの設定による新しいファイルです。

Copy

この例では、ネットワークインターフェイスENS160は、IPアドレス192.168.100.100 / 24、ゲートウェイ192.168.100.1、およびGoogle 8.8.8.8と8.8.4.4のDNSサーバーを使用するように設定されています。

Important!

The Netplan configuration files use the YAML configuration language

YAML is a human-friendly data serialization standard for all programming languages.
YAML is extremely sensitive to indentation errors.

新しいネットワーク設定を有効にします。

# netplan generate
# netplan apply

4.ネットワーク設定を確認する

ネットワークインターフェイスの設定を確認するには、IFCONFIGコマンドを使用します。

# ifconfig

これが現在のネットワークインターフェース設定です。

ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.100 netmask 255.255.255.0 broadcast 192.168.255.255
inet6 fe80::20c:29ff:feb1:46b1 prefixlen 64 scopeid 0x20 ether 00:0c:29:b1:46:b1 txqueuelen 1000 (Ethernet)
RX packets 572572 bytes 258895818 (258.8 MB)
RX errors 0 dropped 319 overruns 0 frame 0
TX packets 132383 bytes 11603906 (11.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

DNS設定を確認してください。

# systemd-resolve --status

これが現在のDNS設定です。

Link 2 (ens160)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 8.8.8.8
8.8.4.4

デフォルトルート設定を確認してください。

# netstat -nr

これが現在のルーティングテーブル設定です。

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 ens160
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160