Centos7系列(二)网络设置、服务与防火墙

博主QQ819594300

博客地址:http://zpf666.blog.51cto.com/

有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!

本博文目录:

一、设置IP地址、网关和DNS

二、把eno16777736改成eth0

三、服务控制

四、防火墙

正文部分:
一、设置IP地址、网关和DNS

Centos7里面的网卡命名方式从eth0,1,2的方式变成了enoXXXXX的格式。 en 代表的是enthernet(以太网),o 代表的是onboard (内置),那一串数字是主板的某种索引编号自动生成,以便保证其唯一性。和原先的命名方式对比,这种新的方式比较长,难以记忆,不过优点在于编号唯一,做系统迁移的时候不容易出错。

说明:Centos7默认安装好之后是没有自动开启网络连接的!

方法1、进入网络置配文件目录,修改网卡配置文件
wKiom1kG_Y3hrjKeAAD-roO7W9c292.jpg

wKiom1kG_Y6S6QKcAAGMvRxiZ9k772.jpg

wKioL1kG_Y6w4sFZAAJqnYcMUU0424.jpg

TYPE="Ethernet|Bridge"网络接口类型

BOOTPROTO="static|none"  #启用静态IP地址(BOOTPROTO=dhcp启用动态获取IP)

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes|no" 是否支持IPV6

USERCTL="yes|no"  是否允许普通用户控制此接口

PEERDNS="yes|no"   是不是接受DHCP服务器指派的DNS服务器地址

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

NAME="eno16777736"

UUID="8071cc7b-d407-4dea-a41e-16f7d2e75ee9"  设备标识号

ONBOOT="yes"  #开启自动启用网络连接(默认值为no)

IPADDR0="192.168.1.1" #设置IP地址   只有在BOOTPROTO={none|static}设置才有效

PREFIX0="24"  #设置子网掩码   此设置也可用 PREFIX=n (n为掩码位数)

GATEWAY0="192.168.1.254"  #设置网关      要与IP地址属于同一网段

DNS1="8.8.8.8" #设置主DNS

DNS2="6.6.6.6" #设置备DNS

HWADDR="00:0C:29:EB:F2:B3"

IPV6_PEERDNS="yes"

IPV6_PEERROUTES="yes"

wKioL1kG_Y_iEHiaAALrhwXnp34410.jpg

延伸(一)

查看ip信息:

Ifconfig或者ip  a或者ip  addr 或者ip  addr show  //查看所有网卡的信息

ip  addr show dev 网络设备名  //查看指定的网卡的信息

wKiom1kG_ZDBOSGZAAD2VFG0KW8837.jpg

1.接口状态

2.硬件

3.IPv4地址与子网

4.广播地址,范围,设备名称

5.IPv6信息

延伸(二)

ip 命令现实关于网络性能的统计信息,接收(RX)发送(TX)数据包。

wKiom1kG_ZCSiGWjAACZETxKRF4844.jpg

延伸(三)

用nmcli connection show网卡信息

wKioL1kG_ZHDITe3AADUwoPsELU097.jpg

延伸(四)

测试网络是否正常:

ping  www.baidu.com  #测试网络是否正常

traceroute  www.baidu.com  #显示出我们到达一个网络所经过的路由信息

而mtr是Centos7自带的工具,结合了"traceroute"和"ping"功能于一身的诊断工具。

wKiom1kG_ZGS3Ql_AADRW_a9ies786.jpg

第一列:显示的是IP地址和本机域名,这点和tracert很像

第二列:是显示的每个对应IP的丢包率

第三列:snt设置每秒发送数据包的数量,默认值是10,可以通过参数 -c来指定(-c后面跟数量)

第四列:显示的最近一次的返回时延

第五列:是平均值这个应该是发送ping包的平均时延

第六列:是最好或者说时延最短的

第七列:是最差或者说时延最长的

第八列:是标准偏差

延伸(五)

ethtool:查看网路接口设备本身的属性

格式:ethtool 网卡接口名称

wKioL1kG_ZLwylWXAAKtRRaierE214.jpg

方法2:执行nmtui命令

wKioL1kG_ZKTtG7hAAA0xdJouLk692.jpg

wKiom1kG_ZLwvA6VAAFoQKYkBiE291.jpg

wKioL1kG_ZOCmyQ9AAKQT5lgnEM013.jpg

wKiom1kG_ZPDHqpPAAIjczqHxq4346.jpg

其中:此连接需要的IPv4寻址模式(Require Ipv4 Addressing For ThisConnection To Complete)  支持IPv4寻址

