提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

Firewalld防火墙

  • 防火墙基础
  • 一、防火墙配置
  • 二、使用防火墙安装http服务测试分别测试内网、外网、dmz
  • 三、firewalld高级配置
  • 四、配置防火墙

防火墙基础

  • 防火墙的作用和特点

    • 防火墙的作用

      • 对数据包进行过滤,发现可疑流量进行阻断
    • 防火墙的特点
      • 增强安全
      • 防止外网对内部网络发送攻击
  • 防火墙的类型
    • 软件防火墙

      • Windows防火墙、iptables、firewalld、TMG都属于软件防火墙
      • 处理数据速度慢
    • 硬件防火墙
      • 华为防火墙、深信服、ASA防火墙都属于硬件防火墙
        处理数据速度快
      • 可靠性强
  • 防火墙功能分类
    • 代理防火墙

      • 过滤用户访问资源
      • 需要指定防火墙代理IP地址和端口上网
    • 网络防火墙
      • 对数据包进行过滤
    • 状态防火墙
      • 硬件防火墙属于状态化防火墙

防火墙类型:
Trusted:信任区域,允许所有流量通过属于内部区域
Public:公共区域,默认接口不设置区域属于public区域,不允许流量入站允许出站
work:工作区域允许ssh、ipp-client、dhcp其他全部拒绝
home:家庭区域,允许ssh、ipp-client、samba-cient、dhcp,拒绝其他流量入站
internal:内部区域,不允许流量入站,允许信任网络流量
external:外部区域允许ssh其他流量全部拒绝,非信任网络
dmz:非军事化区域,保存对外提供服务的服务器
block:隔离区域不允许流量入站
drop:丢弃区域,拒绝所有流量


提示:我们安装Centos 7 系统时会自动安装firewalld

一、防火墙配置

irewalld工具类型
1)firewall-cmd
适合在字符模式配置防火墙
2)firewall-config
适合图形化配置防火墙使用

[root@centos02 ~]# systemctl start firewalld        //启动firewalld服务
[root@centos02 ~]# systemctl enable firewalld      //设置firewalld为开机自启

查看运行状态

[root@centos02 ~]# systemctl status firewalld

或者使用

[root@centos02 ~]# firewall-cmd --state
running

禁用firewalld(代码如下)

[root@centos02 ~]# systemctl stop firewalld     //停止firewalld
[root@centos02 ~]# systemctl disable firewalld     //设置firewalld为开机不自启动

我们可以通过一些firewall-cmd命令查看防火墙接口区域的划分

将ens32设置到trusted区域

[root@centos02 ~]# firewall-cmd --add- interface=ens32 --zone=trusted

查看trusted区域所有规则

[root@centos02 ~]# firewall-cmd --zone=trusted --list-all

查看防火墙区域类型

[root@centos02 ~]# firewall-cmd --get-zones

查看接口所在区域

[root@centos02 ~]# firewall-cmd --get-zone-of-interface=ens32

查看活动区域

[root@centos02 ~]# firewall-cmd --get-active-zones

查看默认区域

[root@centos02 ~]# firewall-cmd --get-default-zone

修改默认区域为trusted

[root@centos02 ~]# firewall-cmd --set-default-zone=trusted

修改ens2接口到dmz

[root@centos02 ~]# firewall-cmd --change-interface=ens32 --zone=dmz

将ens32接口从dmz区域移除

[root@centos02 ~]# firewall-cmd --remove-interface=ens32 --zone=dmz

二、使用防火墙安装http服务测试分别测试内网、外网、dmz

开四台虚拟机

拿一台模拟内网、一台模拟防火墙、一台模拟外网、一台模拟dmz

代码如下(示例):

将模拟防火墙的虚拟机添加网卡

添加好网卡后,进行配置网卡
打开其他三台虚拟机配置网卡
内网网卡

配置外网网卡(防火墙中配置)


dmz网卡配置以及防火墙中配置

配置结束记得重启网卡配置
记得保存网卡

开启路由功能

