filter表:负责过滤功能,防火墙,内核模块:iptables_filter

nat表:network address translation,网络地址转换功能;内核模块:iptables_nat

mangle表:拆解报文,做出修改,并重新封装的功能;内核模块:iptables_mangle

raw表:关闭nat表上启用的连接追踪机制内核模块:iptables_raw

所有规则都在这四张表中

规则匹配:按顺序匹配,顺序很重要。

ACCEPT:接受

DROP:丢弃

REJECT:拒绝

SOURCE:来源地址

destination:目标地址

iptables命令,查看规则命令:

iptables -t 表名 -L

查看对应表的所有规则,-t选项指定要操作的表,省略-t表名时。默认操作filter表。-L表示列出规则

iptables -t 表名 -L

查看指定表的指定链中的规则

iptables -t 表名 -v -L

查看指定表的所有规则,并且显示更详细的信息(更多的字段),-v表示verbose,表示详细的,冗长的,当使用-v选项时,会显示出计数器的信息

iptables -t 表名 -n -L

表示查看表的所有规则,并且在显示规则时,不对规则中的IP或者端口进行名称反解,-n选项表示不解析IP地址

iptables --line-numbers -t 表名 -L

查看表的所有规则, --line-numbers 表示显示规则的序号,可简写为--line

iptables -line -t 表名 -nvxL

显示表更详细的信息

iptables命令,增删改查命令:

新增规则:

iptables -F INPUT

清除filter表INOUT链中的规则

iptables -t filter -I INPUT -s ip地址 -j DROP

-l指明将规则插入哪一个链中,-l表示insert,即插入的意思,即增加的意思。

-s指明匹配条件中的“源地址”,如果报文的源地址属于-s对应的地址。那么报文则满足匹配条件,-s为source之意,表示源地址。

-j 指明“匹配条件”被满足时,所对应的动作,DROP为丢弃,当报文的源地址为该地址时,报文则被DROP丢弃。

iptables -A -t filter INPUT -s ip地址 -j ACCEPT

-A 表示在对应的表的链中追加规则

-j 动作,ACCEPT表示接受

iptables -I -t filter INPUT -s ip地址 -j ACCEPT

-I 表示在filter表的INPUT链的最前面添加新规则

iptables -t filter -I INPUT 2 -s ip地址 -j DROP

-l INPUT 2 表示在INPUT链中新增规则,新增的规则编号为2

删除规则:

1.根据规则的编号去删除规则

iptables -t filter -D INPUT 3

删除第3条规则

2.根据具体的匹配条件与动作删除规则

iptables -D INPUT -s 192.168.1.111 -j ACCEPT

删除符合该规则的规则

3.清除该表所有规则

iptables -t 表名 -F

4.清除指定表中某条链的所有规则

iptables -t 表名 -F 链名

修改规则:

iptables -t filter -R INPUT 1 -s 192.168.0.1 -j REJECT

-R 指定修改的链,使用-R INPUT 1 表示修改INPUT链的第一条规则

-J REJECT 表示将动作修改为REJECT

修改默认策略:

iptables -t filter -P FORWARD DROP

设置filter表的FORWARD链的默认动作为DROP

保存规则:

service iptables save

不执行此命令,重启服务或者重启机器就会没有。

centos 7 配置 iptables :

配置好yum源以后安装iptables-service

yum install -y iptables-services

停止firewalld

systemctl stop firewalld

禁止firewalld自动启动

systemctl disable firewalld

启动iptables

systemctl start iptables

将iptables设置为开机自动启动,以后即可通过iptables-service控制iptables服务

systemctl enable iptables

标签: iptables

完结