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

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]

默认网络掩码为netplan255.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

相关内容