@TOC
一、Ubuntu系统介绍
1.1 Ubuntu简介
Ubuntu
是一款基于Linux的开源操作系统,以用户友好、免费和社区驱动而闻名。它拥有强大的功能、易于使用和高度可定制,适用于个人和企业用户。Ubuntu提供了丰富的应用程序和工具,满足用户在各种任务和工作场景中的需求。无论是个人电脑、服务器、云环境、物联网设备还是其他平台,Ubuntu都为其提供了一个稳定且功能强大的计算环境。
1.2 Ubuntu网络配置方式
在Ubuntu
18.04 LTS
及之后的版本中,网络配置的主要方式从传统的/etc/network/interfaces文件转向了netplan。这一改变是为了提供一种更现代化、更灵活的网络配置方法,特别是为了更好地支持云环境和多接口配置。
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为centos7.6。
hostname | 本地P地址 | 操作系统版本 | 内核版本 | node版本 |
---|---|---|---|---|
ubuntu-001 | 192.168.3.251 | Ubuntu 22.04.1 LTS | 5.15.0-89-generic | v18.0.0 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Ubuntu环境下配置网卡IP地址。
三、检查本地环境
3.1 检查本地操作系统版本
检查本地操作系统版本,当前版本为Ubuntu 22.04.1 LTS。
root@ubuntu-001:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
3.2 检查系统内核版本
检查系统内核版本,当前内核版本为5.15.0-89-generic。
root@ubuntu-001:~# uname -r
5.15.0-97-generic
四、配置网卡IP地址
4.1 备份网卡配置文件
执行以下命令,将网卡配置文件
00-installer-config.yaml
进行备份。
cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
4.2 查看当前IP地址
可以使用下命令,查看当前网卡IP地址。
root@ubuntu-001:~# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:54:85:18 brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet 192.168.3.251/24 brd 192.168.3.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe54:8518/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:08:5f:75 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4.3 修改网卡配置文件
修改网卡配置文件
00-installer-config.yaml
,ens33是服务器的网卡名,我们可以用 ip addr 查看,可以根据实际情况自定义修改静态IP地址即可。
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
addresses:
- 192.168.3.251/24
gateway4: 192.168.3.254
nameservers:
addresses:
- 192.168.3.254
search: []
version: 2
修改完毕后,执行
netplan apply
命令来应用更改。系统将重新配置网络接口。
netplan apply
我们使用
gateway4字段
时,会出现以下警告,这条警告指出在你的Netplan配置中使用了gateway4字段,而这个字段已经被废弃。Netplan现在推荐使用默认路由(default routes)来指定网关。
root@ubuntu-001:~# netplan ip leases ens33
** (generate:3477): WARNING **: 08:00:22.096: `gateway4` has been deprecated, use default routes instead.
See the 'Default routes' section of the documentation for more details.
No lease found for interface 'ens33': [Errno 2] No such file or directory: '/run/systemd/netif/leases/2'
可以使用以下配置方式
network:
ethernets:
ens33:
dhcp4: false
addresses:
- 192.168.3.251/24
routes:
- to: default
via: 192.168.3.254
nameservers:
addresses: [192.168.3.254,223.5.5.5]
version: 2
netplan apply
4.4 修改DHCP获取IP地址
如果需要修改为DHCP服务器自动获取IP地址,可以配置dhcp4为
true
。
# This is the network config for DHCP
network:
version: 2
ethernets:
ens33:
dhcp4: true
修改完毕后,执行
netplan apply
命令来应用更改。系统将重新配置网络接口,并从DHCP服务器获取网络设置。注意修改IP地址后,SSH远程连接会重新断开,请谨慎操作。
netplan apply
此时,我们到该虚拟机的控制台,查看其IP地址,发现已自动从DHCP服务器获取。
五、nmcli命令修改网卡IP地址
5.1 nmcli命令简介
nmcli是NetworkManager的命令行实用程序,用于管理和配置网络连接。
5.2 指定nmcli管理网络
在网卡配置文件
00-installer-config.yaml
中,我们指定NetworkManager管理。
network:
ethernets:
ens33:
dhcp4: false
addresses:
- 192.168.3.251/24
routes:
- to: default
via: 192.168.3.254
nameservers:
addresses: [192.168.3.254,223.5.5.5]
version: 2
renderer: NetworkManager
netplan apply
5.2 查看网卡状态
查看当前系统的网卡所有网卡状态
root@ubuntu-001:~# nmcli device status
DEVICE TYPE STATE CONNECTION
ens33 ethernet connected netplan-ens33
ens38 ethernet connected Wired connection 1
virbr0 bridge connected (externally) virbr0
lo loopback unmanaged --
5.3 连接或断开网卡设备
- 断开网卡设备
root@ubuntu-001:~# nmcli device disconnect ens38
Device 'ens38' successfully disconnected.
- 连接网卡设备
root@ubuntu-001:~# nmcli device connect ens38
Device 'ens38' successfully activated with '0f79c712-b817-3cc0-8284-98a4fffcb206'.
5.4 查看网卡信息
执行以下命令,查看网卡连接信息。
root@ubuntu-001:~# nmcli connection show
NAME UUID TYPE DEVICE
netplan-ens33 14f59568-5076-387a-aef6-10adfcca2e26 ethernet ens33
Wired connection 1 0f79c712-b817-3cc0-8284-98a4fffcb206 ethernet ens38
virbr0 705f013b-aa85-41cc-a1a0-aa3fa1351831 bridge virbr0
5.5 新增网卡IP地址
新增网卡IP地址
nmcli connection add ifname ens38 type ethernet con-name ens38-con38 ipv4.addresses 192.168.100.200/24 ipv4.gateway 192.168.100.254 ipv4.dns 192.168.100.254 ipv4.method manual
nmcli connection reload
nmcli connection up ens38-con38
查看IP地址
root@ubuntu-001:~# ifconfig ens38
ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.200 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::540a:2007:2730:b4c6 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:54:85:22 txqueuelen 1000 (Ethernet)
RX packets 825 bytes 73191 (73.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 67 bytes 6184 (6.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
5.6 修改网卡IP地址
执行以下命令,修改网卡IP地址。
root@ubuntu-001:~# nmcli connection modify ens38-con38 ipv4.addresses 192.168.200.200/24 ipv4.gateway 192.168.200.254 ipv4.dns 192.168.200.254 ipv4.method manual
root@ubuntu-001:~# nmcli connection reload
root@ubuntu-001:~# nmcli connection up ens38-con38
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
六、使用nmtui配置网卡
6.1 nmtui简介
nmtui是NetworkManager Text User Interface的缩写,它是NetworkManager的一个命令行界面工具。nmtui命令提供了一个交互式界面,用于配置和管理网络连接。它对于那些不熟悉命令行的用户来说非常有用,因为它提供了一种简单直观的方式来配置网络连接。
6.2 配置网卡
在命令行中,直接使用
nmtui
命令,进入网卡配置界面。
nmtui
选择第一个选项,编辑修改网卡。
选择要配置的网卡
修改网卡IP地址,配置完毕后,选中OK确定即可。
七、总结
在Ubuntu 18.04 LTS及以后版本中配置网卡,我们需要编辑
/etc/netplan/*.yaml
文件,其中*
表示配置文件的名称。在该文件中,我们可以指定网络接口名称、IP地址、网关、DNS服务器等信息。完成编辑后,我们需要运行sudo netplan apply
命令使配置生效。同样我们可以使用nmcli命令和nmtui来管理网卡,灵活掌握在Ubuntu系统下的网卡配置,是每一位运维人的基本功。