Linux防火墙与iptables
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux防火墙与iptables相关的知识,希望对你有一定的参考价值。
Firewalld简介- 支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具
- 支持IPv4、IPv6防火墙设置以及以太网桥
- 支持服务或应用程序直接添加防火墙规则接口
- 拥有两种配置模式
(1)运行时配置
(2)永久配置
netfilter - 位于Linux内核中的包过滤功能体系
- 称为Linux防火墙的“内核态”
Friewalld/iptables - Centos7默认的管理防火墙规则的工具(Firewalld)
- 称为Linux防火墙的“用户态”
Friewalld和iptables的区别
iptables
四表五链!!!(重要)
链就是位置:共有五个,进路由(PRUROUTING)、进系统(INPUT)、转发(FORWORD)、出系统(OUTPUT)、出路由(POSTROUTING);表就是存储的规则;数据包到了该链处,会去对应表中查询设置的规则,然后决定是否放行、丢弃、转发还是修改等等操作。
表当中包含多个链,链当中包含多个规则!
具体的四表:
- filter表:过滤数据包
- Nat表:用于网络地址转换(IP、端口)
- Mangle表:修改数据包的服务类型、TTL、并且可以配置路由实现QOS
- Raw表:决定数据包是否被状态跟踪机制处理
具体的五链: - INPUT链:进来的数据包应用此规则链中的策略
- OUTPUT链:外出的数据包应用此规则链中的策略
- FORWARD链:转发数据包时应用此规则链中的策略
- PREROUTING链:对数据包作路由选择前应用此链中的规则(所有的数据包进来的时候先有这个链处理)
- POSTROUTING链:对数据包作路由选择前应用此链中的规则(所有的数据包出来的时候先有这个链处理)
iptables 【-t 表名】选项 【链名】【条件】【-j 控制类型】
- -p 设置默认策略:iptables
- -P:INPUT (DROP|ACCEPT)
- -F:清空规则链
- -L:查看规则链
- -A:在规则链的末尾加入新规则
- -I:num 在规则链的头部加入新规则
- -D:删除某一条规则
- -s:匹配来源地址IP/MASK,加“ !”表示除了这个ip外
- -d:匹配目标地址
- -i:网卡名称 匹配从这块网卡流入的数据
- -o:网卡名称 匹配从这块网卡流出的数据
- -p:匹配协议如tcp、udp、icmp
- --dport num 匹配目标端口号
- --sport num 匹配来源端口号
默认的所有端口存放在public区域中。
访问权限由高到低。高权限访问低权限。
运行时配置
- 实时生效,并持续至firewalld重新启动或重新加载配置
- 不中断先有连接
- 不能修改服务配置
永久配置 - 不立即生效,除非Firewalld重新启动或重新加载配置
- 中断现有连接
- 可以修改服务配置
图形化界面操作不做过多介绍,字符界面操作:[root@localhost~]#systemctl 选项 firewalld 选项:start stop restart status
防火墙管理操作
- firewall-cmd命令
- 支持全部防火墙特性
- 对于状态和查询模式,命令只返回状态,没有其他输出
- --permanent参数:携带该参数表示永久配置,否则表示运行时配置
- [--zone=<zone>]选项:不携带此选项表示针对默认区域操作,否则针对指定区域操作
查询Firewalld状态systemctl status firewalld
firewall-cmd-reload 重新加载firewalld的配置
显示网络连接或接口的默认区域
firewall-cmd --get-default-zone
设置网络连接或接口的默认区域为internalfirewall-cmd --set-default-zone=internal
显示已激活的所有区域firewall-cmd --get-active-zones
显示ens33接口绑定的区域firewall-cmd --get-zone-of-interface=ens33
为ens33接口绑定work区域firewall-cmd --zone=work --add-interface=ens33
为work区域更改啊绑定的网络接口ens33firewall-cmd --zone=work --change-interface=ens33
为work区域删除绑定的网络接口ens33
firewall-cmd --zone=work --remove-interface=ens33
显示左右区域及规则
firewall-cmd --list-all-zones
显示internal区域的所有规则
firewall-cmd ---zones=internal --list-all
现在默认区域的所有规则
firewall-cmd --list-all
以上是关于Linux防火墙与iptables的主要内容,如果未能解决你的问题,请参考以下文章
linux下的防火墙Netfilter配置:iptables的了解与使用(详细)