本文简述 iptables 主要功能语法,及 iptables 快捷使用脚本,网络命令如此繁多的linux,想把都记在脑海中确实比较难,特意将常用命令写成脚本形式可以直接运行,提高使用效率,文末附有 iptables.sh 快捷脚本的 github地址,脚本工具刚开始制作,本着完全开源的、以实用为目的来进行开发,有想法的朋友可以一起丰富它的功能,更好的提供给更多的人使用。
The roses in her hand,the flavor in mine. ----- For everyone
目录
5.iptables tools快捷工具源码 github 地址
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] chain
iptables -E old-chain-name new-chain-name
iptables -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. 屏避IP
11. 退出应用
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