Ubuntu系统下修改网卡IP地址

Ubuntu系统下修改网卡IP地址

  • 一、Ubuntu系统介绍
    • [1.1 Ubuntu简介](#1.1 Ubuntu简介)
    • [1.2 Ubuntu网络配置方式](#1.2 Ubuntu网络配置方式)
  • 二、本地环境介绍
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、检查本地环境
    • [3.1 检查本地操作系统版本](#3.1 检查本地操作系统版本)
    • [3.2 检查系统内核版本](#3.2 检查系统内核版本)
  • 四、配置网卡IP地址
    • [4.1 备份网卡配置文件](#4.1 备份网卡配置文件)
    • [4.2 查看当前IP地址](#4.2 查看当前IP地址)
    • [4.3 修改网卡配置文件](#4.3 修改网卡配置文件)
    • [4.4 修改DHCP获取IP地址](#4.4 修改DHCP获取IP地址)
  • 五、nmcli命令修改网卡IP地址
    • [5.1 nmcli命令简介](#5.1 nmcli命令简介)
    • [5.2 指定nmcli管理网络](#5.2 指定nmcli管理网络)
    • [5.2 查看网卡状态](#5.2 查看网卡状态)
    • [5.3 连接或断开网卡设备](#5.3 连接或断开网卡设备)
    • [5.4 查看网卡信息](#5.4 查看网卡信息)
    • [5.5 新增网卡IP地址](#5.5 新增网卡IP地址)
    • [5.6 修改网卡IP地址](#5.6 修改网卡IP地址)
  • 六、使用nmtui配置网卡
    • [6.1 nmtui简介](#6.1 nmtui简介)
    • [6.2 配置网卡](#6.2 配置网卡)
  • 七、总结

一、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。

bash 复制代码
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。

bash 复制代码
root@ubuntu-001:~#  uname -r
5.15.0-97-generic

四、配置网卡IP地址

4.1 备份网卡配置文件

执行以下命令,将网卡配置文件00-installer-config.yaml进行备份。

bash 复制代码
cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak

4.2 查看当前IP地址

可以使用下命令,查看当前网卡IP地址。

bash 复制代码
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地址即可。

bash 复制代码
# 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命令来应用更改。系统将重新配置网络接口。

bash 复制代码
netplan apply

我们使用gateway4字段时,会出现以下警告,这条警告指出在你的Netplan配置中使用了gateway4字段,而这个字段已经被废弃。Netplan现在推荐使用默认路由(default routes)来指定网关。

bash 复制代码
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'

可以使用以下配置方式

bash 复制代码
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
bash 复制代码
netplan apply

4.4 修改DHCP获取IP地址

如果需要修改为DHCP服务器自动获取IP地址,可以配置dhcp4为true

bash 复制代码
# This is the network config for DHCP
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: true

修改完毕后,执行netplan apply命令来应用更改。系统将重新配置网络接口,并从DHCP服务器获取网络设置。注意修改IP地址后,SSH远程连接会重新断开,请谨慎操作。

bash 复制代码
netplan apply

此时,我们到该虚拟机的控制台,查看其IP地址,发现已自动从DHCP服务器获取。

五、nmcli命令修改网卡IP地址

5.1 nmcli命令简介

nmcli是NetworkManager的命令行实用程序,用于管理和配置网络连接。

5.2 指定nmcli管理网络

在网卡配置文件00-installer-config.yaml中,我们指定NetworkManager管理。

bash 复制代码
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
bash 复制代码
netplan apply

5.2 查看网卡状态

查看当前系统的网卡所有网卡状态

bash 复制代码
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 连接或断开网卡设备

  • 断开网卡设备
bash 复制代码
root@ubuntu-001:~# nmcli device disconnect ens38
Device 'ens38' successfully disconnected.
  • 连接网卡设备
bash 复制代码
root@ubuntu-001:~# nmcli device connect ens38
Device 'ens38' successfully activated with '0f79c712-b817-3cc0-8284-98a4fffcb206'.

5.4 查看网卡信息

执行以下命令,查看网卡连接信息。

bash 复制代码
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地址

bash 复制代码
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
bash 复制代码
nmcli connection reload
bash 复制代码
nmcli connection up ens38-con38

查看IP地址

bash 复制代码
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地址。

bash 复制代码
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命令,进入网卡配置界面。

bash 复制代码
nmtui

选择第一个选项,编辑修改网卡。

选择要配置的网卡

修改网卡IP地址,配置完毕后,选中OK确定即可。

七、总结

在Ubuntu 18.04 LTS及以后版本中配置网卡,我们需要编辑/etc/netplan/*.yaml文件,其中*表示配置文件的名称。在该文件中,我们可以指定网络接口名称、IP地址、网关、DNS服务器等信息。完成编辑后,我们需要运行sudo netplan apply命令使配置生效。同样我们可以使用nmcli命令和nmtui来管理网卡,灵活掌握在Ubuntu系统下的网卡配置,是每一位运维人的基本功。

相关推荐
daqinzl25 分钟前
java获取机器ip、mac
java·mac·ip
xiaoxiongip6663 小时前
HTTP 和 HTTPS
网络·爬虫·网络协议·tcp/ip·http·https·ip
wowocpp5 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
山河君6 小时前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别
knighthood20016 小时前
解决:ros进行gazebo仿真,rviz没有显示传感器数据
c++·ubuntu·ros
懒大王就是我6 小时前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
海绵波波1078 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
幺零九零零11 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
ZachOn1y17 小时前
计算机网络:运输层 —— 运输层概述
网络·tcp/ip·计算机网络·运输层
wowocpp17 小时前
ubuntu 22.04 server 安装 anaconda3
linux·运维·ubuntu