Centos 运维之防火墙篇——①iptables

2023-01-20 22:19:23 浏览数 (1)

防火墙

一般来说,iptables和firewalld启用一个即可

iptables

iptables是Linux中常用的防火墙工具

规则链

  • PREROUTING 在进行路由选择前处理数据包
  • INPUT 处理流入的数据包
  • OUTPUT 处理流出的数据包
  • FORWARD 处理转发的数据包
  • POSTROUTING 在进行路由选择后处理数据包

一般来说,从内网向外网发送的流量一般都是可控且良性的,因此使用最多的就是INPUT规则链,该规则链可以增大黑客人员从外网入侵内网的难度。 但是仅有规则链,还不足以保护用户安全,还应该和一些动作联合起来。比如允许(ACCEPT)、拒绝(REJECT|DROP)、记录(LOG)、不记录

REJECT和DROP都是拒绝流量通过,两者有不同之处。

  • DROP 直接将流量丢弃而且不响应
  • REJECT 会在拒绝流量后再回复一条“信息已经收到,但是被扔掉了”信息,从而让流量发送方清晰地看到数据被拒绝的响应信息。

简单来说,流量传送失败一个会告诉你已经失败,现实中多用DROP

iptables属于数据链路层的服务,所以可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配;一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。另外,防火墙策略规则的匹配顺序是从上到下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误。就是最重要的写到最前面

常用参数

参数

作用

-P

设置默认策略

-F

清空规则链

-L

查看规则链

-A/-D

向规则链加入/删除规则

-I

在规则链插入新规则

-s

匹配来源地址IP/MASK,加 ! 表示除外

-d

匹配目标地址

-p

匹配协议(UDP/TCP/ICMP)

-j

动作(ACCEPT/DROP/REJECT)

--dport num

匹配目标端口号

--sport num

匹配来源端口号

-i/o

流入/流出网卡名称

配置完策略需要iptables-save来保存配置的策略命令

常用指令
代码语言:shell复制
# 包含num 列出iptables规则
iptables -nvL --line-numbers
# 删除num号规则 -D后面跟链名和编号
iptables -D INPUT num
# 预设策略 即不在列表里的按此策略执行
iptables -P INPUT ACCEPT
# 添加规则
#1.1.1.1可以为IP也可以为网段0.0.0.0/0
iptables -A INPUT -s 1.1.1.1 --dport 80 -j DROP
# 添加ping  --icmp-type要跟-p icmp一起使用,后面指定类型编号。这个8指的是能在本机ping通其他机器,而其他机器不能ping通本机,请牢记
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
# 停止防火墙
service iptables stop
# 开启防火墙
service iptables start
# 查看防火墙状态
service iptables status
保存和备份iptables规则
代码语言:shell复制
# 保存并输出配置文件位置
service iptables save
代码语言:shell复制
# 备份到指定路径
iptables-save > myipt.rule
# 通过文件还原规则
iptables-restore < myipt.rule

0 人点赞