firewalld防火墙管理

认识防火墙

防火墙事实上是一个过滤器,对进出计算机系统或者网络的每一个网络数据包或者应用程序请求进行检查,防火墙就是通过定义一些有顺序的规则,并管理进入到网络内的主机数据数据包的一种机制。

防火墙的分类

根据功能的不同,可分为:

  1. 防火墙要么基于网络,要么基于主机。基于网络的防火墙主要是用来保护整个网络或者子网。网络防火墙的一个示例是用来保护网络的屏蔽路由器的防火墙。基于主机的防火墙主要是运行在单个主机或服务器上并提供保护的防火墙的防火墙
  2. 防火墙要么是硬件防火墙,要么是软件防火墙防火墙可以位于网络设备中,比如路由器,其中路由器的固件配置了防火墙的过滤器。防火墙也可以以应用程序的形式存在于计算机系统中。该应用程序允许设置过滤规则,进而对传入流量进行过滤,软件防火墙也被成为基于规则的防火墙
  3. 防火墙要么是网络层过滤器,要么是应用层过滤器。用来检查单个网络数据包的防火墙也被成为数据包过滤器。网络层防火墙仅允许某些数据包进出系统。它运行在OSI参考模型的较低层。应用层防火墙在OSI参考模型的较高层进行过滤。该防火墙允许某些应用程序对系统进行访问

为何需要防火墙

防火墙最大功能就是帮助你限制某些服务的访问来源。例如:

  1. 你可以限制文件传输服务(FTP)之在子域内的主机才能够使用,而不是对整个Internet开放
  2. 你可以限制整台Linux主机仅可以接受客户端WWW要求,其他的服务都关闭
  3. 你还可以限制整台主机仅能主动对外连接,也就是说,若有客户端对我们主机发送主动连接的数据包状态就给于过滤

防火墙最主要的任务就是规划出:

  1. 切割被信任(如子域)与不被信任(如Internet)的网段。
  2. 划分出可能提供internet的服务与必须受保护的服务
  3. 分析出可接受与不可接受的数据包状态

一、实现防火墙

1.firewalld

1.1配置文件所在地址:

        firewall将配置存储在/usr/lib/firewall//etc/firewall中的各种.XML文件里

1.2firewall域

home(家庭):用于家庭网络,仅接受dhcpv6-client、ipp-client、mdns、          samba-client、ssh服务
internal(内部):用于内部网络,仅接受dhcpv6-client、ipp-client、mdns、samba-client、ssh服务
public(公共):用于公共区域使用,仅接受dhcpv6-client、ssh服务
trusted(信任):接受所有网络连接
work(工作):用于工作区,仅接受dhcpv6-client、ipp-client、ssh服务
block(限制):拒绝所有网络连接
dmz(非军事区):仅接受ssh服务连接
drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复
external(外部):出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh服务连接

1.3启用firewalld

yum install firewlld firewall-config
systemctl start firewalld
systemctl enable firewalld

1.4使用命令行接口配置火墙

  1. firewall-cmd  --state
  2. firewall-cmd --get-active-zones
  3. firewall-cmd --get-default-zone
  4. firewall-cmd --get-zones

     

  5. firewall-cmd --zone=public --list-all
  6. firewall-cmd --get-zones

     

  7. firewall-cmd --set-defauls-zone=dmz

  8. firewall-cmd  --add-source=172.25.254.86 --zone=trusted

  9. firewall-cmd  --list-all --zone=trusted

     

  10. firewall-cmd --add-service=http

  11. firewall-cmd --remove-service=http

    永久性移除

  12. firewall-cmd --permanent --remove-service=http

     

  13. firewall-cmd --remove-port=8080/tcp

  14. firewall-cmd --add-port=8080/tcp

     

  15. firewall-cm --add-port=8080/tcp

  16. firewall-cmd --remove-port=8080/tcp

    测试:在/var/www/html下面编写 index.html文件

     

  17. firewall-cmd --add-source=172.25.254.17 --zone=trusted

  18. firewall-cmd --remove-source=172.25.254.17 --zone=trusted

    之前火墙执行的那些命令都是暂时的,重启后就会消失,要想永久生效需要加参数--permanent

  19. firewall-cmd --permanent --add-source=172.25.154.17 --zone=trusted

  20. firewall-cmd --remove-source=172.25.154.17 --zone=trusted

用文件方式添加(配置文件在/etc/firewalld/zones里)

2.地址转发

当别的主机通过22端口连接17时会转发至217这台主机

测试:

取消地址转发

3.地址伪装

在desktop中,添加两块网卡,分别将ip修改为eth0为172.25.254.117和eth1为192.168.0.117

firewall-cmd --permanent --add-masquerade

firewall-cmd  --reload

测试:在server中,修改网关为192.168.0.117,在测试:ping 172.25.254.17

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值