浅谈iptables与firewalld防火墙

iptables基于包过滤的防火墙工具 ,Linux 内核集成的 IP 信息包过滤系统,对流入和流出服务器的数据包进行精细管理

规则是存储在专用信息包过滤表中 防火墙按照规则做出判断 

netfilter/iptables IP 信息包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则

这些过滤表是集成在linux内核中 ,在信息包过滤表中,规则被分组放在链(chain)中。

iptables规则链三种 输入 转发 输出

讲下filter表三种内建链 INPUT OUTPUT FORWARD

INPUT链 – 处理来自外部的数据

OUTPUT链 – 处理向外发送的数据

ORWARD链 – 将数据转发到本机的其他网卡设备上

iptables
-A 顺序添加
-I 插入一条新规则 后面加数字表示插入哪一行
-D 删除一条新规则 后面加数字表示删除哪一行
-L 查看
@1. iptables -L -n 以数字的方式显示
@2. iptables -L -v 显示详细信息
@3. iptables -L -x 显示精确信息
-F 清空链中所有规则

匹配条件
-p tcp udp icmp
--sport 指定源端口
--dport 指定目标端口
-s 源地址
-d 目的地址
-m state 模糊匹配一个状态

动作
-j
DROP 丢弃 无返回信息
ACCEPT 允许通过
REJECT 丢弃 返回信息

例子
-t filter 默认是filter 所以没有加
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
允许icmp包通过,也就是允许ping,
[root@www-jfedu-net ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话)
将本机的8080端口转发至其他主机,主机IP:192.168.0.141,目标主机IP和端口:192.168.0.142:80,规则如下;
iptables -t nat -A PREROUTING -d 192.168.0.141/32 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.142:80
iptables -t nat -A POSTROUTING -d 192.168.0.142/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.0.141
echo 1 > /proc/sys/net/ipv4/ip_forward
同时开启iptables forward转发功能。

firewalld
被称为动态防火墙即修改其中一条规则不会重新加载全部规则,任何规则的变更都不需要对整个防火墙规则列表进行重新加载。
对应的iptables称为静态防火墙即首先对旧的防火墙规则进行了清空,然后重新完整地加载所有新的防火墙规则,这个动作很可能对运行中的系统产生额外的不良影响,特别是在网络非常繁忙的系统中。firewalld的出现很好的解决这个问题。

firewalld与iptables的关系
firewalld替代了 iptables service 部分,其底层还是使用 iptables 作为防火墙规则管理入口。规则还是使用的iptables规则。

firewalld有需要的人,我再补充总结吧。

猜你喜欢

转载自www.cnblogs.com/link01/p/12932053.html