常用命令:
详情参考:iptables --help或者手册
#iptables -L \\列出当前策略
#iptables -F \\临时清空策略
#iptables-save > /etc/sysconfig/iptables.conf \\导出策略至文件 路径自定义
#iptables-restore < /etc/sysconfig/iptables.conf \\从文件导入策略
命令详解
#iptables (命令) (选项) (参数)
注意上面格式:
假如我想允许一个ftp服务TCP:21端口应该如下配置:
#iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
-A指定链 -i指定网卡 -p指定协议 --dport指定端口 -j策略放行
如果上面策略配置错了,可以通过下面命令在进行删除。
#iptables -D INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
这里我们找一个命令,来详细解读
#iptables -D INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
第一列命令是指定链这里是input链,iptables有四表五链
链分别如下图
可以使用下面命令操作。
-A, --append chain rule-specification:追加新规则于指定链的尾部;
-I, --insert chain [rulenum] rule-specification:插入新规则于指定链的指定位置,默认为首部;
-R, --replace chain rulenum rule-specification:替换指定的规则为新的规则;
-D, --delete chain rulenum:根据规则编号删除规则;
链管理
-N, --new-chain chain:新建一个自定义的规则链;
-X, --delete-chain [chain]:删除用户自定义的引用计数为0的空链;
-F, --flush [chain]:清空指定的规则链上的规则;
-E, --rename-chain old-chain new-chain:重命名链;
-Z, --zero [chain [rulenum]]:置零计数器;
-P, --policy chain target, 设置链路的默认策略
-i 指定网卡名,-p指定协议 -dport指定端口,这里不需要进行详解。
-j (跳转)到与该规则匹配的数据包的目标操作-在这种情况下为ACCEPT
当然还有其他情况,前面说的表
-t table,是指操作的表,filter、nat、mangle或raw, 默认使用filter
链和表的详细截图请参照资料中的iptables详解。
后话
iptables不能随便卸载,如有需求要禁用,请使用iptables -F清空策略后再保存配置。
Centos7之后预装的iptables少了个服务,可以使用yum install iptables-services安装,然后再 service iptables save进行保存策略到配置文件。
今天事情实在太多,先写到这,可能有点乱,以后再修订一下。