Linux CentOS7配置网络参数

CentOS6及以前版本中主要使用ifconfig工具,查看、配置网络参数。后来对推荐使用ip命令查看配置网络参数。而centos7中,不再赞成使用ifconfig工具,取而代之的是nmcli工具,服务管理也是以systemctl工具取代了service,这些之前版本的工具虽然在centos7中还可以继续使用,只是出于版本兼容的目的。本文主要从命令ifconfig、ip和nmcli对centos7中网络配置和管理进行介绍和说明。

我们本文讨论的网络环境:

        主机win7

        网络IP地址192.168.1.x

        网关192.168.1.1

        DNS 114.114.114.114

        VMware15 安装有虚拟机centos7 centos8 ubuntu22.04

        采用桥接模式连接主机与虚拟机及外网

为了减少文章的篇幅,不再一一列出查询网络信息的方法,完全可以从本文阐述的修改网络信息中获取答案。

说明:本文所谓的网络参数主要指IP、子网掩码、网关和DNS。网卡设备名称与网络接口名称我们不作重点讨论经。

配置网络参数的方法很多,主要分为三大类:图形化、命令行和编辑配置文件。我们重点讨论如何运用命令达到目的。

一、图形化

对于初学者,讨论图形化设置网络参数比较合适,对于熟悉GLI且具有一定基础的,肯定希望运行命令查看及设置相关参数。

此处介绍图形化设置,更多是提供链接或部分截图,不作深入讨论。

1.桌面图形化

可以参考本人文章《设置linux centos7连接网络》。  

2.工具图形化

nm-connection-editor

此工具与伪图形化nmtui不同:在运用这款工具前,首先检查是否开启NM服务(NetworkManager)

没有开启时,要重启,再查看

也可以用命令查看是否活动的:

此工具支持鼠标、键盘,方便灵活:

TIPS:此工具在centos8和ubuntu中不支持root身份使用,必须用普通管理员(普通用户在sudo组中)打开

更改网络接口名称

新添加的网卡,接口名称一般是:

Wired connection 1(没有开启中文环境)

有线连接 1(开启中文环境)

因为名称中有空格,在命令行中使用时,应加单引号括起来(有的加\表示有转义,此处有空格)

自动获取IP地址

此图中不需要设置IP等参数

设置静态IP地址

设置好网络参数,并不代表可以连接。仍然需要启动。

3.伪图形化

nmtui

与nm-connection-editor相比,nmtui更不好用,不能使用鼠标,仅能使用键盘与方向键。详细操作过程可以参考本人文章《设置centos7联网-nmtui方法》 。

二、命令行

1.ifconfig

在centos7中此命令已不推荐使用,推荐用ip命令。或者开启NM服务管理,运用nmcli命令。

因为在centos6及以前版本中使用这个ifconfig命令,网上介绍也多,使用者众。如果要使用此命令,必须安装net-tools软件包。

用ifconfig命令可以查看当前的网络参数。默认不能查看停用的网卡。加上-a选项,就可以了。该命令一试便知,不用多讨论。

a.设置IP并开启

命令格式:

        ifconfig [网卡名称] [IP地址] [up/down]

说明:

        IP地址可以写成IP/24形式

        up 设置后开启;没有IP地址时开启前面的网卡

        down 设置网卡停用;如有IP地址时,仅停用此IP

如果对一块网卡设置多个IP地址,可为每一个IP地址指定一个别名:网卡名称[:别名序号],如ens33:1 此网卡的第1个别名

案例:

对ens33指定一个IP地址192.168.1.111/24,还想为此网卡设置另一个IP地址192.168.1.200/24

可以这样操作:

        ifconfig ens33 192.168.1.111/24 up

        ifconfig ens33:1 192.168.1.200/24

效果:

b.指定IP所在网卡停用

        ifconfig ens33 192.168.1.111 down

        ifconfig ens33 down  # 可以仅指定网卡名称

c.指定网关

        ifconfig命令不能指定网关,要设置网关,只能用命令route

查看网关

        route -n

当前只有两个直链路由,没有默认路由

添加网关

        route add default gw 192.168.1.1

删除网关

        route del default gw 192.168.1.1

#与前一命令相比,可知:删除网关就是把add改为del

验证网关

不设置网关,主机不能ping通其他网段的主机,只有设置后才可以ping通。

d.指定DNS

ifconfig命令也不能指定DNS。我们需要有配置文件中添加一条DNS。常用命令如下:

        echo "nameserver 8.8.4.4" > /etc/resolv.conf

2.ip

