Ubuntu 17.10 Server использует пакет netplan
вместо /etc/network/interfaces
.
Я создал/etc/netplan/01-netcfg.yaml
Как описано здесь:Ubuntu 17.10 не принимает статический IP
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: no
dhcp6: no
addresses: [192.168.0.97/24]
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
Маска сети по умолчанию netplan
:255.255.255.0
Как я могу изменить/установить маску сети, например 255.255.255.1
?
решение1
Сетевая маска не может быть 255.255.255.1
. Сетевая маска для адресов класса C может быть:
Prefix size | Subnet mask
/24 | 255.255.255.0
/25 | 255.255.255.128
/26 | 255.255.255.192
/27 | 255.255.255.224
/28 | 255.255.255.240
/29 | 255.255.255.248
/30 | 255.255.255.252
На основе этого ваша конфигурация .yaml
может быть
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: no
dhcp6: no
addresses: [192.168.0.97/25]
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
Или что-то подходящее netmask
.
Пожалуйста, имейте в виду, что ip address
хост и gateway
должны быть в одном и том же subnet
.
решение2
Вы устанавливаете сетевую маску с нотацией CIDR в адресах, поэтому /24 — это 255.255.255.0, /25 — это 255.255.255.128, /28 — это 255.255.255.240 и т. д.
Вот рабочий пример изhttps://netplan.io/examples
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
addresses:
- 10.10.10.2/24
dhcp4: no
gateway4: 10.10.10.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Или вот так:
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
addresses: [10.10.10.2/25]
dhcp4: no
gateway4: 10.10.10.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Или с псевдонимами:
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
addresses: [10.10.10.2/25, 10.10.10.3/25]
gateway4: 10.10.10.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
И это тоже работает:
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
addresses:
- 10.10.10.2/25
- 10.10.10.3/25
gateway4: 10.10.10.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
решение3
255.255.255.0
представляет собой десятичное представление маски сети IPv4 для маскирования 24 из 32 бит.
11111111.11111111.11111111.00000000
(имеется 24 маскирующих бита и 8 демаскирующих битов).
255.255.255.1
в двоичном виде
11111111.11111111.11111111.00000001
(имеется 25 маскирующих битов и 7 демаскирующих битов).
Такая битовая маска недействительна для сетевой маски, поскольку в ней имеется «дыра» из демаскирующих битов («0») между маскирующими битами («1»).
11111111.11111111.11111111.10000000
(двоичный) = 255.255.255.128
(десятичный) является допустимым и представляет собой 25 маскирующих битов ( /25
)