Ubuntu 17.10 Server static IP netplan - how to set netmask
Solution 1
Netmask cannot be 255.255.255.1
.
Netmask for class C addresses can be:
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
Based on this you configuration in .yaml
can be
# 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]
Or some appropriate netmask
.
Please keep in mind that ip address
of host and gateway
must be in the same subnet
.
Solution 2
You set the netmask with CIDR notation in the addresses, so /24 is 255.255.255.0, /25 is 255.255.255.128, /28 is 255.255.255.240, etc.
Here is a working example from 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]
Or like this:
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]
Or with aliases:
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]
And this also works:
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]
Solution 3
255.255.255.0
is decimal representation of IPv4 netmask for masking out 24 of 32 bits.
11111111.11111111.11111111.00000000
(there are 24 masking bits and 8 unmasking bits).
255.255.255.1
in binary is
11111111.11111111.11111111.00000001
(there are 25 masking bits and 7 unmasking bits).
Such bitmask is not valid for netmask as it has 'hole' of unmasking bits ('0') between masking bits ('1').
11111111.11111111.11111111.10000000
(binary) = 255.255.255.128
(decimal) is valid and represent 25 masking bits (/25
)
Related videos on Youtube
alpha kevin
Updated on September 18, 2022Comments
-
alpha kevin over 1 year
Ubuntu 17.10 Server uses the package
netplan
instead of/etc/network/interfaces
.I have created the
/etc/netplan/01-netcfg.yaml
Like described here: Ubuntu 17.10 will not accept static 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]
The default netmask in
netplan
is:255.255.255.0
How can I change/set the netmask e.g.
255.255.255.1
? -
alpha kevin over 6 yearsI had to configure netmask 255.255.255.192 and with /26 works. Great, thanks!