[root@centos02 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

检查是否开启功能使用 sysctl -p

将防火漆设置开机自启

[root@centos02 ~]# systemctl start firewalld        //开启服务
[root@centos02 ~]# systemctl enable firewalld      //设置开机自启

将防火墙中配置的ens32、ens34、ens35设置到不同的区域之中。

[root@centos02 ~]# firewall-cmd --add-interface=ens32 --zone=trusted      //将ens32分配到trusted中
[root@centos02 ~]# firewall-cmd --add-interface=ens34 --zone=external     //将ens34分配到external中
[root@centos02 ~]# firewall-cmd --add-interface=ens35 --zone=dmz      //将ens35分配到dmz中

安装服务实现浏览器测试

通过防火墙去远程,安装https协议通信

外网安装

[root@centos03 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos03 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos03 ~]# yum -y install httpd ssl_mod

dmz中安装服务

[root@centos04 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos04 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos04 ~]# yum -y install httpd ssl_mod

分别给外网和dmz添加端口号,并允许通信

443/80

三、firewalld高级配置

端口转发
富语言规则
IP地址地址伪装

IP地址地址伪装

 1)IP地址伪装的作用将多个私网IP地址映射到一个公网IP地址访问互联网2)IP地址伪装特点 节约公网IP地址隐藏内部网络增强网络安全性只能配置IPv4协议

端口转发

1)端口转发的作用 将一个IP地址和端口号映射到另一个IP地址和端口上上2)端口转发特点将内网服务器发布到互联网使用

富语言规则

1)富语言规则特点 表达式防火墙配置语言语法不严格配置灵活简单2)富语言规则动作类型accept:允许访问drop:拒绝访问,不给用户提醒reject:拒绝访问,给用户提醒log:记录到日志中3)富语言规则选项source address:源IP地址或者网络destination address:目标IP地址或者网络service:服务port:端口号protocol:协议masquerade:配置IP地址伪装 forward-port:端口转发 icmp-drop:限制icmp协议

四、配置防火墙

富语言规则使用
配置IP地址伪装
配置端口转发

代码演示(如下)(使用防火墙实现)

1)允许使用ah验证[root@centos02 ~]# firewall-cmd --zone=trusted --add-rich-rule='rule protocol value=ah accept'
2)删除ah验证[root@centos02 ~]# firewall-cmd --zone=trusted --remove-rich-rule='rule protocol value=ah accept'
3)查看富语言规则[root@centos02 ~]# firewall-cmd --zone=trusted --list-rich-rules
4)拒绝DMZ区域192.168.100.0/24网络通信[root@centos02 ~]# firewall-cmd --zone=dmz --add-rich-rule='rule family=ipv4 source address=192.168.100.0/24 drop'
5)允许外网20和21号端口通信[root@centos02 ~]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 source address=192.168.200.0/24 port port=20-21 protocol=tcp accept'

配置IP地址伪装(通过实现隐藏内部网络、增强网络安全性)

1)关闭系统ip地址伪装 [root@centos02 ~]# firewall-cmd --remove-masquerade --zone=external
2)配置将192.168.100.0/24网络伪装到防火墙外网接口IP地址访问[root@centos02 ~]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 source address=192.168.100.0/24 masquerade'

配置端口转发

1)将内网服务器192.168.100.10的80端口映射到192.168.200.20的80端口上[root@centos02 ~]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 destination address=192.168.200.20/32 forward-port port=80 protocol=tcp to-addr=192.168.100.10'
2)添加防火墙规则允许http协议通信[root@centos02 ~]# firewall-cmd --add-service=http --zone=external

使用外网进行测试

