背景:作为系统管理员,需要经常处理主机网络问题,而配置与管理网络的方法和工具也有好几种,这里整理分享一下网络配置与管理的几种方式。

1、NetworkManager 概述

在 Red Hat Enterprise Linux 7 中,默认网络服务由 NetworkManager 提供,后者是一个动态网络控制和配置守护进程,在网络设备和连接可用时保持启动和激活。传统的 ifcfg 类型配置文件仍受支持。

1.1、NetworkManager 优点

  • 更轻松地进行网络配置: NetworkManager 确保网络连接正常工作。当发现系统中没有网络配置但存在网络设备时,NetworkManager 会创建临时连接以提供连接。
  • 提供与用户的简单连接设置:NetworkManager 通过不同的工具(GUI、nmtui、nmcli - )提供管理。
  • 支持配置灵活性。例如:配置 WiFi 接口,NetworkManager 会扫描并显示可用的 wifi 网络。选择一个接口,NetworkManager 会显示在重启过程后提供自动连接所需的凭证。
  • NetworkManager 可以配置网络别名、IP 地址、静态路由、DNS 信息和 VPN 连接,以及许多特定于连接的参数。您可以修改配置选项以反应您的需要。
  • 重启过程后保持设备状态,并接管在重启过程中将其设定为受管模式的接口。
  • 处理没有被显式设置但由用户或者其他网络设备手动控制的设备。

1.2、NetworkManager 工具和应用程序概述

应用程序或工具 描述
nmcli 命令行工具可让用户和脚本与 NetworkManager 交互。请注意,nmcli 可以在没有 GUI 的系统上使用,如服务器来控制 NetworkManager 的所有方面。它的功能与 GUI 工具相同。
nmtui NetworkManager的基于 curses 的简单文本用户界面(TUI)
nm-connection-editor

控制中心实用程序尚未处理的特定任务 (如配置绑定和成组连接)的图形用户界面工具。您可以添加、删除和修改 NetworkManager 存储的网络连接。要启动它,在终端中输入 nm-connection-editor :

~]$ nm-connection-editor

control-center GNOME Shell 提供的图形用户界面工具,可供桌面用户使用。它整合了网络设置工具。要启动它,请按 Super 键进入 Activities Overview,键入Network,然后按 Enter 键。此时会出现网络设置工具。
网络连接图标 GNOME Shell 提供的图形用户界面工具代表网络连接状态,如NetworkManager 报告。该图标有多种状态,充当您当前使用的连接类型的可视化指示。

1.3、NetworkManager的安装和使用

(1)安装NetworkManager

yum install NetworkManager

(2)启动NetworkManager

systemctl start NetworkManager

(3)关闭NetworkManager

systemctl stop NetworkManager

(4)重启NetworkManager

systemctl restart NetworkManager

(5)查看NetworkManager是否开机启动

systemctl is-enabled NetworkManager

(6)开机启动 NetworkManager

systemctl enable NetworkManager

(7)禁止开机启动 NetworkManager

systemctl disable NetworkManager

(8)检查 NetworkManager 的状态

systemctl status NetworkManager
注意:
当 NetworkManager 正在运行时,systemctl status 命令会显示Active: active (running)
当 NetworkManager 没有运行时,systemctl status 命令会显示 Active: inactive (dead)

2、配置IP网络

2.1、使用nmtui配置IP网络

这个步骤描述了如何使用文本用户界面工具 nmtui 配置网络。

2.1.1、启动 nmtui 工具

nmtui

NetworkManager 文本用户界面起始菜单(左英右中),使用箭头键键前进 ,然后按Esc后退浏览选项。按 Enter 键选择一个选项。Space 空格键切换复选框的状态。

选择“Edit a connection”

选择网卡,按Enter进行编辑

2.1.2、配置并保存ipv4信息(配置静态ip选择Manual模式)

2.1.3、要在修改后已激活的连接后应用更改,需要重新激活连接。

a.选择 Activate a connection 菜单条目,激活连接。

b.选择修改的连接。在右侧,单击取消激活按钮,取消激活修改的连接。(注意:此时网络会断,ssh连接的也会断)

c.再次选择连接并单击激活按钮,重新激活修改的连接

2.1.4、命令方式操作

nmtui edit connection-name    #connection-name是网卡名称,例如上面的ens33

注意:如果没有提供连接名称,则会显示选择菜单。如果提供了连接名称并正确识别,则会出现相关的Edit 连接屏幕。

