linux防火墙设置


防火墙可以简单的理解为一种网络数据的过滤方式,它可以依据服务器启动的服务来设定是否放行, 也能够针对信任的用户来放行! 这部份应该要对网络有点概念之后才来谈比较好,所以详细的数据会写入在服务器篇的内容。 目前CentOS 7默认防火墙机制为firewalld, 通过firewall-cmd命令进行设置。 还没有谈到更多的防火墙与网络规则,一上来就使用firewall-cmd有点困难! 我们先使用图形界面来介绍防火墙的相关知识!
进入图形界面后,点击应用程序->杂项->防火墙,就会打开防火墙图形管理界面。
图 防火墙图形管理界面示意图
组态:
执行时期与永久记录的差异 如图 20.1.2 的箭头 1 处,基本上,防火墙的规则拟定大概有两种情况,一种是暂时用来执行的规则,一种则是永久记录的规则。 一般来说,刚刚启动防火墙时,这两种规则会一模一样。 不过,后来可能会暂时测试而加上几条规则,如果该规则没有写入永久记录区, 下次重载防火墙时,该规则就会消失! 所以不要只是在运行时间增加规则设定,而是必须要在永久记录区增加规则才行!
域(zone):依据不同的环境所设计的网络域(zone)
你可能会听过所谓的本地网络、NAT与DMZ等网域,同时,可能还有可信任的 (trusted)网域,或者是应该被抵挡(drop/block)的网域等。 这些网域各有其功能~早期的iptables防火墙服务,所有的规则都得要自己手动来撰写,然后规则的细分得要自己去规划, 所以很可能会导致一堆无法理解的规则。
新的firewalld服务就预先设计这些可能会被用到的网络环境,里面的规则除了public(公开网域)域(zone)外,其它的域则暂时没有启动。
默认情况下只需要考虑public zone即可!其他的领域等到读完服务器篇之后再来讨论。
相关设定项目
防火墙规则通常需要设定的地方有:
服务:一般来说,如果Linux server作为Internet服务器,提供的是比较一般的服务,只要处理服务项目即可。 预设服务器已经提供了ssh与dhcpv6-client的服务端口!
端口:如果服务所启用的端口不是正规的端口,例如为了玩systemd与SELinux我们曾经将ssh的端口调整到222, 同时也曾经将ftp的端口调整到555!那如果想要让别人连进来,就不能只开放上面的服务项目,好需要调整端口! 另外, 如果有某些比较特别的服务是 CentOS 预设没有提供的,所以服务当然也就没有存在!这时你也可以直接透过端口来搞定它!
丰富规则(rich rule):如果有整个网域需要放行或者拒绝,那么前两个项目就没有办法适用, 这时就得要这个项目来处理了,底下我们会以firewall-cmd来增加这一个项目的设定。
界面:这个域主要是针对哪一个网络卡来做规范,我们只有一张网卡,所以就是eth0!
至于伪装、端口转送、ICMP过滤器、来源等我们就不介绍了! 毕竟那个是网络的东西。 现在假设Linux server是要作为底下的几个重要的服务与相关的网域功能,该如何设定防火墙呢?
作为ssh, www, ftp, https等正规端口的服务;
同时与前几章搭配,还需要放行 port 222 与 port 555 喔!
局域网络192.168.1.0/24这一段我们目前想要直接放行这段网域对我们服务器的联机请注意, 因为未来都要持续生效,一定要到永久的防火墙设定项目里去处理!
不然只有这次开机期间会生效!
先来处理一下正规的服务端口的放行吧!因为永久的设定比较重要,得要先经过授权认证才行!。
图 永久的设定需要权限的认证
先确认箭头 1, 2, 3 的地方是正确的,再直接勾选ftp,http,https,ssh即可!
ssh默认已经被勾选!勾选就生效,没有确认按钮!
图 以图形界面的方式放行正规服务的防火墙设定
接下来按下端口的页面,按下加入之后在出现的窗口当中填写需要的端口号,通常就是tcp协议保留不动! 按下确定就好了!
图 以图形界面的方式放行部份非正规端口的防火墙设定
因为有两个端口要增加,所以请实作两次产生222与555端口:
图以图形界面的方式放行部份非正规端口的防火墙设定
最后一个要处理的是局域网络的放行,这个部份目前的图形界面软件有点怪异。所以,可以这样下达指令即可!
注意,下列的指令全部都是必要参数,只有IP网段的部份可以变动掉即可!
            [root@study ~]# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" \
            >source address="192.168.1.0/24" accept'
            success
            [root@study ~]# firewall-cmd --reload
            
上面的图示都是作用于永久设定中,只是变更配置文件,要让这些设定实际生效, 那么就得要使用上面的reload项目, 让防火墙系统再加载一下就OK了!

本文由initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读