Ubuntu系统下修改网卡IP地址

简介: 【7月更文挑战第3天】Ubuntu系统下修改网卡IP地址

@TOC

一、Ubuntu系统介绍

1.1 Ubuntu简介

Ubuntu是一款基于Linux的开源操作系统,以用户友好、免费和社区驱动而闻名。它拥有强大的功能、易于使用和高度可定制,适用于个人和企业用户。Ubuntu提供了丰富的应用程序和工具,满足用户在各种任务和工作场景中的需求。无论是个人电脑、服务器、云环境、物联网设备还是其他平台,Ubuntu都为其提供了一个稳定且功能强大的计算环境。

1.2 Ubuntu网络配置方式

在Ubuntu18.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系统下的网卡配置,是每一位运维人的基本功。

相关文章
|
30天前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
111 4
Linux系统之Ubuntu安装cockpit管理工具
|
1月前
|
Ubuntu 测试技术 网络安全
Ubuntu系统下部署flatpress轻量级博客系统
【10月更文挑战第3天】Ubuntu系统下部署flatpress轻量级博客系统
47 3
Ubuntu系统下部署flatpress轻量级博客系统
|
23天前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
1月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
79 1
|
17天前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
1月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
1月前
|
Ubuntu jenkins 持续交付
Ubuntu系统 用docker安装jenkins
Ubuntu系统 用docker安装jenkins
|
1月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(五):18.04安装多版本CUDA
这篇博客文章介绍了在Ubuntu 18.04系统上如何安装和切换不同版本的CUDA,以及如何安装不同版本的cuDNN。
187 2
|
Ubuntu 网络架构
ubuntu IP 扫描
/******************************************************************************* * ubuntu IP 扫描 * 说明: * 找个工具进行IP少描,看看路由器上连接了哪些设备。
938 0
|
1月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
3338 3