# 防火墙配置手册
侧边栏壁纸
  • 累计撰写 62 篇文章
  • 累计收到 47 条评论

# 防火墙配置手册

Skycyan
2025-01-10 / 0 评论 / 25 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2025年01月10日,已超过133天没有更新,若内容或图片失效,请留言反馈。

防火墙配置手册

防火墙种类和区别

Iptables介绍

CentOS6及之前系统使用iptables作为防火墙。iptables防火墙类型为静态防火墙,主要是基于接口,来设置规则,从而判断网络的安全性。

CentOS7中可能并没还有自带iptables,需要手动安装

  1. yum安装
    yum install iptables-services
  2. RPM安装

    shell

查看运行状态:service iptables status

Firewalld介绍

CentOS7以后使用Firewall作为防火墙。Firewalld防火墙类型为动态防火墙,是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。
查看运行状态:firewall-cmd --state

匹配顺序

image-20230619161202826

iptables简单配置

生产环境一般设置INPUT链默认拒绝

iptables -P INPUT DROP

iptables 基本语法结构

iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]

下面是一个列子

iptables -t filter -A INPUT [此处是对应的匹配规则] -j ACCEPT

-t:指定需要维护的防火墙规则表 filter、nat、mangle或raw。在不使用 -t 时则默认使用 filter 表。

表名详解:点此跳转

选项详解:点此跳转

链名详解:INPUTOUTPUTFORWARD、PREROUTING、POSTROUTING、PREROUTING

条件:点此跳转

触发动作 功 能
ACCEPT 允许数据包通过
DROP 丢弃数据包
REJECT 拒绝数据包通过
LOG 将数据包信息记录 syslog 曰志
DNAT 目标地址转换
SNAT 源地址转换
MASQUERADE 地址欺骗
REDIRECT 重定向

ACCEPT策略下,需要最后面有一条拒绝所有的配置,不然防火墙只是一个摆设。

iptables -A INPUT -j REJECT -m comment --comment "默认拒绝所有"
iptables -I INPUT 1 -p tcp --dport 23  -j ACCEPT -m comment --comment "放行23端口"
iptables -I INPUT 1 -p tcp -s 192.168.11.1 -j ACCEPT -m comment --comment "放行192.168.11.1"
iptables -I INPUT 1 -p tcp -s 192.168.11.1 --dport 23 -j ACCEPT -m comment --comment "放行192.168.11.1访问23端口"
iptables -I INPUT 1 -p tcp -m  iprange --src-range 135.32.103.248-135.32.103.255 -j ACCEPT -m comment --comment "放行同段访问端口"

常用查询

# 查看规则并显示行号
iptables -nL --line-number
# 保存规则
iptables-save

命令参数查询

COMMAND:

参数 含义
-A 添加防火墙规则
-D 删除防火墙规则
-I 插入防火墙规则
-F 清空防火墙规则
-L 列出添加防火墙规则
-R 替换防火墙规则
-Z 清空防火墙数据表统计信息
-P 设置链默认规则

表名具体含义

表名 功能含义
filter 过滤数据包
Nat 用于网络地址转换(IP、端口)
Mangle 修改数据包的服务类型、TTL、并且可以配置路由实现QOS
Raw 决定数据包是否被状态跟踪机制处理

已存在业务的防火墙规则添加

## 放行已建立的连接和数据包
sudo iptables -I INPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

# 修复ICMP timestamp请求响应漏洞
sudo iptables -A INPUT -p icmp --icmp-type timestamp-request -j DROP
sudo iptables -A OUTPUT -p icmp --icmp-type timestamp-reply -j DROP

设置默认规则

# 默认允许
sudo iptables -P INPUT ACCEPT
# 默认拒绝
sudo iptables -A INPUT -j REJECT --reject-with icmp-host-unreachable #拒绝并返回Destination Unreachable的ICMP错误消息
sudo iptables -P INPUT -j DROP

firewalld简单配置

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.108" accept"
  • 放行服务/端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
0

评论 (0)

取消