Iptables之四表五链

iptables概念

iptables只是Linux防火墙的管理工具而已。真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构。

iptables具体是如何去过滤各种规则的呢?请看下面的四表五链

四表五链概念

  • filter表——过滤数据包
  • Nat表——用于网络地址转换(IP、端口)
  • Mangle表——修改数据包的服务类型、TTL、并且可以配置路由实现QOS
  • Raw表——决定数据包是否被状态跟踪机制处理
  • INPUT链——进来的数据包应用此规则链中的策略
  • OUTPUT链——外出的数据包应用此规则链中的策略
  • FORWARD链——转发数据包时应用此规则链中的策略
  • PREROUTING链——对数据包作路由选择前应用此链中的规则(所有的数据包进来的时侯都先由这个链处理)
  • POSTROUTING链——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)

在这里插入图片描述

 正常的访问流程图

iptables 概念及相关规则学习 - 知乎

 Iptables的安装

[root@k8s-node2 ~]# yum install iptables iptables-services

启动并查看状态

[root@k8s-node2 ~]# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@k8s-node2 ~]# systemctl start iptables
[root@k8s-node2 ~]# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
   Active: active (exited) since Thu 2023-07-20 14:52:06 CST; 1s ago
  Process: 5092 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
 Main PID: 5092 (code=exited, status=0/SUCCESS)

Jul 20 14:52:06 k8s-node2 systemd[1]: Starting IPv4 firewall with iptables...
Jul 20 14:52:06 k8s-node2 iptables.init[5092]: iptables: Applying firewall rules: [  OK  ]Jul 20 14:52:06 k8s-node2 systemd[1]: Started IPv4 firewall with iptables.
Hint: Some lines were ellipsized, use -l to show in full.
[root@k8s-node2 ~]# 

Iptables命令行配置方式

命令格式

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

注意事项:

• 不指定表名时,默认指filter表

• 不指定链名时,默认指表内的所有链

• 除非设置链的默认策略,否则必须指定匹配条件

• 控制类型使用大写字母,其余均为小写

常用的控制类型
ACCEPT∶允许数据包通过。
DROP∶直接丢弃数据包,不给出任何回应信息。
REJECT∶ 拒绝数据包通过,会给数据发送端一个响应信息。 SNAT∶修改数据包的源地址。 DNAT∶修改数据包的目的地址。
MASQUERADE∶伪装成一个非固定公网IP地址。
LOG∶ 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则。LOG只是一种辅助动作,并没有真正处理数据包。

常用的管理选项∶
-A ∶ 在指定链的末尾追加 (–append)一条新的规则
-I ∶ 在指定链的开头插入(–insert)一条新的规则, 未指定序号时默认作为第一条规则
-R ∶ 修改、替换(–replace)指定链中的某一条规则,可指定规则序号或具体内容
-P ∶设置指定链的默认策略(–policy)
-D ∶ 删除 (–delete)指定链中的某一条规则, 可指定规则序号或具体内容
-F ∶ 清空(–flush)指定链中的所有规则,若未指定链名,则清空表中的所有链
-L∶列出 (–list)指定链中所有的规则,若未指定链名,则列出表中的所有链
-n ∶ 使用数字形式(–numeric)显示输出结果,如显示 IP 地址而不是主机名
-v ∶ 显示详细信息,包括每条规则的匹配包数量和匹配字节数
–line-numbers∶ 查看规则时,显示规则的序号
 

猜你喜欢

转载自blog.csdn.net/Jack_chao_/article/details/131829901