iptables
iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分

处理流入的数据包(INPUT); *外网–>内网
处理流出的数据包(OUTPUT); *外网<–内网
处理转发的数据包(FORWARD); *通过第三方

匹配策略规则采取的动作:
ACCEPT(允许):允许流量通过
LOG(登记):允许流量通过,但记录日志信息
REJECT(拒绝):拒绝流量通过且明确给予拒绝的响应(考试时务必用REJECT,让系统明确知道流量被拒绝)
DROP(丢弃):拒绝流量通过但不响应

iptables中常用的参数以及作用:

参数

作用

-P

设置默认策略

-F

清空规则链

-L

查看规则链

-A

在规则链的末尾加入新规则

-I

在规则链的头部加入新规则

-D

删除某一条规则

-s

匹配来源地址IP/MASK,加叹号“!”表示除这个IP外

-p

匹配协议,如TCP,UDP,ICMP

–dport

匹配目标端口号

-j

采取的动作(ACCEPT、LOG、REJECT、DROP)

iptables -L
iptables -F
iptables -L
iptables -P INPUT DROP
iptables -L
iptables -I INPUT -p icmp -j ACCEPT
ping -c 4 192.168.12.20
iptables -D INPUT 1
iptables -P INPUT ACCEPT
iptables -L
iptables -I INPUT -s 192.168.12.0/24 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j REJECT
iptables -L
iptables -I INPUT -p tcp --dport 12345 -j REJECT
iptables -I INPUT -p udp --dport 12345 -j REJECT
iptables -L
iptables -I INPUT -p tcp -s 192.168.12.5 --dport 80 -j REJECT
iptables -L
iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT
iptables -A INPUT -p udp --dport 1000:1024 -j REJECT
iptables -L
service iptables save

Firewalld
RHEL 7系统中集成了多款防火墙管理工具,其中firewalld(Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于GUI(图形用户界面)的两种管理方式。
firewalld中常见的区域名称(默认为public)以及相应的策略规则:

区域

默认规则策略

trusted

允许所有的数据包

public

拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量

drop

拒绝流入的流量,除非与流出的流量相关

终端管理工具

命令行终端是一种极富效率的工作方式,firewall-cmd是firewalld防火墙配置管理工具的CLI(命令行界面)版本

iptables命令 drop与reject_linux


使用firewalld配置的防火墙策略有两个模式:

运行时(Runtime)模式:默认的firewall防火墙策略模式,又称为当前生效模式,策略会随着系统的重启会失效。
永久(Permanent)模式:在用firewall-cmd命令正常设置防火墙策略时添加–permanent参数,配置的防火墙策略就可以永久生效。但是,使用永久生效模式设置的策略只有在系统重启之后才能自动生效。如果想让永久模式下配置的策略立即生效,需要手动执行firewall-cmd --reload命令。

firewall防火墙常用配置:

iptables命令 drop与reject_IP_02


流量转发命令格式:
firewall-cmd --permanent --znotallow=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>