本文简述 iptables 主要功能语法,及 iptables 快捷使用脚本,网络命令如此繁多的linux,想把都记在脑海中确实比较难,特意将常用命令写成脚本形式可以直接运行,提高使用效率,文末附有 iptables.sh 快捷脚本的 github地址,脚本工具刚开始制作,本着完全开源的、以实用为目的来进行开发,有想法的朋友可以一起丰富它的功能,更好的提供给更多的人使用。
The roses in her hand,the flavor in mine. ----- For everyone
目录
1.iptables简介
2.基本语法
3.iptables中的“四表五链”及“堵通策略”
4.iptables tools 简述
5.iptables tools快捷工具源码 github 地址
6.iptables优秀博客推荐
1.iptables简介
iptables的主要功能是实现对网络数据包进出设备及转发的控制。当数据包需要进入设备、从设备中流出或者经该设备转发、路由时,都可以使用iptables进行控制。
2.基本语法及常用命令
基本语法:
Usage: iptables -[AD] chain rule-specification [options]iptables -I chain [rulenum] rule-specification [options]iptables -R chain rulenum rule-specification [options]iptables -D chain rulenum [options]iptables -[LS] [chain [rulenum]] [options]iptables -[FZ] [chain] [options]iptables -[NX] chainiptables -E old-chain-name new-chain-nameiptables -P chain target [options]iptables -h (print this help information)
常用命令:
-t<表>:指定要操纵的表;-A:向规则链中添加条目;-D:从规则链中删除条目;-i:向规则链中插入条目;-R:替换规则链中的条目;-L:显示规则链中已有的条目;-F:清楚规则链中已有的条目;-Z:清空规则链中的数据包计算器和字节计数器;-N:创建新的用户自定义规则链;-P:定义规则链中的默认目标;-h:显示帮助信息;-p:指定要匹配的数据包协议类型;-s:指定要匹配的数据包源ip地址;-j<目标>:指定要跳转的目标;-i<网络接口>:指定数据包进入本机的网络接口;-o<网络接口>:指定数据包要离开本机所使用的网络接口。
3.iptables中的“四表五链”及“堵通策略”
A.“四表”是指,iptables的功能——filter, nat, mangle, raw.
filter, 控制数据包是否允许进出及转发(INPUT、OUTPUT、FORWARD),可以控制的链路有input, forward, output
nat, 控制数据包中地址转换,可以控制的链路有prerouting, input, output, postrouting
mangle,修改数据包中的原数据,可以控制的链路有prerouting, input, forward, output, postrouting
raw,控制nat表中连接追踪机制的启用状况,可以控制的链路有prerouting, output
注:在centos7中,还有security表,不过这里不作介绍
B.“五链”是指内核中控制网络的NetFilter定义的五个规则链,分别为
PREROUTING, 路由前
INPUT, 数据包流入口
FORWARD, 转发管卡
OUTPUT, 数据包出口
POSTROUTING, 路由后
C.堵通策略是指对数据包所做的操作,一般有两种操作——“通(ACCEPT)”、“堵(DROP)”,还有一种操作很常见REJECT.
谈谈REJECT和DROP之间的区别,Ming写了一封信,向Rose示爱。Rose如果不愿意接受,她可以不回应Ming,这个时候Ming不确定Rose是否接到了信;Rose也可以同样写一封信,在信中明确地拒绝Ming。前一种操作就如同执行了DROP操作,而后一种操作就如同REJECT操作。
4.iptables tools 简述
下面为iptables 工具运行主菜单,目前脚本支持 CentOS 6.x.x 上正常运行,其他平台需稍作调整,有想法的朋友可以增加更多的平台或者丰富更多的功能。
fs@ubuntu:~/test$ ./iptables.sh -------------- iptables 快捷通用脚本 v 1.0.1 ---------------注意:该版本仅适用 CentOS 6.x.x 版本-------------- 菜单 ---------------0. 展示iptables语法规则1. 展开所有规则链2. 打开 INPUT 端口,同时指定tcp udp,并保存配置重启防火墙3. 删除 INPUT 端口,同时指定tcp udp,并保存配置重启防火墙4. 保存防火墙配置5. 重启防火墙6. 产看某端口占用情况7. 查看系统端口占用情况8. 查看所有的进程和端口使用情况9. 指定删除已添加的iptables规则10. 屏避IP11. 退出应用Please enter your slect:
5.iptables tools快捷工具源码 github 地址
https://github.com/SunJiahao2017/shell-tools
6.iptables优秀博客推荐
朱双印 iptables详解: http://www.zsythink.net/archives/tag/iptables/
iptables使用详解:https://www.cnblogs.com/vathe/p/6973656.html