• 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

    停用网卡连接

    移除不需要网卡连接

    三、编辑配置文件

    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。

  • 相关阅读:
    第七章 配置STA环境
    DHCP服务初探
    ERP企业管理系统报价?购买一套ERP需要多少钱?
    基于nodejs的疫情大数据展示与政策查询系统
    自动化测试如何实施落地?详细教程来了
    Apipost模拟HTTP客户端
    论文阅读笔记 | 三维目标检测——PartA2算法
    YOLOV7改进-添加EIOU,SIOU,AlphaIOU,FocalEIOU
    [SpringBoot]SpringBoot概述(简介、官网构建、快速启动)
    【文献阅读】【NMI 2022】LocalTransform :基于广义模板的有机反应性准确预测图神经网络
  • 原文地址:https://blog.csdn.net/qq_36142959/article/details/134516045