首页 > 系统相关 >Linux系统使用nmcli命令配置网络(永久有效)

Linux系统使用nmcli命令配置网络(永久有效)

时间:2024-03-29 13:33:44浏览次数:22  
标签:nmcli 配置 永久 网卡 ipv4 Linux test con

        前言:原文在我的博客网站中,持续更新数通、系统方面的知识,欢迎来访!

使用nmcli命令配置网络icon-default.png?t=N7T8https://myweb.myskillstree.cn/88.html

       

目录

1、配置Network-Manager接管网络(Ubuntu需要,Centos不需要)

2、nmcli的相关配置

使用nmcli添加一个网卡并配置静态ip地址

激活/关闭网卡

使用nmcli修改一个网卡的地址

使用nmcli添加一个网卡配置使其获取动态ip地址

使用nmcli将已有的静态网卡配置修改为动态网卡配置

使用nmcli将已有的动态网卡配置修改为静态网卡配置

使用nmcli删除一个网卡配置信息

使用nmcli修改网卡设备的连接名称


         PS:network-manager接管网络后使用nmcli命令修改网卡的相关配置后会永久生效(重启网卡后依旧生效)

1、配置Network-Manager接管网络(Ubuntu需要,Centos不需要)

安装Network-Manager

apt install network-manager -y

编辑Network-Manager配置文件

vim /etc/NetworkManager/NetworkManager.conf
  将 managed=flase 改为 managed=true
保存退出
systemctl restart NetworkManager                    # 重启NetworkManager服务

