Linux日常维护(firewalld的9个zone和service)

一、iptables规则备份和恢复


iptables如果不使用service iptables save命令,则重启之后规则会全部消失。

services save命令默认把规则保存在/etc/sysconfig/iptables文件里。

可以用ipables-save > ipt.txt 这个命令把现在的规则保存在文本文件里。然后在恢复默认配置

等到想用的时候再用iptables-restore < ipt.txt这个命令恢复保存的配置。

如果想启动服务就让有规则,就把iptables保存在/etc/sysconfig/iptables

举例:

二、firewalld防火墙的9个zone以及他们的用法

firewalld默认有9个zone(zone是firewalld的单位)

默认zone为public

drop(丢弃):任何接受的网络数据包都被丢弃,没有任何恢复,仅能有发送出去的网络连接(数据包不能进来,但是可以出去)

block(限制):任何接受的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。(和drop相比,比较宽松一些,主要是为了针对icmp)

piblic(公共):在公共区域内使用,不能相信网络内其他计算机不会对你造成危害,只能接受经过选取的连接。

external(外部):特别是为路由器启用了伪装功能的外部网,你不能信任来自网络的其他计算,不能相信他们不会对你造成伤害,只能接受经过选择的连接。

dmz(非军事区):用于你的非军事区内的电脑,此区域可公开访问,可以有限的进入你的内部网络,仅仅接受经过选择的连接。

work(工作):用于工作区,你可以基本信任网络内的其他电脑不会对你造成危害,仅仅接收经过选择的连接。

home(家庭):用于内部网络,你可以基本上信任网络内其他电脑不会对你造成危害,仅仅接收经过选择的连接。

internal(内部):用于内部网络,你可以基本上信任网络内其他电脑不会对你造成危害,仅仅接收经过选择的连接。

trusted(信任):可接受所有的网络连接。

[[email protected] ~]# firewall-cmd --get-zones                (查看所有zone的命令,一共有9个zone)

work drop internal external trusted home dmz public block

[[email protected] ~]# firewall-cmd --get-default-zone           (查看默认的zone的命令)

public

我们知道每个zone就是一套规则集,但是有那么多zone,对于一个具体的请求来说应该使用哪个zone(哪套规则)来处理呢?这个问题至关重要,如果这点不弄明白其他的都是空中楼阁,即使规则设置的再好,不知道怎样用、在哪里用也不行,在/usr/lib/iptables/zone,保存着zone的配置文件

对于一个接受到的请求具体使用哪个zone,firewalld是通过三种方法来判断的:

1、source,也就是源地址

2、interface,接收请求的网卡

3、firewalld.conf中配置的默认zone

这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找,如果前两个都找不到才会使用第三个。

[[email protected] ~]# firewall-cmd --get-active-zones        (查看素有网卡所拥有的zone)

public

interfaces: ens33 ens37

[[email protected] ~]# firewall-cmd --get-zone-of-interface=ens33            (查看指定网卡的zone)

public

[[email protected] ~]# firewall-cmd --zone=public --add-interface=lo          (给指定网卡设置zone)

success

[[email protected] ~]# firewall-cmd --get-zone-of-interface=lo

public

[[email protected] ~]# firewall-cmd --zone=dmz --change-interface=lo        (给指定网卡更改zone)

success

[[email protected] ~]# firewall-cmd --get-zone-of-interface=lo

dmz

[[email protected] ~]#  firewall-cmd --zone=dmz  --remove-interface=lo      (指定网卡删除zone,会恢复到默认网卡zone)

success

[[email protected] ~]# firewall-cmd --get-zone-of-interface=lo

no zone

没有办法删除网卡的默认zone,如果要更改,可以使用以下命令更改默认zone:

[[email protected] ~]# firewall-cmd --set-default-zone=work

success

[[email protected] ~]# firewall-cmd --get-zone-of-interface=ens33

work

[[email protected] ~]# firewall-cmd --get-zone-of-interface=ens37

work



三、service

  • 在/usr/lib/firewalld/services/目录中,还保存了另外一类配置文件,每个文件对应一项具体的网络服务,如ssh服务等。
  • 与之对应的配置文件中记录了各项服务所使用的tcp/udp端口,在最新版的firewalld中默认已经定义了70多种服务供我们使用。
  • zone就是调用了不同的service而实现了不同的效果。

[[email protected] ~]# firewall-cmd --get-service             (把系统文件内所有的service列出来)

[[email protected] ~]# firewall-cmd --get-default-zone          (查看系统当前的默认zone)

[[email protected] ~]# firewall-cmd --list-service             (把默认zone下的service列出来)

[[email protected] ~]# firewall-cmd --zone=(zone名) --list-service  (把指定的zone下的service列出来)

[[email protected] ~]# firewall-cmd --zone=(zone名) --add-service=(service名)(把service加入到指定zone下)(只是暂时写入内存中)

[[email protected] ~]# firewall-cmd --zone=(zone名) --add-service=(service名) --permanent (修改配置文件,把service永久的加入到指定Zone下面)

配置文件在/etc/firewalld/zones/下,每次修改完配置文件,他都会把旧的配置文件后缀名加上.old也保存在目录下

[[email protected] zones]# ls /etc/firewalld/zones/

public.xml  public.xml.ol

