1. RedHat网络管理工具简介
在早期的Linux发行版本中几乎所有的网络服务都是network服务,从RHEL7开始,红帽官方建议采用NetworkManage方式配置网络,而不建议再使用network服务这种传统的方式配置网络。因为网络是非常复杂的,需要配置的网络相关的参数非常多,以前配置网络的方式几乎只有创建网卡配置文件,然后添加网络参数并且修改网络参数,最后重启network服务,让network服务加载网卡配置文件到内存,然后在读取网卡配置文件中的相关网络配置参数。
NetworkManage早期的设计目的是为了统一网络配置,统一网络配置的意思就是以后所有的网络相关的配置都使用NetworkManage来实现。NetworkManage提供了三种工具来让用户配置网卡参数,无论哪种工具,都不需要手工的修改网卡配置文件。
2. 查看系统网络设备信息的命令
2.1 查看系统的pci总线信息
- 命令格式:
lspci
- 实例:
2.2 查看网卡与pci总线(网卡的名字就是pci总线的别名)
- 命令:
lshw -class net -businfo
- 实例:
在上图中,device列就是网卡名称。
3. NetworkManage图形化管理工具
3.1 启动命令
在命令行输入nm-connnection-editor
即可打开该工具,具体如下所示:
如上图,以及菜单表示网卡类型(Ethernet表示以太网卡),二级菜单表示已有网卡,而下面的“+”、“-”和设置符号三个按钮分别表示添加网卡、删除网卡以及修改网卡配置文件。
3.2 修改操作
修改网卡配置文件的操作步骤为先选中要修改的配置文件,然后点击设置按钮,在打开的窗口中输入相关信息后点击save按钮即可,具体如下:
3.3 添加网卡配置文件
添加网卡配置文件时,首先点击下面的“+”符号,然后选择网卡类型(一般都是enthernet(以太网类型)),再点击Create按钮,输入相关信息后进行点击save按钮进行保存即可,具体如下:
需要注意的是,网络管理工具在正常情况下需要人为的指定配置文件和网卡名字的关系; 并且不能通过直接在文件中更改配置文件关联的网卡,而需要删除原有配置文件然后新建配置文件,然后在上图的device栏关联新的网卡;而新建网卡配置文件的文件名就在上图的第一栏指定。
3.4 删除网卡配置文件
删除网卡配置文件时首先选中想要删除的配置文件,然后点击“-”,最后点击“Delete”按钮进行删除即可。
4. NetworkManage命令行管理工具(nmcli)
nmcli(全称network command line interface)是NetworkManage网络管理工具提供的一个命令行网络管理工具,并且通过安装bash-completion
软件,可以支持nmcli命令的自动补全功能。
4.1 nmcli查看当前系统中所有网卡的状态
-
命令格式:
nmcli device status
-
含义:查看网卡及其配置文件的概述信息
-
实例:
说明:- 第一列(DEVICE):表示网卡名称(内核标记的)
- 第二列(TYPE):网卡类型(内核标记的)
- 第三列:当前网卡的状态(指的是networkmanage是否接管了本块网卡)
- 如果本列是
unmanage
,则表示该网卡没有被networkmanage服务接管,也就是意味着该网卡无法使用networkmanage来管理。 - 如果本列是
disconnected
,则表示该网卡没有使用任何配置文件。 - 如果本列是
connected
,意味着该网卡正在使用某个配置文件。 - 如果本列是
connecting
,意味着该网卡正在获取ip地址。
- 如果本列是
-
第四列:表示当前网卡使用的配置文件是什么,如果有名字,则表示该网卡的配置文件名,如果是
--
,则表示该网卡没有配置文件
4.2 nmcli删除网卡
- 命令格式:
nmcli device delete 网卡名
- 使用该命令可以将
4.1
实例所示列表中的网卡移除。
4.3 修改Connection列
nmcli device status
命令输出的第四列(即Connection列)表示的是相应网卡当前使用的配置文件,修改主要涉及以下两个方法:
nmcli device disconnect 网卡名
:切换网卡与相应配置文件的连接nmcli device connect 网卡名
:让指定网卡与配置文件进行连接
4.4 查看设备网卡的当前信息
- 命令格式:
nmcli device show [网卡名]
- 说明:查看指定网卡的信息,如果不加网卡名,则列出当前系统中所有网卡的信息
- 实例:
4.5 使用nmcli命令管理网卡的配置文件
4.5.1 网卡配置文件常用参数
设置网卡配置文件时常用的有以下几个参数:
- ip地址
- ip 掩码
- ip 网关
- dns
- ip method (手工配置地址还是dhcp自动获取地址)
- ip autoconnect(开机是否自动连接配置文件)
附: 操作网卡配置文件非常危险,服务器上的网卡一般有四到八块;其中2块是管理网络的,2块是traffic网络,2块用作存储网卡(如果是本地服务器,则不需要存储网卡,如果是私有云服务器,则需要),除此之外可能还有两块额外的网卡做高速虚拟化转发(SR-IOV),服务器上最少有两块网卡(板载)至少为千兆网卡;通过PCI总线的外部网卡,至少万兆(需要光模块)。一般来说,管理网卡的配置文件是装系统的就配置好的,我们操作网卡配置文件,一般都是操作数据网络的网卡和存储网络的网卡。如果你是远程连接,误操作将管理网络配置文件配置错误,导致无法远程连接。
4.5.2 操作网卡配置文件的常用命令
操作网卡配置文件通过nmcli connection
命令来进行,主要有添加、关闭、删除、激活、查看、重新加载六种操作,通过该命令操作的网卡配置文件存放的默认目录是/etc/sysconfig/network-scripts
,文件以ifcfg-
(全称interface configurator)开头的文件。
4.5.2.1 查看一个网卡配置文件
- 命令格式:
nmcli connection show
- 实例:
- 说明:
- 第一列(NAME):表示网卡配置文件的名称,该名称可以重复,但是不建议
- 第二列(UUID):表示网卡配置文件的UUID,UUID一定不重复,当名字重复的时候,UUID不会重复
- 第三列(TYPE):表示该网卡配置文件的类型,一般都是ethernet
- 第四列(DEVICE):表示配置文件属于服务于那个网卡(DEVICE)
注: 在远程连接的时候,千万不要操作管理网卡。
4.5.2.2 添加网卡配置文件
- 命令格式:
nmcli connection add 文件名
- 说明:添加网卡配置文件必须要有三个参数,分别是con-name(配置文件的名称)、type(配置文件的类型)、ifname(配置文件的网卡)。如果一个网卡没有配置文件,那么添加之后就会直接将这个配置文件应用于这块网卡;如果只加了上面这三个参数,那么该网卡的ip地址的获取方式就是自动的(dhcp);
- 添加ip地址的方法:
nmcli connection add ipv4.addresses ip地址
,如果想让一个网卡手动获取ip地址,必须要加ipv4.method manual
参数,其中manual表示手动,默认是自动获取的;通过网卡查看相关的ip地址,而不能通过配置文件去看 - 实例:
4.5.2.3 修改网卡使用的配置文件
- 命令格式:
nmcli connection up 配置文件名
,激活网卡使用的配置文件 - 实例:
4.5.2.4 修改网卡配置文件
-
命令格式:
nmcli connection modify 配置文件名称
,配置文件名称后面跟需要修改的内容,可修改内容基本和添加时差不多,如:connection.autoconnect
:表示该网卡配置文件是否下次开机的时候会被自动加载,如果是yes,则会自动加载。connection.interface-name
:表示更改配置文件所属的网卡
-
实例:
4.5.2.5 重载网卡配置文件
- 命令格式:
nmcli connection reload
- 作用:重新加载所有网卡配置文件,一般在手工修改配置文件后使用,然后还要使用up命令进行激活才可以正式生效
- 实例:
4.5.2.6 删除网卡配置文件
- 命令格式:
nmcli connection delete 配置文件名/uuid
- 作用:删除指定的配置文件
- 实例:
4.6 网卡绑定bond(链路聚合)
网卡绑定有七种模式,七种常用的有以下两种:
- active-backup:
- lacp
示例:
3. 命令:
nmcli connnection add connection-name bond0 ifname bond0 type bond mode active-backup
nmcli connection add connection-name bond0-port1 ifname ens4 type bond-slave master bond0
nmcli connection add connection-name bond0-port2 ifname ens5 type bond-slave master bond0
4. 效果:依次执行上面三条命令后,会将ens4和ens5绑定到bond0这个交换机上
5. Linux的路由功能
- 临时开启Linux的路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
,效果将文件里面的内容改为“1”,如果是空文件,则添加“1”;需要注意的是这里不能直接用vim编辑文件。 - 永久开启Linux的路由转发功能:使用
vim
打开/etc/systcl.conf
配置文件,然后添加:net.ipv4.ip_forward = 1
即可。