Centos7防火墙

Centos7防火墙

前言:

本来想在系统那里去说防火墙 但防火墙要说的要很多 使用单独做一章文章去讲防火墙~~

在 CentOS 7 中,防火墙是保障系统网络安全的核心组件,默认采用firewalld作为防火墙管理工具(替代了 CentOS 6 的iptables​服务),底层仍基于iptables​内核模块实现规则控制。

iptables

iptables​ 命令的完整格式较为复杂,其核心结构由 命令选项表(table)链(chain)匹配条件目标动作(target) 组成。以下是其完整语法框架及各部分详解:

一、完整语法框架

bash

iptables -A/-I [-t 表名] 命令选项 [链名] [匹配条件] [-j 目标动作]

二、各部分详解

1. 表名(-t table)

指定操作的表(默认操作 filter​ 表),可选值:

  • filter​:过滤表(默认),用于数据包过滤。
  • nat​:网络地址转换表,用于端口映射、IP 转发等。
  • mangle​:修改数据包标记(如 TTL、服务类型)。
  • raw​:处理未被连接跟踪的数据包(较少用)。

示例:操作 nat 表

bash

iptables -t nat ...
2. 命令选项(管理规则的操作)
选项 功能描述
-A​ 或 --append 在链的末尾添加一条规则
-I​ 或 --insert 在链的指定位置插入一条规则(默认插入到开头,如 iptables -I INPUT 3 ...​ 插入到第 3 位)
-D​ 或 --delete 删除链中的一条规则(可通过规则内容或序号删除,如 iptables -D INPUT 2​ 删除第 2 条)
-R​ 或 --replace 替换链中指定位置的规则(如 iptables -R INPUT 1 ...​ 替换第 1 条)
-L​ 或 --list 列出链中的所有规则
-F​ 或 --flush 清空链中的所有规则(如 iptables -F INPUT​ 清空 INPUT 链)
-Z​ 或 --zero 重置链中规则的数据包和流量计数器(如 iptables -Z INPUT​)
-N​ 或 --new-chain 创建自定义链(如 iptables -N MY_CHAIN​)
-X​ 或 --delete-chain 删除自定义链(需先清空链中规则)
-P​ 或 --policy 设置链的默认策略(如 iptables -P INPUT DROP​)
-E​ 或 --rename-chain 重命名自定义链(如 iptables -E MY_CHAIN NEW_CHAIN​)

常用组合选项(与 -L​ 搭配查看规则):

  • -n​:以数字形式显示 IP 和端口(不解析服务名)。
  • -v​:显示详细信息(如数据包计数、流量大小)。
  • -vv​:更详细的信息(包括 TCP 标志位、TOS 等)。
  • --line-numbers​:显示规则序号(方便删除 / 替换规则)。

示例:查看 INPUT 链规则(带序号和数字格式)

bash

iptables -L INPUT -n --line-numbers
3. 链名(内置链 + 自定义链)

内置链随表固定,不同表包含的链不同:

  • filter 表INPUT​(入站)、OUTPUT​(出站)、FORWARD​(转发)。
  • nat 表PREROUTING​(路由前)、

你可能感兴趣的:(Centos7,linux)