0x00 简介
netplan 是 Ubuntu 在 17.10 版本中引入的一种新的命令行网络配置程序,用于在 Ubuntu 系统中轻松管理和配置网络设置。它允许用户使用 YAML 抽象语法来配置网络接口。它可与 NetworkManager 和 systemd-networkd 网络守护程序一起作为内核的接口。
它读取 /etc/netplan/*.yaml
中描述的网络配置,并且可以将所有网络接口的配置存储在这些文件中。
0x01 静态 IP 设置步骤
列出 Ubuntu 上的所有活动网络接口
首先来查看 Ubuntu 上有哪些可以配置的网络接口。可以通过
ifconfig
命令来列出系统中所有连接的网络接口1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18ismdeep@ubuntu:~$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.56.103 netmask 255.255.255.0 broadcast 192.168.56.255
inet6 fe80::a00:27ff:fe7c:4250 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:7c:42:50 txqueuelen 1000 (Ethernet)
RX packets 361 bytes 32651 (32.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 240 bytes 30363 (30.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1840 bytes 131056 (131.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1840 bytes 131056 (131.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0这里可以看到系统中有两个网络接口:
enp0s3
是以太网接口,lo
是环回接口。Ubuntu 设置静态 IP 地址
在这个例子中,我们将以
enp0s3
以太网接口配置一个静态 IP。如果在
/etc/netplan
目录中没有 yaml 文件的话,则需要通过命令来生成这些配置文件。1
ismdeep@ubuntu:~$ sudo netplan generate
接下来可以通过以下命令查看
/etc/netplan
中有哪些配置文件。1
2
3ismdeep@ubuntu:~$ ls -l /etc/netplan/
total 4
-rw-r--r-- 1 root root 383 Nov 19 11:14 50-cloud-init.yaml接下来通过 vim 或者其他编辑器进行编辑 yaml 文件。
1
2
3
4
5
6
7
8
9
10
11
12network:
ethernets:
enp0s3:
addresses:
- 192.168.56.103/24
dhcp4: false
gateway4: 192.168.56.1
nameservers:
addresses:
- 180.76.76.76
search: []
version: 2说明:
enp0s3
: 网络接口名称dhcp4
: 接收 IPv4 接口的 DHCP 属性dhcp6
: 接收 IPv6 接口的 DHCP 属性addresses
: 接口的静态地址序列gateway4
: 默认网关的 IPv4 地址nameservers
: DNS 服务器地址,以英文逗号( , )分隔。
使之生效
在编辑完配置文件后,通过以下命令使配置生效。
1
ismdeep@ubuntu:~$ sudo netplan apply
0x02 动态 IP 设置步骤
要将
enp0s3
以太网接口配置为通过 DHCP 动态IP,只需使用以下配置即可1
2
3
4
5
6network:
ethernets:
enp0s3:
dhcp4: true
dhcp6: true
version: 2使之生效
1
ismdeep@ubuntu:~$ sudo netplan apply