网络服务管理

概述

当我们需要将网络的配置固化下来,既重启服务也能保持我们的配置状态,就需要修改Linux的配置文件,将配置文件中的配置修改后,就能将我们的配置固化下来

管理配置文件我们一般是使用一些管理程序,网络服务管理程序分为两种,分别是SysV和systemd,systemd是 CentOS 7.0 版本新添加的管理程序

配置文件一般是如下两类:

  • 网卡配置文件:ifcfg-etho 注意:etho是根据网卡名称的不同不一样的,它会随着你的真实网卡名称变化,

  • 主机名相关配置文件,控制网络常用参数:/etc/hosts

注意在CentOS7版本中,有两套服务管理的脚本,一套是 network (任何版本都支持),一套是 NetworkManager,在工作当中我们一般只使用其中一套,不推荐两套都使用,可以使用以下命令查看当前机器是否支持使用 NetworkManager:

1
systemctl list-unit-files NetworkManager.service

当我们想要关闭 network 服务管理只使用 NetworkManager 时就需要使用chkconfig命令来解决了,具体是 –level 参数

NetworkManager的作用:

一般应用于个人的主机,比如插入网线之后可以识别网卡的激活状态,自动进行网络的激活,或者比如我们连接到熟悉的无线网络连接当中,它会自动激活无线的连接。但是应用于服务器上这些功能都有些鸡肋,所以服务器上我们一般还是沿用network脚本

启用/禁用 NetworkManager 脚本命令:

1
2
3
4
5
# 启用
systemctl disable NetworkManager

禁用
systemctl enable NetworkManager

配置文件说明

网卡配置文件:

网卡配置文件在 /etc/sysconfig/network-scripts/目录下,在此目录下会有很多以 ifcfg 开头的文件,这些文件每一个对应着我们的一个网络接口,我们可以打开其中一个进行查看:

1
2
3
4
5
6
7
8
9
10
[root@iZm5ehzqow4ijp2ya2g2drZ /]# cd /etc/sysconfig/network-scripts/
[root@iZm5ehzqow4ijp2ya2g2drZ network-scripts]# ls ifcfg-*
ifcfg-eth0 ifcfg-lo

vim ifcfg-eth0

NAME=etho
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

网卡配置文件内容说明:

我们打开ifcfg-eth0文件,发现其中设置内容还是有一些的,基本格式都是前边是设置项,后面是设置值,这些设置有一些是它的关键设置,有些是IPV6它的初始化设置,我们只需要关注其中几项即可

  1. BOOTPROTO=dhcp,表示我们的机器它的IP地址是动态分配的,我们可以把它的值修改为 none ,表示IP地址是静态分配的,静态分配具体配置将在下面专门描述

  2. NAMR=etho,DEVICE=eth0,表示的是网卡的名称设置

  3. ONBOOT=yes,表示网卡是否开机启用,如果是 yes 表示开机启用,如果是 no 表示开机不启用

网卡IP静态分配配置:

配置示例如下:

1
2
3
4
5
6
7
8
9
10
vim ifcfg-eth0

NAME=etho
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.28
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114

注意:配置静态IP需要修改BOOTPROTO设置项,然后添加IP地址、子网掩码、网关、默认DNS的地址

设置完成需要使用命令来让它生效,使用命令有两种,分别如下,命令具体使用在后边分析描述:

  1. service network restart

  2. systemctl restart NetworkManager.service

如上操作完成之后,就可以使用命令 ipconfig etho 来查看IP及子网掩码配置是否生效,使用 route -n 查看网关是否配置生效,使用 nslookup 查看默认的DNS设置是否生效

chkconfig

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接

使用方法:chkconfig 参数 系统服务

参数详解:

–list

列出所有的系统服务及状态,使用示例如下:

1
2
[root@iZm5ehzqow4ijp2ya2g2drZ ~]# chkconfig --list network
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off

上述示例中,数字表示不同的级别,及不同的级别服务的运行情况,级别表示如下:

  1. 等级0表示:表示关机
  2. 等级1表示:单用户模式
  3. 等级2表示:无网络连接的多用户命令行模式
  4. 等级3表示:有网络连接的多用户命令行模式
  5. 等级4表示:不可用
  6. 等级5表示:带图形界面的多用户模式
  7. 等级6表示:重新启动

–level

指定读系统服务要在哪一个执行等级中开启或关毕,使用时需要指定等级

使用示例,将当前开启的服务全部关闭 2 3 4 5 等级都关闭:

1
2
3
4
[root@iZm5ehzqow4ijp2ya2g2drZ ~]# chkconfig --level 2345 network off

[root@iZm5ehzqow4ijp2ya2g2drZ ~]# chkconfig --list network
network 0:off 1:off 2:off 3:off 4:off 5:off 6:off
  • 注意:当我们在CentOS7及以上版本中如此操作时,就相当与关闭了 network 服务管理工具,改为使用 NetworkManager

查看网络状态

service network status 命令

使用示例:

1
2
3
4
5
[root@iZm5ehzqow4ijp2ya2g2drZ ~]# service network status
Configured devices:
lo eth0
Currently active devices:
lo eth0

如上查询结果中,第一表示我们已配置的网卡设备,第二表示当前活跃的设备

还原网卡默认配置

  1. service network restart

将我们使用ifconfig、route等命令自己配置的内容恢复到默认的状态

使用示例:

1
2
3
4
5
6
7
[root@iZm5ehzqow4ijp2ya2g2drZ ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0:
Determining IP information for eth0... done.
[ OK ]
  1. systemctl restart NetworkManager.service

如果在 CentOS7 及以上版本中开启了 NetworkManager 脚本,还可以使用此命令来还原配置

配置主机名称

查看主机名称

查看主机名称使用 hostname 命令,使用示例如下:

1
2
wangjia3@CHJ-20190520VPS:~$ hostname
CHJ-20190520VPS

临时设置主机名称

临时设置就是当前修改过来,但是主机重启之后还是恢复成默认的

使用命令:hostname 自定义主机名称

如下示例:

1
2
3
4
5
6
7
wangjia3@CHJ-20190520VPS:~$ hostname CHJ
hostname: you must be root to change the host name
wangjia3@CHJ-20190520VPS:~$ sudo hostname CHJ
[sudo] password for wangjia3:

wangjia3@CHJ-20190520VPS:~$ hostname
CHJ

永久修改主机名称

使用命令:hostnamectl set-hostname 自定义主机名称

这样设置之后即使重启之后也会使用新的主机名,但是要注意,如果我们更改主机名之后,很多服务是要依赖主机名进行工作,这里我们必须一个配置文件中将新的主机名写在127.0.0.1的对应关系当中,如果不写可能会出现在启动系统的时候,在某个服务上卡住,在等待它超时,这个文件是 /etc/hosts,如下:

1
2
3
4
5
6
7
8
9
10
 2 # %WINDIR%\System32\drivers\etc\hosts. Modifications to this file will be overwritten.
3 127.0.0.1 localhost
4 127.0.1.1 CHJ-20190520VPS.localdomain CHJ-20190520VPS # 修改此行内容
5
6 # The following lines are desirable for IPv6 capable hosts
7 ::1 ip6-localhost ip6-loopback
8 fe00::0 ip6-localnet
9 ff00::0 ip6-mcastprefix
10 ff02::1 ip6-allnodes
11 ff02::2 ip6-allrouters

最后更新: 2019年11月02日 17:50

原始链接: https://jjw-story.github.io/2019/08/30/网络管理和配置文件/

× 请我吃糖~
打赏二维码