iptables基于Linux内核提供的netfilter框架实现,是一个基于规则的数据包过滤系统。iptables将所有进入和离开系统的网络数据包与其定义的规则进行比较,并根据规则来处理数据包。iptables规则包括以下几个部分:
(相关资料图)
表(table):iptables规则的容器,用于存储规则链和对应的规则。iptables提供了多种表用于不同的网络处理任务,例如filter表用于过滤数据包、nat表用于进行网络地址转换等。规则链(chain):每个表中都包含多个规则链,用于存储规则。iptables中默认包含三个规则链:INPUT(输入规则)、FORWARD(转发规则)和OUTPUT(输出规则),分别对应处理进入系统的数据包、从系统转发的数据包和从系统输出的数据包。规则(rule):iptables规则由匹配条件和动作两部分组成。匹配条件可以是源地址、目的地址、协议类型、端口等,动作可以是ACCEPT(接受数据包)、DROP(丢弃数据包)、REJECT(拒绝数据包)等。iptables命令的基本格式如下:
iptables [-t 表名] 命令 [链名] [匹配条件] [动作选项]
其中,-t 表名选项用于指定要操作的表名,命令选项用于指定要执行的操作,链名用于指定要操作的规则链,匹配条件用于指定要匹配的数据包,动作选项用于指定要执行的动作。
要查看当前iptables规则,可以使用以下命令:
iptables -L
该命令会列出默认规则链的所有规则,包括每条规则的编号、匹配条件和动作。
要添加一条iptables规则,可以使用以下命令:
iptables -A 链名 匹配条件 动作选项
例如,要添加一条允许所有进入系统的HTTP数据包的规则,可以使用以下命令:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
该命令将在INPUT规则链的末尾添加一条匹配协议类型为tcp、目的端口为80的数据包,并将其动作设置为接受数据包。
要删除一条iptables规则,可以使用以下命令:
iptables -D 链名 规则编号
例如,要删除INPUT规则链中编号为2的规则,可以使用以下命令:
iptables -D INPUT 2
该命令将从INPUT规则链中删除编号为2的规则。
要清除所有iptables规则,可以使用以下命令:
iptables -F
该命令将清除默认规则链中的所有规则。
要开启iptables防火墙,可以使用以下命令:
service iptables start
该命令将启动iptables防火墙服务。
要关闭iptables防火墙,可以使用以下命令:
service iptables stop
该命令将停止iptables防火墙服务。
要保存当前iptables规则,以便在系统重启后能够恢复规则,可以使用以下命令:
service iptables save
该命令将保存当前iptables规则到/etc/sysconfig/iptables文件中。
要加载之前保存的iptables规则,可以使用以下命令:
service iptables reload
该命令将重新加载之前保存的iptables规则。
Copyright © 2015-2022 东方公司网版权所有 备案号:沪ICP备2020036824号-8 联系邮箱:562 66 29@qq.com