ip命令是Linux系统中用于配置网络接口的更现代化的命令。是我们推荐使用的命令。

a.查看网络参数

用ip命令可以查看当前的网络参数。

        ip address show

此命令中show是默认选项,可以不写,也可以简写为s;而address也可以简写为a

前面完整的命令可用如下简写命令代替:

        ip a s

        ip a

此命令与ifconfig命令查询结果基本一样的。

b.修改IP地址

可以使用以下命令:

        ip addr add [new_ip_address/mask] dev [interface]

其中,[new_ip_address/mask]是要设置的新IP地址和子网掩码,[interface]是要修改IP地址的网络接口名称。

例如,要将ens34接口的IP地址修改为192.168.1.100/24,可以使用以下命令:

        ip addr add 192.168.1.100/24 dev ens34

实际使用时,可以简写命令。

c.移除IP地址

还可以使用ip命令来删除或禁用已有的IP地址。主要就是把添加关键词add改为删除关键词del

d.添加网关

与ifconfig不同,ip命令可以添加网关(设置路由):

主机先设置好IP地址,再设置网关

        ip  route  add  192.168.1.120/32   via 192.168.1.1  添加主机路由

        ip  route  add  192.168.1.0/24   via 192.168.1.1   添加网络路由

查看网关

        ip  route show  查看网关

可以简写为ip r

移除网关

        ip r del 192.168.1.100 via 192.168.1.1移除主机路由

e.ip link命令

        ip   link  set  dev  ens34  down/up    网卡关闭和开启

关闭ens34

        ip   link  set  dev  ens34  down

修改ens34为ens37

        ip   link  set  dev  ens34  name ens37

开启ens37

        ip   link  set  dev  ens34  /up

查看

        ip a

特别说明:ifconfig、ip设置的网络参数是临时性的,重启主机就会失效。主要原因是这两个命令修改的是内存中网络环境参数,并未把网络参数写入配置文件。

3.nmcli

ifconfig只能设置IP地址/子网掩码,只ip可以多设置一个网关。但都不能设置DNS,只有最新的nmcli命令可以全部设置。

CentoS7系统默认采用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。NetworkManager提供的命令行和图形配置工具对网络进行设定,且设定的网络参数保存在配置文件中,在/etc/sysconfig/network-scripts目录下。

下面列出的命令是完整的写法,难以录入且易出错。实际录入过程中,该命令支持简写语法,同时,要熟练掌握Tab键的运用,方便、准确、有帮助,不需要完全一一录入。如录入nmcli c后按一下Tab键,自动补全为nmcli connection,再按空格,录入一个m后按一下Tab键,自动补全为nmcli connection modify等等。

a.获取网卡相关信息

        nmcli connection show(可简写为nmnli c)

如网卡未启用,也未建立相关配置文件,则在device栏位显示"--"。在配置完成,重启网络服务后就会显示相应的设备名。

        nmcli device status(可简写为nmnli d)

此命令与前一命令均可以查看到网卡信息

b.手工配置网卡

要熟练掌握Tab键的运用,自动补全命令:

        nmcli connection modify … 对已存在的网络连接进行修改

        nmcli connection add … 对未配置网络参数的进行添加

(1)修改已存在的网络参数

        nmcli connection modify ens38 \

        connection.autoconnect yes \

        ipv4.method manual \

        ipv4.address 192.168.1.22/24 \

        ipv4.gateway 192.168.1.1 \

        ipv4.dns 114.114.114.114

(2)添加网络参数

在添加参数过程中,利用Tab键可以查看添加哪些参数,关键词等

当录入完成后执行时,如错少参数,会有提示。再次执行上次的命令,补上参数即可。

nmcli connection add:创建命令必须:

        1)type:指定配置类型

        2)con-name:指定配置文件名字

        3)ifname:指定接口名字

        4)ipv4.method(manual | auto):指定ip地址模式,manual对应静态地址,auto对应动态地址(ip,dns,gateway都无需指定)

        5)ipv4.addresses:指定ipv4静态地址(可以设置多个IP地址,多个IP之间用英文逗号分隔)

        6)ipv4.dns:指定dns服务器

        7)ipv4.gateway:指定网关

前述几项参数不分前后顺序,可以随时调整。

该命令自动创建配置文件,服务器重启配置不会丢失。

c.激活/停用网卡

(1)激活

nmcli connection up <网络连接>

nmcli device connect <网络设备>

设置新的网络参数后,要生效必须重启网络服务。现在只需要把新设置的网卡设备(或新的连接)执行上述命令即可。

激活后查看:

