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 网络掩码的十进制表示形式,用于屏蔽 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
)