centos7的网络设置和服务控制
需求和目的:1。学会正确配置rhel7的网络连接
2.熟悉明确rhel7的服务控制由什么来管制
3.能熟练的掌握网络的连通性测试
实现的效果:能熟悉rhel7的网络配置和服务,控制
理论知识点的描述:1.rhel7和rhel6以前的版本很多的配置文件都发生变化,尤其是ip地址编号格式,展现在我们眼前的rhel7的命名更不容易记忆,但相反却能够在做系统迁移的时候不容易出错,在这个版本的linux系统默认安装好之后是没有自动开启网络连接的!
2.systemd提供更为优秀的框架已表示系统服务间的依赖关系实现系统初始化的并行启动,同时降低shell脚本的系统开销的效果,systemd的目标是尽可能启动更少进程,尽可能将更多进程并行启动。相比更早版本有更快的系统处理能力,开机速度也有很大的提升
一. 设置ip地址.网关.DNS
rhel7中的网卡命名方式变成啦enoxxxxxxxx的格式
en代表是enthernet(以太网)
o代表的是onboard(内置)
xxxxxxxx:主板的某种索引编号自动生成,保证了唯一性
编号唯一,做系统迁移的时候不容易出错
方法一:进入网络配置文件目录。
TYPE=Enthernet|Bridge 网络接口类型
BOOTPROTO=static|none 启用静态ip地址(dhcp启动动态获取ip)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INT=yes|no
USERCTL=yes|no
PEERDNS=yes|no
IPV6_AUTOCONF=yes
IPV6_DEEROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno12121211
UUID= 设备标识号
NOBOOT=yes
IPADDR0=10.0.0.1
RPEFIX0=255.255.255.0
GATWAY0=10.0.0.254
DNS1=
DNS2=
HWADDR=00:0c:29:eb:f2:b3
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR0=
NETMASK0=
查看IP信息:
Ifconfig命令
Ipaddr show
Ipaddr show dev 网络设备名
Ipaddr 查看所有网卡信息
ip a
ethtool 网卡接口名称 查看网路接口设备本身的属性
ipaddr show dev eno141414141
1.接口状态
2.硬件
3.IPv4地址与子网
4.广播地址,范围,设备名称
5.IPv6信息
Ip命令显示关于网络性能的统计信息,接收(RX)发送(TX)数据包
用nmcli connection show网卡信息
测试网络是否正常
Ping 测试网络是否正常
Traceroute 显示出到达一个网络经过的路由信息
mtr 显示出到达一个网络经过的路由信息,是redhat自带的工具
第一列:显示的是IP地址和本机域名,这点和tracert很像
第二列:是显示的每个对应IP的丢包率
第三列:snt设置每秒发送数据包的数量,默认值是10 可以通过参数 -c来指定
第四列:显示的最近一次的返回时延
第五列:是平均值这个应该是发送ping包的平均时延
第六列:是最好或者说时延最短的
第七列:是最差或者说时延最常的
第八列:是标准偏差
方法二:执行nmtui命令
使用nmtui命令会弹出一工具界面
方法三:通过nm-connection-editor来配置连接必须在图形界面下运行
配置好了,重启网络服务,执行ifconfig或ip addr发现已经获取啦新的地址,一旦该连接建立成功,在/etc/sysconfig/networks-scripts下面会自动创建同名的配置文件
方法四:nmcli命令
后面的对象可以是综合信息,网络,信号和连接
连接后面可以跟show,up,down,add,modify,edit,delete,reload
查看具体的设备信息可以通过nmcli connection show 设备名来查看
扩展:可以修改rhel7的网卡名称
默认的网卡名称是eno16777736
编辑文件/etc/sysconfig/grub,然后再文件中添加net.ifnames=0 biosdevname=0内容,其作用是禁止该可预测命名规则。如图:
接着执行下面的命令,效果如下:
然后重启系统后查看网卡名称
二.服务控制
systemd可以作为sysvinit和upstat的替代,相当于init程序
rehed7监视和控制systemd的主要命令是systemctl,用于查看系统状态和管理系统及服务。
systemctl脚本存放在:/usr/lib/systemd,有系统system和用户user之分,开机不登陆就能运行的程序,存放在系统服务里
每一个服务以.server结尾,一般分为三部份:[Unit][Service][Install]
[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description用于描述服务,After用于描述服务类别
[Service]部分是服务的关键,是服务的一些具体运行参数的设置,这里Type=forking是后台运行的形式,PIDFile为存放PID的文件路径,ExecStart为服务的具体运行命令,ExecReload为重载命令,ExecStop为停止命令,注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!
[Install]部分是服务安装的相关设置,可设置为多用户的.
注意: 如果服务没有Install段落一般意味着应该通过其它服务自动调用它们
使用systemd时,可通过正确编写单元配置文件来解决其依赖关系。典型的情况是,服务A要求服务B在A启动之前运行。在此情况下,向服务A配置文件中的 [Unit] 段添加Requires=B 和 After=B 即可
systemctl是管制服务的主要工具
systemctl命令的基本操作格式:
systemctl 动作 服务名
systemd的目标是尽可能启动更少进程,尽可能将更多进程并行启动
分析系统状态:
systemctl 或systemctl list-units #输出激活的单元
systemctl list-units--type=service #列出active状态的服务
systemctl list-unit-files列出所有已安装服务
systemctl --failed #显示启动失败的服务
systemd-cgls以树形列出正在运行的进程
所有可用的单元文件存放在 /usr/lib/systemd/system/ 和 /etc/systemd/system/ 目录(后者优先级更 高)
使用单元:
一个单元可以是系统服务(.service)、挂载点(.mount)、sockets(.sockets)。
使用 systemctl 控制单元时,通常需要使用单元文件的全名,包括扩展名(例如 sshd.service)。但是有些单元可以在systemctl中使用简写方式。如果无扩展名,systemctl 默认把扩展名当作.service。例如sshd和sshd.service 是等价的。
挂载点会自动转化为相应的 .mount 单元。例如 /home 等价于 home.mount。
设备会自动转化为相应的 .device 单元,所以/dev/sda2 等价于 dev-sda2.device。
systemctl start <单元> #立即启动单元
systemctl stop <单元> #立即停止单元
systemctl restart <单元> #重启单元
systemctl reload <单元> #重新读取单元配置
systemctl status <单元> #输出单元运行状态
systemctl is-enabled <单元> #检查单元是否配置为自动启动
systemctl enable <单元> #开机自动启动单元
systemctl disable <单元> #取消开机自动激活单元
systemctl is-active<单元> #查看单元是不是正在运行
systemctl daemon-reload #重新载入 systemd,扫描新的或有变动的单元
电源管理:
systemctl reboot #重启
systemctl poweroff #退出系统并停止电源
例如:
systemctl is-enablediptables.service
systemctl is-enabled servicename.service #查询服务是否开机启动
systemctl enable *.service #开机运行服务
systemctl disable *.service #取消开机运行
systemctl start *.service #启动服务
systemctl stop *.service #停止服务
systemctl restart *.service #重启服务
systemctl reload *.service #重新加载服务配置文件
systemctl status *.service #查询服务运行状态
systemctl mask *.service #禁用指定服务
systemctlunmask *.service #激活指用服务
disable服务,禁止开机自动运行
开机自动加载,并启动该服务
通过mask来禁用该服务,一旦服务终止,则无法再启动,必须通过unmask解除禁用才能使用systemctl start 服务名 来运行服务
systemctl还可以查询当前加载的模块单元,后缀为service的是我们需要管理的发服务