iptables 和 firewalld

这两天干了点运维的事情,这里做个记录。

iptables的基础概念,可以看看 iptables详解(1):iptables概念, 这里面介绍得很详细。

iptables 和 firewalld 的关系,可以看看CentOS 7 中配置Firewall规则, 还有 Firewalld的结构也不错。

firewall 有一个命令行的使用方式 firewall-cmd,有一个图形界面的使用方式 firewall-config,我主要看的是命令行的方式, 可以看这个博客 firewall-cmd。


看了前贤的博客,我这里做个笔记:

关于iptable的内容,这张图比较经典,copy过来大家参考一下。
iptables 和 firewalld_第1张图片

在iptable里面,有四张表, raw, mangle, nat, filter, 他们的包含了各种规则,使用的作用范围如上图所示。

配置规则的格式如下:

iptables -t nat -A POSTROUTING -s 10.1.0.0/16 -j SNAT --to-source 192.168.1.146
# iptables 后面的参数:
# 	-t 表名, 就是上面的 raw mangle nat filter 这些
#	-A 流向, 就是上图中红色的内容  PREROUTING INPUT FORWARD OUTPUT POSTROUTING 
#	-s ip地址,--source, 报文源地址匹配, 
#	-j 行为,  --jump, 有 ACCEPT DROP REJECT SNAT MASQUERADE DNAT REDIRECT LOG
# 	--to-source ip地址, 这是前一个 -j 参数设置 SNAT 行为的一个必须参数,告诉 SNAT行为替换的IP是啥。

具体的,推荐查看 iptables详解(1):iptables概念和iptables详解(13):iptables动作总结之二


firewalld部分:
开启,关闭,开机配置,可以看 CentOS 7 中配置Firewall规则。

其实firewalld 和iptables 做的事情是差不多的,也是配置内核过滤器来完成防火墙或者路由的功能。

使用方法,可以用

firewall-cmd -h

命令来做查看命令的参数详情,很多,这里我也只讲讲配置部分。

命令来看,firewall-cmd命令比iptable命令要更加人性化一些,在命令中,大致知道自己想干什么,而不是想着计算机怎么处理。
如果是信任某个东西,firewall-cmd 可以直接在 trusted 里面添加我们信任的内容。

下面我添加一个信任的ip地址:

firewall-cmd --permanent --zone=trusted --add-source=192.168.0.101

让上面的修改生效,需要重新加载一下 firewall-cmd

firewall-cmd --reload

所以相对于iptable要人性化一点,不过很多东西,也需要自己理解。具体的建议查看 CentOS 7 中配置Firewall规则。

你可能感兴趣的:(linux)