firewalld防火墙配置、测试服务、高级配置与IP伪装、端口转发相关推荐

  1. linux nginx 配置端口访问,Linux入门教程:ubuntu 16.04配置nginx服务器实现一个IP一个端口多个站点,ubuntunginxNginx 使用异步...

    Linux入门教程:ubuntu 16.04配置nginx服务器实现一个IP一个端口多个站点,ubuntunginxNginx 使用异步 特点: Nginx 可以部署在网络上使用 FastCGI,脚本 ...

  2. Windows上最全wsl2使用配置,包含基础配置、高级配置、开发工具、机器学习环境配置、机器人与自动驾驶环境配置(如Ros及百度的无人驾驶系统apollo)、服务器及Web开发环境配置等等

    Windows上最全wsl2使用配置,包含基础配置.高级配置.开发工具.机器学习环境配置.机器人与自动驾驶环境配置(如Ros及百度的无人驾驶系统apollo).服务器及Web开发环境配置等等. 文章比 ...

  3. Debian配置Apache虚拟主机(IP、端口、域名)

    apache2有三种方式实现虚拟主机,IP.端口和域名.用户输入不同的IP.端口.域名.访问到的就会是不同的站点. 域名方式: 服务器需要搭建DNS服务,本文省略搭建DNS服务的过程. 在/var/w ...

  4. Ubuntu 20.04防火墙 UFW做NAT转换,IP伪装,端口重定向,端口映射

    参考文档: <Ubuntu 防火墙IP转发做NAT,内网集群共享网络(简单)> <focal (8) ufw-framework.8.gz手册> 项目需要一台路由器以实现NAT ...

  5. CentOS7.2(单网卡iptables)做DNAT访问弹性IP地址端口转发到后端无公网IP的服务器不同端口

    通过访问有公网IP的主机(192.168.5.221)的13306端口转发到无公网IP的主机192.168.5.94的80端口 环境准备 无弹性IP的主机,和有弹性IP的centos7.4为 同一个V ...

  6. ip以及端口转发数据、根据端口转发显示内网的web的方法介绍

    一.ip和端口都转发(跨机器) 将140.207.3.110(内网是192.168.0.139)服务器 端口为11450的数据转发到 192.168.0.138的1145端口上面去. 1.部署服务器1 ...

  7. linux服务器IP伪造,Linux服务器间同网段IP伪装端口映射

    Linux服务器间同网段IP传伪装端口映射 主机(网关)ip:192.168.4.18 目标主机 ip :192.168.4.25 映射端口: 21 echo "1" > / ...

  8. 华为防火墙初始化配置与高级配置

    一.防火墙入门 防火墙是一种网络安全设备,通常位于网络边界,用于隔离不同安全级别的网络,保护一个网络免受来自另一个网络的攻击和入侵.这种"隔离"不是一刀切,是有控制地隔离,允许合法 ...

  9. 「offer来了」从基础配置到高级配置,16大知识点带你巩固webpack知识体系

    「面试专栏」前端面试之Webpack篇

  10. 突破大文件上传 和内网ip的端口转发

    php上传大于2M文件的解决方法 2016年12月11日 14:22:06 katelyn9 阅读数 1222php上传大于2M文件的解决方法如上传一个文件大于2m往往是上传不成功的解决方法:php. ...

最新文章

  1. 单链表-在带头结点的单链表L中删除一个最小值结点(四指针)
  2. 20179214 2017-2018 2《网络攻防实践》第七周学习总结
  3. 设计模式原则篇:(1)单一职责原则--Single Responsibility Principle
  4. python回顾(九)——函数高级,递归函数,匿名函数
  5. iphone分屏功能怎么用_iPhone终于上线这功能,可惜安卓都用烂了
  6. Jmeter分布式压测实战及踩坑处理(含参数化)
  7. HDU-1068Girls and Boys(二分匹配)
  8. 『并发包入坑指北』之向大佬汇报任务
  9. Flutter - 底部导航详解与案例示范
  10. mac vscode debug安装调试moodle
  11. aes简单文本加密工具
  12. oshi因系统问题报错:IllegalStateException: Unmapped relationship: 7
  13. php实现把二叉树打印成多行(谋而后动,写好算法思路,不然浪费超多时间而且还是错误代码,而且精力消耗会导致代码正确率下降以及低级错误)...
  14. Linux-nali解析IP归属信息
  15. freeSWITCH + WebRTC 音视频会议
  16. 病态!------沉沦的病态
  17. 畅购商城(五):Elasticsearch实现商品搜索
  18. 安装程序配置服务器失败。参考服务器错误日志和C:\WINDOWS\sqlstp.log
  19. 【掘金Shopee蓝海】教你如何使用知虾找到蓝海?
  20. [Delphi]海康威视视频监控录像机布防报警的示例代码

热门文章

  1. python3读文件中文_详解Python3解决读取中文文件txt编码的问题
  2. android xml sax解析,《android用SAX解析xml》
  3. 在vue中_this和this的区别
  4. iSlide(PPT插件)
  5. 【SpringBoot】11、SpringBoot中使用Lombok
  6. 【文智背后的奥秘】系列篇——自动文本分类
  7. “咱们吃鸡吧”的背后
  8. GitHub下载加速利器
  9. uniapp获取云服务空间 数据
  10. 明天终于要到公司开工了