nmtui connect connection-name

注意:如果没有提供连接名称,则会显示选择菜单。如果提供连接名称并正确识别,则会激活相关的连接。

2.2、使用 nmcli 配置 IP 网络

  • nmcli (NetworkManager 命令行界面)命令行工具用于控制 NetworkManager 和报告网络状态,nmcli 用于创建、显示、编辑、删除、激活和停用网络连接,以及控制和显示网络设备状态。
  • nmcli 命令的基本格式如下:
    nmcli [OPTIONS] OBJECT { COMMAND | help }
  • 连接文件::把一个网络设备的配置的集合放在一个文件内,就叫连接文件,比如网卡的配置文件。

  

2.2.1 nmcli networking

显示 NetworkManager 是否接管网络设置:

nmcli networking

networking 可以简写为 n、ne、net、netw…… 所以以上命令可以简写为:

nmcli n

查看网络连接状态:

nmcli n connectivity

网络连接状态共有五种:full、limited(连网,但无法上网)、portal(连网,但需要认证登录后才能上网)、none(没连网)和 unknown。

connectivity 可以简写为 c,所以以上命令可简写为:

nmcli n c

开启网络连接:

nmcli n on

关闭网络连接:

nmcli n off

2.2.2 nmcli general

显示系统网络状态:

nmcli general status

general 可以简写为 g、ge、gen、gene……

status 是 general 的默认项,可以省略不写。所以,以上命令可简写为:

nmcli g

命令返回结果如下:

其中:

STATE 显示网络是否连接;

CONNECTIVITY 与前面介绍的 nmcli networking connectivity 相同;

WIFI-HW 表示 WIFI 硬件开关、WIFI 表示 WIFI 软件开关;

WWAN-HW 表示 WWAN 硬件开关、WWAN 表示 WWAN 软件开关。

HW 代表 HardWare,WWAN 代表 Wireless Wide Area Network。

显示主机名:

nmcli g hostname
nmcli g h

更改主机名:

nmcli g hostname newHostName
nmcli g h newHostName

newHostName是你设置的新主机名。

主机名存放在 /etc/hostname 文件中,修改主机名后,需要重启 NetworkManager。

2.2.3 nmcli connection

显示所有网络连接的信息:

nmcli connection show

connection 可以简写为 c、co、con、conn……

show 是 connection 的默认项,可以省略不写。所以,以上命令可简写为:

nmcli c

nmcli connection show 有一个 -active 参数,可以只显示当前启动的连接:

nmcli c s --active  # 或
nmcli c s -a        # 因为 show 后面有参数项,所以此时的 show 不能省

显示某一特定连接的详细信息(以 ens33 为例):

nmcli c s ens33

启动指定连接:

nmcli c up ens33

如果 ens33 本来就出于连接状态,那此命令会重启 ens33。

关闭指定连接:

nmcli c down ens33

关闭连接后,执行 nmcli c 命令, DEVICE 项将显示为 -- 。

修改连接文件:

nmcli c modify ens33  [ + | - ]选项 选项值  # 或
nmcli c m ens33  [ + | - ]选项 选项值

下面给出常用修改示例:

nmcli c m ens33 ipv4.address 192.168.80.10/24  # 修改 IP 地址和子网掩码
nmcli c m ens33 ipv4.method manual             # 修改为静态配置,默认是 auto
nmcli c m ens33 ipv4.gateway 192.168.80.2      # 修改默认网关
nmcli c m ens33 ipv4.dns 192.168.80.2          # 修改 DNS
nmcli c m ens33 +ipv4.dns 114.114.114.114      # 添加一个 DNS
nmcli c m ens33 ipv6.method ignore            # 将 IPv6 禁用,针对CentOS 8,三个可选项:disabled、auto、manual
nmcli c m ens33 connection.autoconnect yes     # 开机启动

注意,必须先修改 ipv4.address,然后才能修改 ipv4.method!

用空引号""代替选项的值,可将选项设回默认值(以 ipv4.method 为例):

nmcli c m ens33 ipv4.method ""

选项有很多,详细信息可以通过以下命令查看:

man 5 nm-settings-nmcli

主要可以看里面 connection setting 和 ipv4 setting 部分。

新增连接:

nmcli c add type 连接类型 选项 选项值  # 或
nmcli c a type 连接类型 选项 选项值

type 为必选项,我们通常用到的是 802-3-ethernet(别名 ethernet)。

