首页 > 代码库 > iptables学习

iptables学习

iptables为我们预先定义了四张表 raw、mangle、nat、filter

filter表负责过滤:允许那些ip访问、拒绝那些ip访问、允许那些端口。。。是最常用的表

#查看表里面所有的规则
iptables -t filter -L -n

 -n不解析IP地址

#查看某张表中的某条链
iptables -t filter -L INPUT

 

#带行号、不解析IP(-n)、有详细信息(verbose详细的)、-x显示计数器的精确值 、L表示某条链
iptables  --line -t filter -nvxL  INPUT

#清空filter表、INPUT链中的规则

iptables -F INPUT 

在指定表的指定链的尾部添加一条规则,-A(append)选项表示在对应链的末尾添加规则,省略-t选项时,表示默认操作filter表中的规则

命令语法:iptables -t 表名 -A 链名 匹配条件 -j 动作
示例:iptables -t filter -A INPUT -s 192.168.1.146 -j DROP

 在指定表的指定链的首部添加一条规则,-I选型表示在对应链的开头添加规则

命令语法:iptables -t 表名 -I 链名 匹配条件 -j 动作
示例:iptables -t filter -I INPUT -s 192.168.1.146 -j ACCEPT

 设置指定表的指定链的默认策略(默认动作),并非添加规则。

命令语法:iptables -t 表名 -P 链名 动作
示例:iptables -t filter -P FORWARD ACCEPT

上例表示将filter表中FORWARD链的默认策略设置为ACCEPT

 

按照规则序号删除规则,删除指定表的指定链的指定规则,-D选项表示删除对应链中的规则。

命令语法:iptables -t 表名 -D 链名 规则序号

示例:iptables -t filter -D INPUT 3

 

按照具体的匹配条件与动作删除规则,删除指定表的指定链的指定规则。
命令语法:iptables -t 表名 -D 链名 匹配条件 -j 动作

示例:iptables -t filter -D INPUT -s 192.168.1.146 -j DROP

 

删除指定表的指定链中的所有规则,-F选项表示清空对应链中的规则,执行时需三思。

命令语法:iptables -t 表名 -F 链名
示例:iptables -t filter -F INPUT

 

保存规则命令如下,表示将iptables规则保存至/etc/sysconfig/iptables文件中,如果对应的操作没有保存,那么当重启iptables服务以后

注意点:centos7中使用默认使用firewalld,如果想要使用上述命令保存规则,需要安装iptables-service

技术分享

 



或者使用如下方法保存规则

iptables-save > /etc/sysconfig/iptables
    

iptables-save > /etc/sysconfig/iptables

可以使用如下命令从指定的文件载入规则,注意:重载规则时,文件中的规则将会覆盖现有规则。

iptables-restore < /etc/sysconfig/iptables
    

iptables-restore < /etc/sysconfig/iptables

 

iptables学习