[RHEL]-5-配置网络

引言

这篇文章主要讲解RHEL系统中,如何使用终端修改网卡配置文件来配置网络连接。

文章目录

0×1.配置动态DHCP获取

首先通过ifconfig命令查看下当前网卡名称:

					#有线网卡一般以en(RHEL7)或eth(RHEL6)开头,无限网卡一般为wl开头,lo为系统自带的回环地址
					[root@qingsword.com ~]# ifconfig
					#本例中有线网卡名称为eno16777736
					eno16777736: flags=4163
					...
					#回环接口
					lo: flags=73
					...
					

知道了网卡名称,就可以使用vim编辑器编辑这块网卡的配置文件了:

					#RHEL系统中,网卡配置文件存放在(/etc/sysconfig/network-scripts/)目录下,以ifcfg-开头,后面是ifconfig中看到的网卡名称
					[root@qingsword.com ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

					#默认情况下,文件内容如下(RHEL版本不同,内容可能稍有区别),不用去管这些内容,只需要看下面注释的几行即可
					TYPE=Ethernet
					BOOTPROTO=dhcp #网络模式(使用DHCP动态获取)
					DEFROUTE=yes
					IPV4_FAILURE_FATAL=no
					IPV6INIT=yes
					IPV6_AUTOCONF=yes
					IPV6_DEFROUTE=yes
					IPV6_FAILURE_FATAL=no
					NAME=eno16777736 #网卡标识名称
					UUID=14d28a5a-27df-4aa8-9069-84946415dea3
					ONBOOT=no #网卡是否开启(默认不开启)
					HWADDR=00:0C:29:78:31:59
					PEERDNS=yes
					PEERROUTES=yes
					IPV6_PEERDNS=yes
					IPV6_PEERROUTES=yes
					
					#默认参数ONBOOT=no,安装好系统后是不能联网的,只需要将no改为yes,然后重启网络服务就能让系统自动通过网络去获取IP地址了
					NOBOOT=yes

					#实际上ifcfg-eno16777736文件只需要存在下面四条配置,就能够实现DHCP动态获取IP
					TYPE=Ethernet
					BOOTPROTO=dhcp
					NAME=eno16777736
					NOBOOT=yes

					#保存退出后,重启网络服务,系统就会自动通过DHCP获取IP
					[root@qingsword.com ~]# systemctl restart network
					

0×2.配置静态IP地址

静态IP的配置同样是修改网卡对应的配置文件,在原有内容的基础上,添加IP地址,子网掩码,默认网关,DNS地址即可:

					[root@qingsword.com ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

					TYPE=Ethernet
					BOOTPROTO=static #改成静态IP模式
					DEFROUTE=yes
					IPV4_FAILURE_FATAL=no
					IPV6INIT=yes
					IPV6_AUTOCONF=yes
					IPV6_DEFROUTE=yes
					IPV6_FAILURE_FATAL=no
					NAME=eno16777736
					UUID=14d28a5a-27df-4aa8-9069-84946415dea3
					ONBOOT=yes #确保网卡开启
					HWADDR=00:0C:29:78:31:59
					PEERDNS=yes
					PEERROUTES=yes
					IPV6_PEERDNS=yes
					IPV6_PEERROUTES=yes
					IPADDR=192.168.1.233 #IP地址
					NETMASK=255.255.255.0 #子网掩码
					GATEWAY=192.168.1.1 #默认网关
					DNS1=192.168.1.1 #DNS地址,如果有多个递增DNS2,DNS3等等

					#最精简化的配置
					TYPE=Ethernet
					BOOTPROTO=static
					ONBOOT=yes
					IPADDR=192.168.1.233
					NETMASK=255.255.255.0
					GATEWAY=192.168.1.1
					DNS1=192.168.1.1

					#保存后,重启网络服务
					[root@qingsword.com ~]# systemctl restart network
					

0×3.使用nmtui字符图形界面配置

在RHEL7往后的系统中,提供了一个非常方便的字符图形界面配置工具"nmtui",在终端中敲入这个工具的名称即可打开图形化配置界面,操作十分简单:

					#打开字符图形界面
					[root@qingsword.com ~]# nmtui
					

字符图形界面没什么好说的,按照提示去配置网络就好了,配置完成后需要" systemctl restart network"使网络生效。

0×4.使用图形界面配置

图形界面环境下的网络管理工具叫"nm-connection-editor",终端输入这条命令即可打开,或者使用鼠标点击状态栏的电脑图标配置网络,编辑完网络后同样需要重启网络服务使配置生效。

0×5.使用nmcli配置

在RHEL7中,默认的网络服务由NetworkManager提供,除了前面的几种配置网络的方法外,还支持使用nmcli命令行的方式来配置网络。

可以使用下面的命令来查看和管理网卡:

					#查看当前连接了几块网卡设备
					[root@qingsword.com ~]# nmcli connection show 
					NAME  UUID                                  TYPE            DEVICE 
					eno1  14d28a5a-27df-4aa8-9069-84946415dea3  802-3-ethernet  --

					#显示eno1这块设备的详细信息,RHEL刚安装后,默认网卡是不会随机启动的,在查看设备时如果DEVICE没有网卡名称,说明这个设备配置没有被启用
					[root@qingsword.com ~]# nmcli con show eno1

					#尝试着启用eno1
					[root@qingsword.com ~]# nmcli connection up eno1

					#启用后,查看到DEVICE下就出现了网卡的名称
					[root@qingsword.com ~]# nmcli connection show 
					NAME  UUID                                  TYPE            DEVICE      
					eno1  14d28a5a-27df-4aa8-9069-84946415dea3  802-3-ethernet  eno16777736

					#查看网卡设备的状态,eno1处于连接状态
					[root@qingsword.com ~]# nmcli device status 
					DEVICE       TYPE      STATE      CONNECTION 
					eno16777736  ethernet  connected  eno1       
					lo           loopback  unmanaged  --

					#停用这块网卡的配置  
					[root@qingsword.com ~]# nmcli connection down eno1

					#再次查看状态,disconnected代表未连接
					[root@qingsword.com ~]# nmcli device status 
					DEVICE       TYPE      STATE         CONNECTION 
					eno16777736  ethernet  disconnected  --         
					lo           loopback  unmanaged     -- 

					#第二种启用和停用设备的方法
					#启用
					[root@qingsword.com ~]# nmcli device connect eno16777736 
					Device 'eno16777736' successfully activated 
					#停用
					[root@qingsword.com ~]# nmcli device disconnect eno16777736 
					

可以使用下面的方法来添加静态IP配置:

					#静态IP添加语法
					# nmcli connection add con-name 配置文件名称 type 网络类型 autoconnect 是否自动连接 ifname 可以应用到哪块网卡设备 ip4 ipv4地址 gw4 ipv4网关地址
					#如果autoconnect yes那么这个配置在下次开机时会自动启用
					[root@qingsword.com ~]# nmcli connection add con-name qingsword type ethernet autoconnect yes ifname eno16777736 ip4 192.168.1.233/24 gw4 192.168.1.1
					Connection 'qingsword'  successfully added.

					#然后再给这个配置文件设置dns,语法如下
					# nmcli connection modify 配置文件名称 ipv4.dns "多个dns地址可用逗号分隔"
					[root@qingsword.com ~]# nmcli connection modify qingsword ipv4.dns "192.168.1.1,114.114.114.114"
					[root@qingsword.com ~]# nmcli connection show
					NAME       UUID                                  TYPE            DEVICE 
					qingsword  1dffd166-3d28-4db5-89da-60c150a87229  802-3-ethernet  --     
					eno1       14d28a5a-27df-4aa8-9069-84946415dea3  802-3-ethernet  --     

					#启用qingsword这个配置,将这个配置应用到eno16777736这块网卡上
					[root@qingsword.com ~]# nmcli connection up qingsword
					

如果网络环境是使用DHCP获取IP,可以按照下面的配置:

					#不需要指定IP地址即使用DHCP方式获取IP
					[root@qingsword.com ~]# nmcli connection add con-name qingdhcp type ethernet ifname eno16777736 autoconnect yes

					#切换到qingdhcp这个配置文件,系统将尝试通过eno16777736这块网卡去自动获取IP
					[root@qingsword.com ~]# nmcli connection up qingdhcp
					

如果想要删除某个配置,可以使用delete:

					#删除qingdhcp配置
					[root@qingsword.com ~]# nmcli connection delete qingdhcp
					

总结:不论是配置文件,图形界面,还是nmcli都能够操作NetworkManager服务来配置网络,nmcli新建的网络配置会在/etc/sysconfig/network-scripts/目录中新建出一个ifcfg-开头的文件,后面跟随的是配置名称(例如ifcfg-qingsword),并且这些配置能够被nmtui或图形界面访问到,使用nmcli connection up/down功能,能够在多个网络配置文件中自由切换,这样的好处显而易见,不需要在更换环境后重新配置网络,只需要切换一下配置即可(可对不同的环境创建不同的网络配置文件)。