(2)停用 down

        nmcli connection down <网络连接>

        nmcli device disconnect <网络设备>

执行断开命令

查看

d.移除网卡

        nmcli connection del <网络连接>

        nmcli connection del uuid <uuid值>

停用网卡连接

移除不需要网卡连接

三、编辑配置文件

1.查看网卡配置文件

        ls /etc/*/*/ifcfg-*

2.修改网卡配置文件

a.vim

用vim修改配置文件比较常见,也可以用nona等

        vim /etc/*/*/ifcfg-con1

b.sed

如何只是修改很少几处参数,可以使用流编辑器sed

sed -i   's/192.168.1.70/192.168.1.80/' /etc/sysconfig/network-script/ifcfg-con1

3.为网卡设置双IP

        cd /etc/sysconfig/network-scripts/

        cp ifcfg-ens33 ifcfg-ens33:1

        vim ifcfg-ens33:1

--修改如下内容,保存并退出。

        NAME=ens33:1

        DEVICE=ens33:1

        IPADDR=192.168.1.32

        PREFIX=24

        nmcli connection show ens33:1

输出结果中将看到该网卡有此网卡别名ens33:1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音视频项目—基于FFmpeg和SDL的音视频播放器解析(十二)

介绍 在本系列&#xff0c;我打算花大篇幅讲解我的 gitee 项目音视频播放器&#xff0c;在这个项目&#xff0c;您可以学到音视频解封装&#xff0c;解码&#xff0c;SDL渲染相关的知识。您对源代码感兴趣的话&#xff0c;请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…

学霸教你自学人工智能

在这个信息爆炸的时代&#xff0c;人工智能已经渗透到我们生活的方方面面。无论是语音助手、自动驾驶汽车&#xff0c;还是医疗诊断&#xff0c;人工智能都在发挥着越来越重要的作用。如果你对人工智能充满热情&#xff0c;希望在这个领域有所建树&#xff0c;那么&#xff0c;…

基于深度学习的视觉三维重建研究总结

参考连接&#xff1a; 基于深度学习的视觉三维重建研究总结 - 知乎

微信私域运营工具CRM

为什么要做微信私域&#xff1f; 客户在哪里&#xff1f;微信&#xff01;在中国&#xff0c;不论男女老少&#xff0c;90%的人每天使用微信至少5次&#xff0c;每次使用时间超过90分钟&#xff0c;已经成为像吃饭穿衣一样的生活必需品。因此&#xff0c;我们的目标客户就在微…

【github】初学者使用指南

作者&#xff1a;20岁爱吃必胜客&#xff08;坤制作人&#xff09;&#xff0c;近十年开发经验, 跨域学习者&#xff0c;目前于新西兰奥克兰大学攻读IT硕士学位。荣誉&#xff1a;阿里云博客专家认证、腾讯开发者社区优质创作者&#xff0c;在CTF省赛校赛多次取得好成绩。跨领域…

简单选择排序

目录 基本原理举例示例代码总结简单选择排序 VS 堆排序简单选择排序 VS 冒泡排序 本文主要介绍简单选择排序的基本原理、具体例子&#xff0c;以及代码实现。 基本原理 简单选择排序的基本原理是&#xff1a; 在未排序序列中找到最小&#xff08;大&#xff09;元素&#xf…

一个奇怪的蓝牙模块分析记录

蓝牙标识PZ-BT11 从这个蓝牙通电后的表现可以看到有2个蓝牙&#xff0c;其中一个带有BLE标识&#xff0c;可能是一个双模蓝牙 首先这不是一个普通的JDY蓝牙&#xff0c; 因为普通JDY蓝牙只有1个蓝牙信号&#xff08;从手机搜索蓝牙&#xff09; 这可能是一个BLE蓝牙 因为B…

VMware——WindowServer2012R2环境mysql5.7.14解压版安装主从复制(图解版)

目录 一、服务器信息二、192.168.132.33主服务器上安装mysql&#xff08;主&#xff09;2.1、环境变量配置2.2、安装2.2.1、修改配置文件内容2.2.2、初始化mysql并指定超级用户密码2.2.3、安装mysql服务2.2.4、启动mysql服务2.2.5、登录用户管理及密码修改2.2.6、开启远程访问 …

Vue3 源码解读系列(七)——侦听器

侦听器 watch 侦听器是当侦听的对象或者函数发生了变化则自动执行某个回调函数。 侦听器的内部设计&#xff1a;侦听响应式数据的变化&#xff0c;内部创建 effect runner&#xff0c;首次执行 runner 做依赖收集&#xff0c;然后在数据发生变化后&#xff0c;以某种调度方式…

