本文已参与「新人创作礼」活动,一起开启掘金创作之路。
ubuntu22.04网络配置
netplan简介
Netplan是Ubuntu 17.10中引入的一种新的命令行网络配置实用程序,用于在Ubuntu系统中轻松管理和配置网络设置。 它允许您使用YAML抽象来配置网络接口。 它可与NetworkManager和systemd-networkd网络守护程序(称为渲染程序 ,您可以选择使用其中的哪一个)一起作为内核的接口。
它读取/etc/netplan/\*.yaml中描述的网络配置,并且可以将所有网络接口的配置存储在这些文件中。
在本文中,我们将解释如何使用Netplan实用程序在Ubuntu 18.04中为网络接口配置网络静态或动态IP地址。
我的ubuntu 22.04的server版本安装好以后,配置文件是:/etc/netplan/00-installer-config.yaml,修改配置以后不用重启,执行 netplan apply 命令可以让配置直接生效。以前的重启网络服务命令/etc/init.d/networking restart或者services network restrart也都会提示为无效命令。
配置文件项介绍
network:
# 版本号,可以不写
version: 2
# 可以不写
renderer: networkd
ethernets:
ens33: #配置的网卡名称
dhcp4: no #dhcp4关闭
dhcp6: no #dhcp6关闭
addresses: [192.168.1.55/24] #设置本机IP及掩码
gateway4: 192.168.1.254 #设置网关
nameservers:
addresses: [114.114.114.114, 8.8.8.8] #设置DNS
注意:
-
配置文件里在冒号:号出现的后面一定要空一格,不空格则在运行netplan apply时提示出错。
出现类似错误:line8 column 6:cloud not find expected ':' #提示是冒号:后面没加空格 -
关键之关键是看清配置总共分为五个层次,逐层向后至少空一格
出现类似错误:netplan found character that cannot start any token,#提示是没有按五个层次写配置文档,一定要下一层比上一层多空一格或以上。
-
第一层-network:
-
第二层-- ethernets:
-
第三层--- ens33:
-
第四层----addresses: [192.168.1.55/24]
-
第四层----gateway4: 192.168.1.254
-
第四层----nameservers:
-
第五层-----addresses: [114.114.114.114, 8.8.8.8]
设置静态IP
network:
ethernets:
enp0s8: #配置的网卡名称
dhcp4: no #dhcp4关闭
addresses: [192.168.3.10/24] #设置本机IP及掩码
gateway4: 192.168.3.1 #设置网关
nameservers:
addresses: [114.114.114.114, 8.8.8.8] #设置DNS
设置动态IP
network:
ethernets:
enp0s8: #配置的网卡名称
dhcp4: yes #dhcp4关闭
我的虚拟机配置内容示例
以下为我virutualbox的虚拟机的配置,三块网卡:
- nat - enp0s3设置为dhcp动态获取
- 桥接 - enp0s8设置为静态IP
- host-only- enp0s9设置为静态IP
network:
ethernets:
enp0s3:# 动态获取IP
dhcp4: true
enp0s8:
dhcp4: false # 静态IP
addresses:
- 192.168.1.9/24 # IP地址
routes:
- to: default
via: 192.168.1.1 # 路由(网关)
nameservers:
addresses: [8.8.8.8,192.168.1.1] # dns解析
enp0s9:
dhcp4: false # 静态IP
addresses:
- 192.168.56.101/24 # IP地址
routes:
- to: default
via: 192.168.56.1 # 路由(网关)
nameservers:
addresses: [192.168.56.1] # dns解析
version: 2