Netplan是Ubuntu 17.10中引入的一种新的命令行网络配置实用程序,用于在Ubuntu
系统中轻松管理和配置网络设置。它允许您使用YAML抽象来配置网络接口。它可与NetworkManager和systemd-networkd网络守护程序(称为渲染程序,您可以选择使用其中的哪一个)一起作为内核的接口。
它读取/etc/netplan/*.ymal
中描述的网络配置,并且可以将所有网络接口的配置存储在这些文件中。
在本文中。我们将解释如何使用Netplan实用程序在Ubuntu 18.04中为网络接口配置网络静态或动态IP地址
列出Ubuntu上的所有活动网络接口
ifconfig -a
Ubuntu设置静态IP地址
重要提示:如果YAML文件不是由发行版安装程序创建的,则可以使用此命令为渲染器生成所需的配置。
sudo netplan generate
另外,自动生成的文件可能在桌面,服务器,云实例等上有不同的文件名,但是/etc/netplan/*.yaml
下的所有文件将被netplan
读取。
sudo vim /etc/netplan/xxxx.ymal
然后在ethernet
部分添加以下配置。
network:
ethernets:
ens33:
addresses:
- 192.168.0.118/24
dhcp4: false
gateway4: 192.168.0.1
nameservers:
addresses:
- 8.8.8.8
search: []
version: 2
- ens33:网络接口名称
- dhcp4:接收IPV4接口的dhcp属性
- dhcp6:接收IPV6接口的dhcp属性
- addresses:接口的静态地址序列
- gateway4:默认网关的IPV4地址
- Nameservers:DNS服务器地址,以,号分割
保存该文件并退出。然后使用以下netplan
命令应用最近的网络更改。
sudo netplan apply
可以通过查看netplan
手册页找到更多信息和配置选项。
man netplan
关闭ipv6
echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >>/etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" >>/etc/sysctl.conf
reboot
设置DNS resolvconf
vi /etc/systemd/resolved.conf
systemctl restart systemd-resolved
要自行设定DNS服务器有两个方法
(1)关闭systemd-resolvd服务
systemctl stop systemd-resolvd
systemctl disable systemd-resolvd
这样对/etc/resolv.conf做出的修改都能保存下来。
sudo apt install unbound
sudo rm -rf /etc/resolv.conf
sudo vim /etc/NetworkManager/NetworkManager.conf
在[main]
下面添加
dns=unbound
将dns服务替换为unbound
reboot
重启电脑即可,开机查看resolve.conf发现nameserver自动配置
/etc/network/interfaces
dns-nameservers 10.123.122.212
dns-nameservers 202.96.134.133
dns-nameservers 8.8.8.8
# nameserver 127.0.0.53
options edns0
search cnotax.com
通过resolvconf实现配置
resolvconfig应用可以实现DNS信息管理,可以通过下面的应用来安装此组件:
sudo apt-get install resolvconf
创建/etc/default/resolvconf缺省配置文件,添加相关环境变量
bob@ubuntu:/etc/resolvconf/resolv.conf.d$ cat /etc/default/resolvconf
TRUNCATE_NAMESERVER_LIST_AFTER_127=no
该环境变量影响保存到/etc/resolv.conf的DNS配置条数。向/etc/resolvconf/resolv.conf.d/base配置文件中添加DNS配置项。
bob@ubuntu:/etc/resolvconf/resolv.conf.d$ cat base
nameserver 10.220.0.11
nameserver 10.220.0.12
search infinera.com
使用下列配置命令使配置生效
sudo resolvconf -u
删除
apt-get remove --purge resolvconf