ESP32C3小飞控调试

ESP32C3小飞控调试 - 1 ESP32C3小飞控板赶在国庆节前发出打样&#xff0c;假期后上班就收到了样板&#xff0c;但是迟迟没有动手调试&#xff0c;这两天终于抽出时间调试了&#xff0c;调试过程还算顺利&#xff0c;基本没有遇到什么大问题&#xff0c;下面记录一下调试过程。…

什么是轻量应用服务器?腾讯云轻量服务器可以干什么?

腾讯云轻量应用服务器&#xff08;TencentCloud Lighthouse&#xff09;是新一代开箱即用、面向轻量应用场景的云服务器产品&#xff0c;轻量应用服务器可用于搭建中小型网站、Web应用、博客、论坛、小程序/小游戏、电商、云盘/图床、云端开发测试和学习环境等轻量级、中低负载…

微信可以注册小号啦,看看怎么操作

微信支持同一手机号绑定两个账号啦&#xff01; 生活号和工作号可以分开啦&#xff5e;实用又简单&#xff01; 详细步骤如下&#xff1a; ①点击微信-我的-设置 ②点击“切换账号” ③点击“添加账号” ④点击“注册新账号” ⑤点击“通过当前微信的手机号辅助注册” ⑥安…

《 机器人基础 》期末试卷(A)

一、填空题&#xff08;30分&#xff0c;每空2分&#xff09; 1. 按照相机的工作方式&#xff0c;机器人常用相机分为1&#xff09;__ 单目摄像头 2&#xff09;__ 双目摄像头 _ 3&#xff09;_深度摄像头_ 三类。 2. 度量地图强调…

建议收藏《Verilog代码规范笔记_华为》

华为verilog编程规范是坊间流传出来华为内部的资料&#xff0c;其贴合实际工作需要&#xff0c;是非常宝贵的资料&#xff0c;希望大家善存。至于其介绍&#xff0c;在此不再赘述&#xff0c;大家可看下图详细了解&#xff0c;感兴趣的可私信移知教育老师领取《Verilog代码规范…

超长圆钢在线直线度检测 告别手工测量时代

圆钢的直线度指的是它的表面形状是否呈现出直线。直线度是圆钢的重要品质要求之一&#xff0c;与其物理性能密切相关。在工业制造中&#xff0c;如果圆钢的直线度不达标&#xff0c;就会影响其后续的加工和使用效果&#xff0c;严重时甚至会造成损失。 超长圆钢的检测&#xff…

4-4有人写了一个函数

#include<stdio.h> int main(){int x,y;for(int i0;i<3;i){printf("输入x:");scanf("%d",&x);if(x<0){y(-1);printf("x%d的结果是y%d\n",x,y);}else if(x>0){y1;printf("x%d的结果是y%d\n",x,y);}else{y0;printf(&…

/main/binary-i386/Packages 404 File not found

在Ubuntu中使用本地源安装软件时提示以下错误&#xff1a; ......正在读取软件包列表... 完成 E: 无法下载 http://192.168.1.1:8000/dists/Jammy/main/binary-i386/Packages 404 File not found [IP: 192.168.1.1 8000] E: 无法下载 http://192.168.1.1:8000/dists/Jammy-upd…

多表查询内连接、外连接、子查询、笛卡尔积

1.1 多表查询&#xff1a;从多张表中进行查询 仅仅使用select * from tb_emp,tb_dept查询语句会显示如下结果&#xff08;笛卡尔积&#xff1a;两个表的所有的组合情况&#xff09;其中很大部分数据是冗余的。 1.2内连接&#xff1a;相当于查询A,B表交集部分的数据&#xff08…

作为电子信息工程的学生,学完stm32后,是应该学fpga还是Linux?

作为电子信息工程的学生&#xff0c;学完stm32后&#xff0c;是应该学fpga还是Linux? 我自己也是电子信息工程专业出身&#xff0c;FPGA和Linux都是我们大三的专业课&#xff0c;都学过基础也做了基础 的项目&#xff0c;我自己的选择是Linux。最近很多小伙伴找我&#xff0c…

预包装食品备案与食品经营许可证两者的关系

在食品行业中&#xff0c;预包装食品备案和食品经营许可证是两个重要的概念。它们之间存在一定的关系&#xff0c;但又不完全相同。本文将详细介绍两者的定义、区别和联系。 一、预包装食品备案 预包装食品备案&#xff0c;是指对预包装食品的生产者或进口商进行备案登记的一种…