选项与前面介绍的“修改连接”中的选项一样,其中重要的几个选项:

connection.id(别名 con-name):连接名;

connection.interface-name(别名 ifname):设备名;

connection.autoconnect(别名 autoconnect):是否开机自启,其值只能是 yes 或 no,默认 yes。

下面给出一个示例:

nmcli c a type ethernet ifname ens37 con-name ens37

删除指定连接:

nmcli c delete ens33  # 或
nmcli c de ens33      # delete 不可简写为 d,否则与 down 冲突,但可以简写为 de

重载所有连接的配置文件:

nmcli c reload  # 或
nmcli c r

重载某一指定连接的配置文件:

nmcli c load ifcfg-ens33  # 或
nmcli c l ifcfg-ens33    

网络配置文件默认保存在 /etc/sysconfig/network-scripts/ 路径下,如果配置文件在其它位置,则需要填写完整路径。

网络配置文件的命名方式就是ifcfg-连接名,例如 ens33 的配置文件名为ifcfg-ens33

网络配置文件说明:

TYPE=Ethernet           # 以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none          # 静态配置,等同于 ipv4.method manual
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens33              # 连接名
UUID=16862343-b55e-4248-b05d-a3ea662a84a4
DEVICE=ens33            # 设备名
ONBOOT=yes              # 开机自启
IPADDR=192.168.80.10    # IP 地址
PREFIX=24               # 子网掩码
GATEWAY=192.168.80.2    # 网关
DNS1=192.168.80.2       # DNS1
DNS2=114.114.114.114    # DNS2

2.2.4 nmcli device

显示所有网络接口设备的状态:

nmcli device status

device 可以简写为 d、de、dev……

status 是 device 的默认项,可以省略不写。所以,以上命令可简写为:

nmcli d

显示所有设备的详细信息:

nmcli d show  # 或
nmcli d sh         # show 不可简写为 s,否则与 status 冲突,但可以简写为 sh

显示某一特定设备的详细信息:

nmcli d sh ens33

连接设备:

nmcli d connect ens33  # 或
nmcli d c ens33  

如果 ens33 本来就出于连接状态,那此命令会重启 ens33。

断开设备:

nmcli d disconnect ens33  # 或
nmcli d d ens33  

更新设备信息:

nmcli d reapply ens33  # 或
nmcli d r ens33  

只有在设备处于连接状态,才可以更新设备,更新设备相当于重启连接。

这部分引用:https://zhuanlan.zhihu.com/p/395236748

2.2.5 服务器新增网卡的配置和使用

ip addr show 查看网卡信息(ens37是我刚刚新增的网卡),但并没有连接。

nmcli device status 查看所有网络接口设备的状态,可以看到ens37是disconnected状态

修改新网卡连接的方式有两种

方式一:

nmcli device connect ensXXX:

disconnected→connected 自动创建连接文件(前提:DHCP启用)

方式二:

手动添加连接对设备进行关联(在DHCP没有启用的时候可以用这个方法)

nmcli connection add type ethernet ifname ens37 con-name ens37    #或
nmcli c a type ethernet ifname ens37 con-name ens37

手动添加连接对设备进行关联后,/etc/sysconfig/network-scripts下会生成连接文件 ifcfg-ens37,但是此时连接文件还是不可用的。

修改连接文件 ifcfg-ens37

nmcli device status 再次查看网卡设备已处于connected状态。

2.3、使用 GNOME GUI 配置 IP 网络

在 Red Hat Enterprise Linux 7 中,NetworkManager 本身没有图形用户界面(GUI)。桌面右上角的网络连接图标作为 GNOME Shell 的一部分提供,网络设置配置工具作为支持有线、无线和 vpn 连接的新 GNOME 控制中心 GUI 的一部分提供。nm-connection-editor 是 GUI 配置的主要工具。除了control-center 的功能外,它还应用并非由 GNOME 控制中心提供的功能,如配置绑定、团队、网桥连接。

