Ubuntu 18.04 的网络配置

netplan简介

目前,ubuntu18.04上使用了netplan 作为网络配置工具;在终端上配置网络参数跟之前的版本有比较大的差别

Netplan工作流程如下图所示;通过读取  /etc/netplan/*.yaml 下的配置文件来获取网络信息(而不再读取 /etc/network/interfaces 文件),从而生成backend config, 这些网络信息作用于Network Manager 和systemd-networkd。

注意:只是针对ubuntu18.04 Server版,对于18.04 desktop它缺省是使用NetworkManger来进行管理,可使用图形界面进行配置,其网络配置文件是保存在:/etc/NetworkManager/system-connections目录下的,跟Server版区别还是比较大的。本人安装的是Dsektop版本,不小心把NetworkManger弄坏了,所以只能用这个了。

更多详细信息,请看https://netplan.io/examples 


配置方法

假设,通过ifconfig等方法得知主机上有以太网卡 enp129s0f0; 需要对其进行网络配置;

静态IP 的书写方式

使用vim打开 /etc/netplan/01-network-manager-all.yaml 文件

vim /etc/netplan/01-network-manager-all.yaml


# Let NetworkManager manage all devices on this system
network:
  ethernets:
          enp129s0f0:
                  addresses: [172.16.50.100/24]
                  gateway4: 172.16.50.254
                  #dhcp4: true
                  nameservers:
                          addresses:
                          - 8.8.8.8
  version: 2
  #renderer: NetworkManager

解析:

为了更好的说明配置文件,可以对比之前的写法:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp129s0f0
iface enp129s0f0 inet static
address 172.16.50.100
gateway 172.16.50.254
netmask 255.255.255.0
#broadcast 192.168.1.255
dns-nameservers 8.8.8.8

由此可见, ethernets 字段中需要书写的是网卡名称(可以写多块网卡信息);

在网卡名称enp129s0f0下面,可以配置网卡信息,如果是需要动态网络直接谢 dhcp4:true 即可,其余的都不需要写了;

addresses: [XXX.XXX.XXX.XXX/24] 是在说ip地址中前24位是网络地址,后32-24的部分是主机的ip,前24是网络地址的属于C类地址,由后面的子网掩码netmask:255.255.255.0 也可以知道属于C类地址;


p.s:  子网掩码的相关知识,可以查看这里


生效

sudo netplan apply






参考文献

NetworkManager

http://manpages.ubuntu.com/manpages/bionic/man5/systemd.network.5.html

Netplan design

posted @ 2018-11-06 14:21  修雨轩陈  阅读(6547)  评论(0编辑  收藏  举报