修改zone和service有两种方法,一种是刚才我们写的命令行,一种是直接修改配置文件

在/usr/lib/firewalld/services下保存的是services的模板

在/usr/lib/firewalld/zone下保存的是zone的模板

举例:(使用配置文件的方法修改zone和service)

1.需求:把ftp服务自定义端口1121,需要在work zone下面方形ftp

[[email protected] zones]# cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services   (复制模板到service下)

[[email protected] zones]# vim /etc/firewalld/services/ftp.xml              (修改ftp的配置文件,修改端口1121)

[[email protected] zones]# cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/         (复制模板到zones下)

[[email protected] zones]# vim /etc/firewalld/zones/work.xml             (修改work.xml的配置文件,把ftp加到里面)

<service name="ftp"/>

[[email protected] zones]#  firewall-cmd --reload                  (重新加载配置,配置文件生效)

时间: 2024-10-11 09:39:31

Linux日常维护(firewalld的9个zone和service)的相关文章

linux日常维护(网络相关,防火墙,netfirter介绍,netfirter语法)

1.linux网络相关 ifconfig 查看网卡ip (centos6是默认有的,centos7里没有,需要下载  yum install net-tloos) 关闭网卡:     ifdown +网卡    (关闭后没有ip) 打开网卡      ifup  +网卡 重启指定的网卡.如果网卡正在远程连接,不要直接ifdown网卡,如果服务器不在身边,过程很繁琐, 应该执行 ifdown +网卡 && ifup +网卡 设置一个虚拟网卡的步骤: 1.到网卡配置目录 [[email pro

Linux日常维护命令

对于程序员来说,掌握一些基本的Linux命令是必不可少的,即使现在用不到,在不久的将来也应该会用到.由于Linux有很多命令,每个命令基本可以用一篇文章介绍,所以本文仅总结一些常用命令的常用用法,如有明显的遗漏或错误,请各位帮忙指出,谢谢! 以下内容基于测试环境:Red Hat 4.5/5 一.服务器硬件配置 1.查看硬盘及分区情况 # fdisk -l 2.查看分区空间使用情况 可以查看各分区大小.已使用.可用.已使用百分比.挂载情况 1)默认单位为K # df 2)可读性更好的显示,如单位M

程序员必备:Linux日常维护命令

一.服务器硬件配置 1.查看硬盘及分区情况 # fdisk -l 2.查看分区空间使用情况 可以查看各分区大小.已使用.可用.已使用百分比.挂载情况 1)默认单位为K # df 2)可读性更好的显示,如单位M.G等 # df -h 3.查看内存信息 1)使用free命令 默认单位为K,可通过结合参数-b.-k.-m分别以单位B.K.M进行显示 # free # free -b # free -k # free -m 2)查看/proc/meminfo文件,可以获得比free命令更详细内存信息 #

linux日常维护(rsync介绍,常用选项,rsync六种模式)

一.rsync介绍 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的"rsync算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快. 从字面上的意思你可以理解为remote sync (远程同步)这样可以让你理解的更深刻一些.Rsync不仅可以远程同步数据(类似于scp [1]),当然还可以本地同步数据(类似于cp),但不同于cp或scp的一点是,rsync不像c

Nginx日常维护操作(3)

一.简明nginx常用命令 1. 启动 Nginx /sbin/nginx service nginx start 2. 停止 Nginx /sbin/nginx -s stop /sbin/nginx -s quit -s都是采用向 Nginx 发送信号的方式. 3. Nginx 重载配置 /sbin/nginx -s reload 上述是采用向 Nginx 发送信号的方式,或者使用service nginx reload 4. 指定配置文件 /sbin/nginx -c /usr/local

10.19-10.22 iptables规则备份和恢10.20 firewalld的9个zone

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 # 10.19 iptables 规则备份和恢复 - 保存和备份iptables 的规则 - service iptables save 会把规则保存到 /etc/sysconfig/iptables - 把iptables规则备份到my.ipt 文件中 - iptables-save > my.ipt

笔记9(日常运维2iptables nat表、zone、service、cron、chkconfig、systemd、unit、target、rsyncscreen)

nat表应用 A机器两块网卡ens33(192.168.133.130).ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联. 需求1:可以让B机器连接外网 查看路由转发:cat /proc/sys/net/ipv4/ip_forward 如果是0,我们需要打开它 A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forw

2-15-1mysql日常维护工具-备份一:MySQL字符集

1:字符集介绍 字符集就是一套文字符号及其编码.比较规则的集合,第一个计算机字符集ASC2!MySQL数据库字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念,其中字符集用来定义MySQL数据字符串的存储方式,而校对规则定义比较字符串的方式 2:MySQL数据库常见字符集介绍 选择字符集建议使用国际标准的utf8 3:MySQL怎样选择合适的字符集 1.如果处理各种各样的文字,发布到不同语言国家地区,应选Unicode字符集,对MySQL来说就是utf8(每个汉字三个

svn服务配置和日常维护命令

Subversion独立服务和与apache整合服务. 一 .Svn独立服务安装 操作系统: Redhat Linux AS3  AS 4   ContOS AS 4 安装包获取: 下载[url]http://subversion.tigris.org/downloads/subversion- 1.4.0.tar.gz[/url]和[url]http://subversion.tigris.org/downloads /subversion-deps-1.4.0.tar.gz[/url]. 编