2.3.1、 使用 control-center GUI 连接到网络

  1. 单击屏幕右上角的 GNOME Shell 网络连接图标,以打开其菜单。

  

  当您点击 GNOME Shell 网络连接图标时,您会看到:

  • 当前连接的分类网络列表(如 Wired 和 Wi-Fi)
  • NetworkManager 检测到的所有可用网络的列表
  • 连接任何已配置的虚拟专用网络(VPN)的选项
  • 选择 Network Settings 菜单条目的选项

  2.如下图,打开 Network Settings 窗口

  

  单击加号按钮来添加新连接。

  • 有线连接,单击 Wired 条目旁边的加号按钮
  • VPN 连接,单击 VPN 条目旁边的加号按钮
  • 对于 Wi-Fi 连接,点 Settings 菜单中的 Wi-fi 条目

  3.使用 control-center 编辑现有连接

  点击 Network settings 窗口中现有连接配置集的 gear wheel 图标将打开 Details 窗口,从中可以执行大部分网络配置任务,如 IPv4、DNS 和路由配置。

  

  

  要在连接修改后应用更改,您可以点击连接窗口右上角的 Apply 按钮。

2.3.2、 使用 nm-connection-editor 配置新的和编辑现有连接

使用 nm-connection-editor GUI 应用程序,您可以使用 control-center 提供的附加功能来配置您想要的任何连接。此外,nm-connection-editor 应用并非由 GNOME 控制中心提供的功能,如配置绑定、网桥、VLAN 和组连接。

  1.使用 nm-connection-editor 添加或配置新连接

  在终端中输入 nm-connection-editor

  

  • 添加,可以选择多种连接类型(Ethernet、wifi、Bluetooth、bond 等)
  • 删除,可以选择删除不需要的连接设备
  • 配置,与control-center GUI方式配置大同小异,功能要多一些。

  

2.4、 使用 IFCFG 文件配置 IP 网络

  我们还可以通过编辑 ifcfg 文件手动配置网络接口。

  接口配置(ifcfg)文件可控制不同网络设备的软件接口。当系统引导时,它使用这些文件来决定启动哪些界面以及如何进行配置。这些文件通常命名为 ifcfg-name ,后缀名称指的是配置文件控制的设备的名称。按照惯例,ifcfg 文件的后缀与配置文件中 DEVICE 指令提供的字符串相同。

1.使用 ifcfg 文件配置带有静态网络设置的接口
例如,若要使用 ifcfg 文件配置带有静态网络设置的接口,请为名为 ens37 的接口,在/etc/sysconfig/network -scripts/ 目录中创建一个名为 ifcfg- ens37 的文件,该文件包含:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
UUID=0b7dff57-945d-4b63-bf53-69dd2e0f2e99
DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.8.26
PREFIX=24
GATEWAY=192.168.8.2
DNS1=114.114.114.114

2.应用配置

a.重新载入更新的连接文件:

nmcli connection reload

b.重新激活连接:

nmcli connection up connection_name

2.5、 使用 IP 命令配置 IP 网络

我们还可以使用 ip 命令临时配置网络接口,但更改在重新引导后不会保留;重新引导后,将丢失任何更改。

ip 工具可以用来为接口分配 IP 地址,格式如下:
ip addr [ add | del ] address dev ifname

使用 ip 命令分配静态地址
要为接口分配 IP 地址,请执行以下操作:

~]# ip address add 10.0.0.3/24 dev ens37
You can view the address assignment of a specific device:
~]# ip addr show dev ens37
2: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
qlen 1000
link/ether f0:de:f1:7b:6e:5f brd ff:ff:ff:ff:ff:ff
inet 10.0.0.3/24 brd 10.0.0.255 scope global global enp1s
valid_lft 58682sec preferred_lft 58682sec
inet6 fe80::f2de:f1ff:fe7b:6e5f/64 scope link
valid_lft forever preferred_lft forever

使用 ip 命令配置多个地址

由于 ip 实用程序支持将多个地址分配到同一接口,因此不再需要使用别名接口方法将多个地址绑定到
同一接口。分配地址的 ip 命令可以重复多次,以便能分配多个地址。例如:

~]# ip address add 192.168.2.223/24 dev ens37
~]# ip address add 192.168.4.223/24 dev ens37
~]# ip addr
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
qlen 1000
link/ether 52:54:00:fb:77:9e brd ff:ff:ff:ff:ff:ff
inet 192.168.2.223/24 scope global enp1s0
inet 192.168.4.223/24 scope global enp1s0

注意:命令行中给定的 IP 命令在系统重启后不会保留。

