Как настроить статический IP-адрес в Ubuntu 18

Это руководство покажет вам все шаги, необходимые для настройки статического IP-адреса в Ubuntu Linux.

Этот учебник был протестирован на 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 и сервера DNS от Google 8.8.8.8 и 8.8.4.4.

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