重启network服务使其生效(我这里就不改IP地址,所以也就不用生效)。

方法3:通过nm-connection-editor来配置连接(注:必须在图形界面下运行,因为实际生产环境中没有图像化,所以不建议使用这种方法

wKiom1kG_ZSDRB2hAAAeijwYL6s828.jpg

wKioL1kG_ZShEV_OAAD1D-uJFLU841.jpg

配置好了,重启网络服务,执行ifconfig或ip addr发现已经获取了新的地址。

一旦该连接建立成功,在/etc/sysconfig/networks-scripts 下面就会自动创建同名的配置文件。

方法4:nmcli命令

nmcli是个很强大的命令,后面一大堆选项和对象可以配置。看看帮助文档,对象可以是综合信息,网络,信号和连接。这里我们主要是学习连接的配置使用。

wKioL1kG_ZTC1sB7AAGQeNaH9hQ702.jpg

如何配置connection(连接),还是先看看帮助,它后面可以跟show,up,down, add, modify, edit, delete, reload

wKiom1kG_ZWRejm-AAGIAQQWIvE185.jpg

Connection的范例:

wKioL1kG_ZXwQHpLAAFHqLWHzEI057.jpg

范例:查看具体的设备信息可以通过“nmcli connection show 设备名”来查看

wKiom1kG_ZXjiQ45AAFYzvGlo_o750.jpg

范例:修改现有连接

wKioL1kG_ZbB7FdPAAG-vczD7Ck428.jpg

看看device(配置)有哪些参数

wKiom1kHAJvDg2auAADR4mizB2M491.png

二、把eno16777736改成eth0

Centos完成之后,默认的网卡名称是eno16777736

输入如下命令,进入对应目录,编辑文件:

vim /etc/sysconfig/grub

然后,往这个文件中添加“net.ifnames=0 biosdevname=0”内容,作用是禁用该可预测命名规则。

步骤如下:

1

wKiom1kG_ZagKJB0AABoURBbK-Q689.jpg

wKioL1kG_ZfhSqtzAACUtlkUuWA846.jpg

2

wKiom1kG_ZfDOm0tAAEPIC4mexA736.jpg

3

wKioL1kG_ZeQfwfNAABEmBpXSTE282.jpg

4

wKioL1kG_ZfBP7dnAAGN-kK98zk741.jpg

wKiom1kG_ZmT3GDUAAN-SLczXvY604.jpg

5

wKiom1kG_ZmjCmHEAABsyuBWD7o456.jpg

6

wKioL1kG_ZrTSGbZAAFAKL_Ctv8590.jpg

三、服务控制

systemd对linux来说,就是一个init程序,可以作为sysVinit和Upstat的替代。

Centos7监视和控制systemd的主要命令是systemctl,该命令可以用于查看系统状态和管理系统及服务。

Centos7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下。每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install]

wKioL1kG_ZuzTK0IAALgnrbkuv0109.jpg

wKiom1kG_ZvjUTuRAAKwGZaaovc343.jpg