编辑/etc/netplan/*.yaml,在我的机器上为:01-network-manager-all.yaml

vim /etc/netplan/01-network-manager-all.yaml
修改为以下内容:
network:
  version: 2
  renderer: NetworkManager
保存退出
netplan apply                                      # 应用配置

此时已经可以通过nmcli管理网络了

        使用nmcli -p device查看设备状态

nmcli -p device

============
  设备状态
============
DEVICE  TYPE      STATE   CONNECTION 
--------------------------------------------------
ens32   ethernet  已连接  有线连接 1 
lo      loopback  未托管  --      

2、nmcli的相关配置

使用nmcli添加一个网卡并配置静态ip地址

        语法:

nmcli con add con-name <连接名> ifname <网卡名> type <连接类型> ipv4.method manual ipv4.addresses <ipv4地址> ipv4.gateway <ipv4网关地址> ipv4.dns <ipv4 dns服务器>

        示例:

nmcli con add con-name test ifname ens32 type ethernet ipv4.method manual ipv4.addresses 192.168.10.10/24 ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2
 连接 "test" (3ceeec8a-d92c-42dd-ae10-2f5478eda991) 已成功添加

        此时静态地址就配置完成了,但是网卡还未激活配置未生效

激活/关闭网卡

        语法:

nmcli con {up/down} <连接名>

        示例:

nmcli con up test 
 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)

        查看网卡信息

nmcli con show

NAME        UUID                                  TYPE      DEVICE 
test        3ceeec8a-d92c-42dd-ae10-2f5478eda991  ethernet  ens32  
有线连接 1   b640bf63-ac94-3547-be75-8fac06083304  ethernet  --    

使用nmcli修改一个网卡的地址

        语法:

nmcli con modify <连接名> ipv4.method manual ipv4.addresses <新的ipv4地址> ipv4.gateway <新的ipv4网关地址> ipv4.dns <dns服务器>

        示例:

nmcli con modify ens33 ipv4.method manual ipv4.addresses 192.168.10.20/24 ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2

        刷新网卡并查看信息

nmcli con up test
ip add

使用nmcli添加一个网卡配置使其获取动态ip地址

        语法:

nmcli con add con-name <连接名> ifname <网卡名> type <连接类型> ipv4.method auto

        示例:

nmcli con add con-name test ifname ens32 type ethernet ipv4.method auto
nmcli con up test                                     # 激活网卡
使用nmcli将已有的静态网卡配置修改为动态网卡配置

        语法:

nmcli con modify <连接名> ipv4.method auto

        示例:

nmcli con modify test ipv4.method auto
nmcli con up test

        PS:需要将静态地址删除,否则会有两个地址出现

nmcli connection modify test ipv4.addresses "" ipv4.gateway ""        # 将test的ip地址和网关设置为空,也就不存在了,只剩下了动态地址
使用nmcli将已有的动态网卡配置修改为静态网卡配置

        语法:
 

nmcli con modify <连接名> ipv4.method manual ipv4.address <IP地址/子网掩码> ipv4.gateway <网关> ipv4.dns <dns地址>

        示例:

nmcli con modify test ipv4.method manual ipv4.address 192.168.10.20/24 ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2
nmcli con up test
使用nmcli删除一个网卡配置信息

        语法:

nmcli con del <连接名> 

        示例:

nmcli con del test
 成功删除连接 "test" (3ceeec8a-d92c-42dd-ae10-2f5478eda991)

        查看网卡信息

nmcli con show

NAME        UUID                                  TYPE      DEVICE 
有线连接 1  b640bf63-ac94-3547-be75-8fac06083304  ethernet  ens32 
使用nmcli修改网卡设备的连接名称

        语法:

nmcli con modify <原名称或UUID值> connection.id <新名称>

        示例:

        先查看网卡设备的各项信息

nmcli con show

NAME        UUID                                  TYPE      DEVICE 
有线连接 1   b640bf63-ac94-3547-be75-8fac06083304  ethernet  ens32     

        修改网卡设备的连接名称为ens32

nmcli con modify b640bf63-ac94-3547-be75-8fac06083304 connection.id ens32

        再次查看网卡设备的各项信息,可以发现NAME这一栏的名称被修改了

nmcli con show

NAME        UUID                                  TYPE      DEVICE 
ens32       b640bf63-ac94-3547-be75-8fac06083304  ethernet  ens32   

标签:nmcli,配置,永久,网卡,ipv4,Linux,test,con
From: https://blog.csdn.net/m0_74367891/article/details/137141654

相关文章

  • Ask HN: Recommended resources to learn the Linux kernel and OS theory?
     https://news.ycombinator.com/item?id=20809666 SorecentlyIdidacoupleofminorpatchesontheFreeBSDandNetBSDkernelsandplayedwithsomelinuxkernel.Itwasthefirsttimeinaafewyears,I'vebeenexcitedaboutprogramming.Unfortunat......
  • LINUX颜色打印
     /////////////////////////////////////////////////////////////////////////////////////#defineD_RED"\e[0;31m"//#defineRED"\e[1;31m"//红#defineD_GREEN"\e[0;32m"//#defineGREE......
  • Linux安装Mysql
    一、下载 https://downloads.mysql.com/archives/community/ 二、创建用户groupaddmysqluseradd-gmysqlmysql三、安装1、解压 tar-xvfmysql-8.0.28-el7-x86_64.tar.gz2、重新命名mvmysql-8.0.28-el7-x86_64.tar.gzmysql-8.0.283、加入配置root下......
  • Linux 上用 docker-compose 文件指定的方式安装ETCD
    转载自:https://xie.infoq.cn/article/ffb0703096f0de1045e1ab028,这篇博客很棒!完全可执行的。本人修改了作者docker命令替换成了dockercompose文件的方式。创建数据保存目录:mkdir-p/home/service/etcd/data;创建配置目录:/home/service/etcd/conf;配置文件:/home/service......
  • 转载:使用 Linux tracepoint、perf 和 eBPF 跟踪数据包 (2017)
    http://arthurchiao.art/blog/trace-packet-with-tracepoint-perf-ebpf-zh/Linux允许在主机上用虚拟网卡(virtualinterface)和网络命名空间(networknamespace)构建复杂的网络。但出现故障时,排障(troubleshooting)相当痛苦。如果是3层路由问题,mtr 可以排上用场;但如果是更底层的问......
  • Linux下TCP/IP编程--TCP实战
    之前尝试过windows下的简单TCP客户端服务器编写,这次尝试下一下Linux环境下的TCP客户端代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>structC......
  • linux文件相关命令 通过文件获取父文件夹名称
    linux文件相关命令通过文件获取父文件夹名称不说废话,先上命令通过文件获取父文件夹名称dirname$(realpath`your_filename`)通过文件路径得到文件名称basename`your_filename`相关命令basenamedirnamerealpathreallinklspwd通过文件获取父文件夹名称......
  • 在Linux中,如何创建和管理KVM虚拟机?
    在Linux环境中创建和管理KVM(Kernel-basedVirtualMachine)虚拟机通常涉及以下几个步骤:1.系统准备与检查确保系统兼容性:检查CPU是否支持硬件虚拟化(如IntelVT-x或AMD-V)。可以使用以下命令:egrep-o'(vmx|svm)'/proc/cpuinfo如果返回结果中有vmx(Intel)或svm(AMD),则说明CPU支......
  • 在Linux中,如何追踪TCP连接和网络数据包,如使用tcpdump或Wireshark?
    在Linux环境中,追踪TCP连接和网络数据包主要通过使用命令行工具tcpdump和图形化网络分析软件Wireshark来实现。以下是详细的操作步骤:1.使用tcpdumptcpdump是一个强大的命令行网络抓包工具,用于实时捕获和分析网络流量。以下是如何使用tcpdump追踪TCP连接和数据包:1.基本用法......
  • 在Linux中,如何配置和管理LVS集群?
    配置和管理LinuxVirtualServer(LVS)集群涉及以下几个主要步骤:环境准备:操作系统:确保所有参与集群的节点运行兼容的Linux发行版,如CentOS、Ubuntu等。内核支持:确认内核版本支持LVS所需的IP负载均衡模块,如IPVS(IPVirtualServer)。对于较新的内核,IPVS通常已集成。若需编译内核,请......