Linux 防火墙是什么,你需要它吗?| Linux 中国( 二 )


2、外网中的防火墙技术
应用于外网中的防火墙,主要发挥其防范作用,外网在防火墙授权的情况下,才可以进入内网 。针对外网布设防火墙时,必须保障全面性,促使外网的所有网络活动均可在防火墙的监视下,如果外网出现非法入侵,防火墙则可主动拒绝为外网提供服务 。基于防火墙的作用下,内网对于外网而言,处于完全封闭的状态,外网无法解析到内网的任何信息 。防火墙成为外网进入内网的唯一途径,所以防火墙能够详细记录外网活动,汇总成日志,防火墙通过分析日常日志,判断外网行为是否具有攻击特性 。
 
二、Firewall问题被问了无数次!

Linux 防火墙是什么,你需要它吗?| Linux 中国

文章插图
 
1、简述
centos 7中防火墙是一个非常的强大的功能,在CentOS 6.5中在iptables防火墙中进行了升级了 。
动态防火墙守护程序firewalld提供动态管理的防火墙,支持网络“区域”,以便为网络及其关联的连接和接口分配信任级别 。它支持IPv4和IPv6防火墙设置 。它支持以太网桥,并具有运行时和永久配置选项的分离 。它还有一个服务或应用程序接口,可以直接添加防火墙规则 。
2、区域
① 概念
由firewalld提供的区域按照从不信任到信任的顺序排序;网络区域定义了网络连接的可信等级 。这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接 。
② 区域的分类
- public
用于公共场所 。您不相信网络上的其他计算机不会损害您的计算机 。仅接受选定的传入连接 。
- trusted
接受所有网络连接 。
- block
阻止传入的网络连接被拒绝,其中包含用于IPv4的icmp-host-prohibited消息和用于IPv6的icmp6-adm-prohibited 。只能从系统内启动网络连接 。
- drop
任何传入的网络数据包都被丢弃,没有回复 。只能进行传出网络连接 。
- external
对伪装的进入连接,一般用于路由转发
3、firewall服务管理
[root@localhost ~]# systemctl status firewalld // 查看服务状态
[root@localhost ~]# systemctl start firewalld // 启动服务
[root@localhost ~]# systemctl stop firewalld //关闭服务
[root@localhost ~]# systemctl restart firewalld // 重新启动服务
[root@localhost ~]# systemctl enable firewalld // 永久开启服务
[root@localhost ~]# systemctl disable firewalld // 永久关闭服务
[root@localhost ~]# systemctl is-enabled firewalld // 查看服务是否开机自启动
4、firewall-cmd
① firewall-cmd基础命令
[root@localhost ~]# firewall-cmd --version // 查看版本
[root@localhost ~]# firewall-cmd --help // 查看帮助
[root@localhost ~]# firewall-cmd --state // 显示状态
[root@localhost ~]# firewall-cmd --zone=public --list-ports // 查看所有打开的端口
[root@localhost ~]# firewall-cmd --reload // 更新防火墙规则
[root@localhost ~]# firewall-cmd --get-active-zones // 查看区域信息
[root@localhost ~]# firewall-cmd --get-zone-of-interface=eth0 // 查看指定接口所属区域
[root@localhost ~]# firewall-cmd --panic-on // 拒绝所有包
[root@localhost ~]# firewall-cmd --panic-off // 取消拒绝所有包
[root@localhost ~]# firewall-cmd --query-panic // 查看是否拒绝
 
② firewall-cmd配置管理
--permanent(--permanent永久生效,没有此参数重启后失效)
 
[root@localhost ~]# firewall-cmd --zone=block --list-all // 查看block策略
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent // 永久开启tcp的80端口
[root@localhost ~]# firewall-cmd --zone=public --remove-port=80/tcp --permanent // 永久删除tcp的80端口
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-source=192.168.4.207/24 // 永久开启此地址访问本机
[root@localhost ~]# firewall-cmd --permanent --zone=block --add-source=192.168.4.207/24 // 永久拒绝此地址访问本机
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http // public区域中添加允许策略,让http协议可以通过
[root@localhost ~]# firewall-cmd --permanent --zone=public --remove-service=http // public区域中添加允许策略,拒绝http协议通过
 
③ firewall-cmd地址伪装与端口转发
--permanent(--permanent永久生效,没有此参数重启后失效)
[root@localhost ~]# firewall-cmd --list-all --zone=external // 查看网关服务器的external区域是否开启了地址伪装
masquerade: yes # 表示地址伪装已启用
[root@localhost ~]# firewall-cmd --zone=external --add-masquerade // 打开IP地址伪装(打开端口转发,首先需要打开IP地址伪装)


推荐阅读