[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功能,能够在多个网络配置文件中自由切换,这样的好处显而易见,不需要在更换环境后重新配置网络,只需要切换一下配置即可(可对不同的环境创建不同的网络配置文件)。