Redhat7/CentOS7 网络配置与管理(nmtui、nmcli、GNOME GUI、ifcfg文件、IP命令)相关推荐

  1. VirtualBox6.0中CentOS7网络配置

    VirtualBox6.0中CentOS7网络配置 关闭虚拟机,在设置里,网络设置启用网卡1和网卡2 网卡1,选择连接方式为Host-only 网卡2,连接方式选择网络地址转换(NAT) 打开Virt ...

  2. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装

    VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装 在阿里云开源镜像地址下载镜像 Index of /centos/7.2.1511/isos/x86_64/ http://mi ...

  3. CentOS7网络配置,安装jdk,tomcat和mysql全过程

    CentOS7网络配置,安装jdk,tomcat和mysql全过程 1.CentOS7网络配置 安装CentOS7要在VMware虚拟机上进行,设置密码后登陆进来,可以看见右下角有下面几个图标,右击网 ...

  4. Windows Server 2003网络配置与管理

    前言与目录 Windows Server 2003网络配置与管理 .. Windows Server 2003网络配置与管理 .. 第3章域控制器的配置与管理 3.1 域控制器简介 3.2 安装域控制 ...

  5. CentOS7 网络配置超详细ip、网关设置

    CentOS7 网络配置 一.在虚拟机中安装CentOS操作系统 安装好虚拟机 创建新的虚拟机,选择自定义(高级),点击下一步 虚拟机硬件兼容性默认,浏览需要安装的CentOS6.5镜像文件 自定义用 ...

  6. Centos7网络配置,静态ip设置。

    Centos7网络配置静态ip设置. 1.网络设置net模式. 2.选择VMnet8. 3.点击NAT(记住网关后面要配置). 4.在终端中进入root用户,去ping百度发现ping不通. 5.if ...

  7. linux给网卡添加一个ip地址,linux网络配置中如何给一块网卡添加多个IP地址

    汤向峰每日一题-2017年3月16日: linux网络配置中如何给一块网卡添加多个IP地址 linux系统给网卡配置VIP的方法常见有两种:别名IP.以及辅助IP ================== ...

  8. [小记]Centos7网络配置DNS配置解决、yum出错解决。

    2019独角兽企业重金招聘Python工程师标准>>> Centos7: yum install iptables-services Error List: Loaded plugi ...

  9. Oracle 网络配置与管理

    [学习目标] Oracle 监听器是一个服务器端程序,用于监听所有来自客户端的请求,并为其提供数 据库服务.因此对监听器的管理与维护相当重要.          本章主要内容是描述对Oracle 监听 ...

最新文章

  1. hbase RPCServer源码分析
  2. 安装neo1973的GPS驱动[转]
  3. 数据库系列之数据管理(插入数据)
  4. sun game server (sgs)初探
  5. 七个帮助你处理Web页面层布局的jQuery插件
  6. 0-11 NFS与TFTP服务器配置
  7. Android三横变叉动画,90%的孩子会写错的笔顺,动画演示来一波!一看就会!
  8. H5分享到微信朋友圈与好友实现思路
  9. QQ桌球瞄准器的球心计算算法
  10. vue使用甘特图(实现树形结构/一条数据显示双时间轴)
  11. k8s报错error: You must be logged in to the server (Unauthorized)
  12. 如何搭建repo管理环境管理多个git仓库
  13. FileNotFoundError: Could not find module xxx libbanded5x.UGR6EUQPIWHQH7SL62IWIXB5545VDNQZ.gfortran-w
  14. 【JAVA基础】java基础之-泛型详解
  15. (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  16. EventBus 最简易的使用方式
  17. LIBSVM在Matlab下的使用和LIBSVM的matlab软件下README全文翻译
  18. python爬虫,记录爬取全球所有国家-首都的简单爬虫
  19. C++1157哥德巴赫猜想
  20. 错误 LNK2019 无法解析的外部符号 “__declspec(dllimport) public: int __thiscall osg::Referenced::ref(void)const “

热门文章

  1. 2021年5月系统集成项目管理工程师基础知识真题讲解
  2. 强化学习待解决问题和主流Trick整理
  3. 写论文的标题(title)和(abstract)的一些小感想
  4. 关于新型冠状病毒感染肺炎中国医学科学院专家组答疑解惑
  5. 4.1 理解层叠分类器的检测原理
  6. 程序员下班后不关电脑的背后原因竟然是...
  7. 人人都是产品经理系列一
  8. python dtype=float 是32还是64_【Python】numpy数组用dtype=float16初始化的坑
  9. 系统盘(c盘)空间清理方法总结
  10. html 文件上传与移除,WebUploader 解决文件屡次上传和删除上传文件的问题