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.1
是11111111.11111111.11111111.00000001
(有25个屏蔽位和7个取消屏蔽位)。
这样的位掩码对网络掩码无效,因为它在掩码位(’1’)之间具有取消屏蔽位(’0’)的“空洞”。
11111111.11111111.11111111.10000000
(二进制)= 255.255.255.128
(十进制)有效并代表25个屏蔽位( /25
)