[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 即可

 

以下是截图网上相关资料:

wKiom1kG_ZyQk7qnAADbNx6QLds687.jpg

wKioL1kG_dWBT1keAAEmfaUni5Q320.jpg

[Unit]区块:启动顺序与依赖关系。

wKiom1kG_dajFR60AABcWnhBDSc025.jpg

wKioL1kG_dbBQu5YAAF3K8bmFkk060.jpg

wKiom1kG_dbToLLcAADvqOrTObQ687.jpg

[Service]区块:启动行为

wKiom1kG_dewki2vAABH8m0TZp0771.jpg

wKioL1kG_degJoM6AADNf7BB_Vg815.jpg

wKiom1kG_dixBuQRAAFfSV-aki4962.jpg

wKioL1kG_djiKTP3AAGAVhR5Xcw279.jpg

wKiom1kG_djw1QyTAAEubPyMhK8903.jpg

wKioL1kG_dmjnfCtAAISTGlgPSk198.jpg

wKioL1kG_drQi1AnAAGR-MA7eH8555.jpg

wKiom1kG_drCSo-CAAHg_svYb1g961.jpg

wKiom1kG_dry0UQoAABdcnaEbB0784.jpg

[Install]区块

wKioL1kG_duw8QrKAAB1crPfnBc614.jpg

wKiom1kG_dzRF7cbAALmrkK-9_Y186.jpg

wKioL1kG_dzinhJ7AAH_oUPcSso215.jpg

wKioL1kG_dzDEbOfAACGCy2qCoo125.jpg

我们对service和chkconfig两个命令都不陌生,Centos7系统中systemctl 是管制服务的主要工具,它整合了chkconfig 与 service功能于一体。

systemctl命令的基本操作格式是:

systemctl   动作   服务名.service

systemd提供更优秀的框架以表示系统服务间的依赖关系实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,systemd的目标是尽可能启动更少进程;尽可能将更多进程并行启动。

分析系统状态:

systemctl或systemctl list-units   #输出激活的单元

systemctllist-units --type=service #列出active状态的服务

systemctllist-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。

systemctlstart <单元>      #立即启动单元

systemctlstop <单元>      #立即停止单元

systemctlrestart <单元>    #重启单元

systemctlreload <单元>     #重新读取单元配置

systemctlstatus <单元>     #输出单元运行状态

systemctlis-enabled <单元>   #检查单元是否配置为自动启动

systemctlenable <单元>     #开机自动启动单元

systemctl disable <单元>     #取消开机自动激活单元

systemctl is-active<单元>    #查看单元是不是正在运行

systemctl daemon-reload      #重新载入 systemd,扫描新的或有变动的单元(当服务的相对应的配置文件被改动了需要重载systemd。让其识别新配置)

电源管理:

systemctlreboot    #重启

systemctlpoweroff     #退出系统并停止电源(即关机)

举例:

systemctl is-enabled  sshd.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 #禁用指定服务

systemctl unmask *.service  #激活指定服务

注:*代表某个服务的名字,如http的服务名为httpd

案例:

查看服务的状况

wKioL1kG_d3QnUVkAAGSxa5959s864.jpg

停止 sshd服务,查看状态

wKioL1kHAiCQEEuvAAGuFUlSZRo770.png

disable 服务,禁止开机自动运行

wKiom1kG_d7SRRTEAAFvn2W4hP0675.jpg

开机自动加载,并启动该服务

wKioL1kG_d7j1bIqAAGOPRXFfT0435.jpg

通过mask来禁用该服务,这样一旦服务终止,则无法再启动,必须通过unmask解除禁用才能使用systemctl start sshd 来运行服务。

wKiom1kG_d_Q356LAAG6d08M9bM395.jpg

除了上面提到的基本功能,systemctl还可以查询当前加载的模块单元,注意后缀为service的才是我们需要管理的服务

wKiom1kG_d-ypw9QAAEWKv5m1t4765.jpg

可以通过 type来过滤掉其他类型的单元

“systemctl  list-unit-files   --type  service  |   grep   服务”

wKioL1kG_eCBMgJHAADBPOR5ycc230.jpg

四、防火墙

Centos7已经默认使用firewalld作为防火墙,其使用方式已经变化。

基于iptables的防火墙被默认不启动,但仍然可以继续使用

Centos7中有几种防火墙共存:firewalld、iptables、ebtables等,默认使用firewalld作为防火墙,管理工具是firewall-cmd。Centos7的内核版本是3.10,在此版本的内核里防火墙的包过滤机制是firewalld,使用firewalld来管理netfilter,不过底层调用的命令仍然是iptables等。因为这几种daemon是冲突的,所以建议禁用其他几种服务。

wKioL1kG_eDjvC7xAAIH49tJOfo633.jpg

下面这张截图查询效果和上张一样。两种查询的方法:

wKiom1kG_eDjRcKiAAHyLVQYt8M072.jpg

例如若要禁用iptables、ip6tables、ebtables防火墙,方法如下图

wKiom1kG_eGDvZIsAAA9wLYKmwI622.jpg

或者

wKioL1kG_eHgjJ9tAAA_q6XGTno810.jpg

或者

wKioL1kG_eGQQ8wwAABdolxayKQ421.jpg

查看这几种服务是否正在运行

wKiom1kG_eLAUUUsAAHxAhQDTzE291.jpg

或者

wKiom1kG_eKQPiFvAAEeWfWJEZ4452.jpg

Centos7虽然有iptables但是不建议使用了,使用新的firewalld服务。

Firewalld与旧版本的iptables相比较的不同点:

1)提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的防火墙管理工具。

2)拥有运行时配置和永久配置选项。

3)它也支持允许服务或者应用程序直接添加防火墙规则的接口。

4)以前的system-config-firewall防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核netfilter 防火墙模块的卸载和新配置所需模块的装载等。相反,firewall daemon 动态管理防火墙,不需要重启整个防火墙便可应用更改。因而也就没有必要重载所有内核防火墙模块了。

wKioL1kG_eLgU0nfAAHUjdH_3wM725.jpg

(注意:防火墙未讲解完毕,请静等待Centos7系列(三))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值