一、iptables防火墙
1. 策略与规则链
防火墙采用自上而下的顺序读取配置的策略规则,在找到匹配项后就立即结束匹配去执行定义好的转发规则(放行或禁止),在读取完所有的策略规则之后没有匹配项就执行默认的策略。
防火墙策略规则设置有2种:一种是通(ACCEPT),另外一种是堵(DROP);当策略默认设置为通时就需添加拒绝规则,当策略设置为堵时需要添加允许规则
转发动作:有允许accept、记录log、拒绝drop、拒绝reject;DROP与REJECT都为拒绝流量通过,DROP为拒绝流量后不做出任何反应,而REJECT为拒绝流量后会回复一条信息
2. iptables参数
-P:设置默认策略规则
-F:清空规则链的所有规则
-L:显示规则链的规则
-A:在规则链末尾添加新规则
-I:在规则链首部添加规则
-I num:在规则链第n条添加规则
-D num:删除规则链的第n条规则
-p:匹配协议
-s:匹配源地址可添加掩码进行匹配
-d:匹配目的地址可添加掩码进行匹配
--sport num:匹配源端口
--dport num:匹配目的端口
3. 在iptables命令后面添加-L参数,查看规则链信息
[root@server ~]# iptables -L
4. 在iptables命令后面添加-F参数,清空规则链
5. 在iptables命令后面添加-P参数设置为DROP,修改默认策略规则为DROP,使用前请先添加允许的规则避免ssh失去连接;设置默认的DROP后就需要添加允许规则,规则链的默认策略拒绝动作只能是DROP而不能是REJECT
6. 默认策略为DROP,添加ICMP流量进入策略
7. 删除刚添加的ICMP流量策略并将默认策略设置为ACCEPT
8. 只允许指定IP的主机访问本机的22端口,拒绝其它主机的访问
9. 拒绝所有人访问12345端口
10. 拒绝访问本机的9090端口
11. 拒绝访问本机的8000-8008端口
二、Firewalld防火墙
相较于传统的防火墙管理配置工具,firewalld加入了区域(模版)的概念,预先准备了几套防火墙策略集合(策略模版),在不同场景下选择不同的策略模版就可快速切换到不同的防火墙策略模版
firewall-cmd参数:
--get-default-zone 查看默认的区域
--set-defaults-zone=区域 设置默认的区域;设置后永久生效
1. 查看firewalld服务当前使用区域
2. 查询网卡在firewalld中绑定的区域
3. 网卡默认区域设置为home,并重启后生效
4. 设置firewalld服务默认区域为public
firewalld服务的默认区域为全局配置,指对所有网卡生效的配置优先级较低;默认区域为public而网卡的区域为home,以网卡的区域为准
5. 查询当前所在的默认区域是否允许http、https、ssh服务
6. 设置当前所在默认区域中http、https永久放行
7. 设置当前区域中永久禁止http协议
8. 设置默认区域中访问8080-8088的端口永久放行
9. 把访问12345端口的流量转到22端口
10. 配置富规则开放ssh其它主机进行连接,禁止192.168.10.20主机进行ssh登录
富规则也叫复规则。表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防火墙策略中也是最高的;在虚拟机环境中禁止ping写的富规则现在一些问题,一直ping再写规则规则无效,只有开机重新加载后才能生效
此文章仅记录自己的一个学习过程;逆水行舟