Ubuntu 17.10服务器静态IP netplan – 如何设置网络掩码

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

网络掩码不能是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

请记住,主机和gateway ip address必须位于同一subnet

在地址中设置带有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] 

255.255.255.0是IPv4网络掩码的十进制表示,用于屏蔽32位中的24位。

11111111.11111111.11111111.00000000 (有24个屏蔽位和8个取消屏蔽位)。

二进制的255.255.255.111111111.11111111.11111111.00000001 (有25个屏蔽位和7个取消屏蔽位)。

这样的位掩码对网络掩码无效,因为它在掩码位(’1’)之间具有取消屏蔽位(’0’)的“空洞”。

11111111.11111111.11111111.10000000 (二进制)= 255.255.255.128 (十进制)有效并代表25个屏蔽位( /25