博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux系统firewalld、zone、service
阅读量:5866 次
发布时间:2019-06-19

本文共 4847 字,大约阅读时间需要 16 分钟。

hot3.png

10.20 firewalld的9个zone

先执行以下操作切换至firewalld防火墙:

关闭iptables:[root@adai003 ~]# systemctl disable iptablesRemoved symlink /etc/systemd/system/basic.target.wants/iptables.service.[root@adai003 ~]# systemctl stop iptables开启firewalld:[root@adai003 ~]# systemctl enable firewalldCreated symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.[root@adai003 ~]# systemctl start firewalld

注: 此时防火墙的规则已发生改变,可以使用命令iptables -nvL查看。

9种zone:

  • 查看zone类型:
[root@adai003 ~]# firewall-cmd --get-zoneswork drop internal external trusted home dmz public block

关于9种zone的解析:

mark

注: 9个zone中内容分别保存着不同的规则!

  • 查看系统默认的zone:
[root@adai003 ~]# firewall-cmd --get-default-zone public

10.21 firewalld关于zone的操作

设置默认的zone

设置默认的zone:[root@adai003 ~]# firewall-cmd --set-default-zone=worksuccess查看:[root@adai003 ~]# firewall-cmd --get-default-zone work

查看指定网卡的zone:

[root@adai003 ~]# firewall-cmd --get-zone-of-interface=ens33public  [root@adai003 ~]# firewall-cmd --get-zone-of-interface=lono zone

给指定网卡增加zone

可以通过以下两种方法为网卡添加zone:

方法1:

编辑网卡配置文件(复制系统网卡配置文件进行更名)的方法为其添加zone(配置完成后重启网络服务,并重新加载firewalld服务:“systemctl restart firewalld”)。

方法2:

[root@adai003 ~]# firewall-cmd --zone=work --add-interface=ens37success[root@adai003 ~]# firewall-cmd --get-zone-of-interface=ens37work

给指定网卡更改zone

[root@adai003 ~]# firewall-cmd --zone=block --change-interface=ens37success[root@adai003 ~]# firewall-cmd --get-zone-of-interface=ens37block

给指定网卡删除zone

[root@adai003 ~]# firewall-cmd --zone=bmz --remove-interface=ens37The interface is under control of NetworkManager, setting zone to default.success[root@adai003 ~]# firewall-cmd --get-zone-of-interface=ens37work

查看系统中所有网卡所在的zone

[root@adai003 ~]# firewall-cmd --get-active-zones work  interfaces: ens37public  interfaces: ens33

10.22 firewalld关于service的操作

查看系统所有service

[root@adai003 ~]# firewall-cmd --get-services

查看当前zone下的service

[root@adai003 ~]# firewall-cmd --list-services dhcpv6-client ssh

查看指定zone下的service

[root@adai003 ~]# firewall-cmd --zone=public --list-services dhcpv6-client ssh

添加一个服务到某个zone下

  • 临时添加(配置文件中不存在,重启会恢复原配置)
[root@adai003 ~]# firewall-cmd --zone=public --add-service=httpsuccess[root@adai003 ~]# firewall-cmd --zone=public --list-services dhcpv6-client ssh http
  • 永久添加(即,更改配置文件)
[root@adai003 ~]# firewall-cmd --zone=public --add-service=http --permanent

删除zone下某服务

  • 临时删除
删除前:[root@adai003 ~]# firewall-cmd --zone=public --list-serviceftp dhcpv6-client ssh[root@adai003 ~]# firewall-cmd --zone=public --remove-service=ftpsuccess删除后:[root@adai003 ~]# firewall-cmd --zone=public --list-servicedhcpv6-client ssh
  • 永久删除
[root@adai003 ~]# firewall-cmd --zone=public --list-serviceftp dhcpv6-client http ssh[root@adai003 ~]# firewall-cmd --zone=public --remove-service=ftp --permanent success[root@adai003 ~]# firewall-cmd --reload success[root@adai003 ~]# firewall-cmd --zone=public --list-servicedhcpv6-client http ssh

配置文件

  • zone的系统配置文件位置:/etc/firewalld/zones/
[root@adai003 ~]# ls /etc/firewalld/zones/public.xml  public.xml.old[root@adai003 ~]# cat /etc/firewalld/zones/public.xml
Public
For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

说明: public.xml.old相当于一个备份文件,每次编辑public.xml时,系统会自动将原public.xml内容备份到public.xml.old。

  • zone配置文件模板
[root@adai003 ~]# ls /usr/lib/firewalld/zones/block.xml  drop.xml      home.xml      public.xml   work.xmldmz.xml    external.xml  internal.xml  trusted.xml
  • firewalld内各项服务的配置文件模板
[root@adai003 ~]# ls /usr/lib/firewalld/icmptypes  ipsets  services  xmlschema  zones

注: 每次编辑配置文件后需要重新加载(reload)firewall-cmd才生效。

应用

需求:

ftp服务自定义端口1121,需要在work zone下面放行ftp。

方法:

步骤一:复制ftp的配置文件到/etc/firewalld/services/[root@adai003 ~]# cp /usr/lib/firewalld/services/ftp.xml  /etc/firewalld/services/步骤二:编辑该文件,将port="21"改为port="1121"[root@adai003 ~]# vim /etc/firewalld/services/ftp.xml
FTP
FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You need the vsftpd package installed for this option to be useful.
步骤三:复制workzone的配置文件到/etc/firewalld/zones/[root@adai003 ~]# cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/步骤四:编辑该文件,增加“
”[root@adai003 ~]# vim /etc/firewalld/zones/work.xml
Work
For use in work areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
步骤五:重新加载[root@adai003 ~]# firewall-cmd --reload successFinished!

转载于:https://my.oschina.net/adailinux/blog/1383021

你可能感兴趣的文章
Akka actor tell, ask 函数的实现
查看>>
windows10 chrome 调试 ios safari 方法
查看>>
Hello , Ruby!
查看>>
Netty 4.1.35.Final 发布,经典开源 Java 网络服务框架
查看>>
详解Microsoft.AspNetCore.CookiePolicy
查看>>
SCDPM2012 R2实战一:基于SQL 2008 R2集群的SCDPM2012 R2的安装
查看>>
SQL SERVER中字段类型与C#数据类型的对应关系
查看>>
Linux lsof命令详解
查看>>
SVG path
查看>>
js判断checkbox是否选中
查看>>
多系统盘挂载
查看>>
MySQL函数怎么加锁_MYSQL 函数调用导致自动生成共享锁问题
查看>>
MR1和MR2的工作原理
查看>>
Eclipse中修改代码格式
查看>>
GRUB Legacy
查看>>
关于 error: LINK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决方案...
查看>>
hexo博客解决不蒜子统计无法显示问题
查看>>
python实现链表
查看>>
java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)...
查看>>
Android TabActivity使用方法
查看>>