iptables命令格式web
iptables的命令格式较为复杂,通常的格式以下:
iptables [-t table] 命令 [chain] [rules] [-j target]
table——指定代表
命令——对链的操做命令
chain——链名
rules——规则
target——动做如何进行
1.表选项
表选项用于指定命令应用于哪一个iptables内置表,iptables内置包括filter表、nat表、mangle表和raw表,其中filter表是默认表
2.命令选项iptables命令格式服务器
命令 说明
-A或—append <链名> 在规则列表的最后增长1条规则
-I或–insert <链名> 在指定的位置插入1条规则
-D或–delete <链名> 从规则列表中删除1条规则
-R或–replace <链名> 替换规则列表中的某条规则
-F或–flush <链名> 删除表中全部规则
-Z或–zero <链名> 将表中数据包计数器和流量计数器归零网络
3.匹配选项app
匹配 说明
-i或–in-interface <网络接口名> 指定数据包从哪一个网络接口进入,如ppp0、eth0和eth1等
-o或–out-interface <网络接口名> 指定数据包从哪块网络接口输出,如ppp0、eth0和eth1等
-p或—proto协议类型 < 协议类型> 指定数据包匹配的协议,如TCP、UDP和ICMP等
-s或–source <源地址或子网> 指定数据包匹配的源地址
–sport <源端口号> 指定数据包匹配的源端口号,可使用“起始端口号:结束端口号”的格式指定一个范围的端口
-d或–destination <目标地址或子网> 指定数据包匹配的目标地址
–dport目标端口号 指定数据包匹配的目标端口号,可使用“起始端口号:结束端口号”的格式指定一个范围的端口ssh
4.动做选项
动做 说明
ACCEPT 接受数据包
DROP 丢弃数据包
REDIRECT 与DROP基本同样,区别在于它除了阻塞包以外, 还向发送者返回错误信息。
SNAT 源地址转换,即改变数据包的源地址
DNAT 目标地址转换,即改变数据包的目的地址
MASQUERADE IP假装,便是常说的NAT技术,MASQUERADE只能用于ADSL等拨号上网的IP假装,也就是主机的IP是由ISP分配动态的;若是主机的IP地址是静态固定的,就要使用SNAT
LOG 日志功能,将符合规则的数据包的相关信息记录在日志中,以便管理员的分析和排错tcp
5. filter ,nat ,mangle ,raw 这四个表对应的链选项ide
filter,用于路由网络数据包。spa
INPUT 网络数据包流向服务器rest
OUTPUT 网络数据包从服务器流出日志
FORWARD 网络数据包经服务器路由
nat,用于NAT表.NAT(Net Address Translation )是一种IP地址转换方法。
PREROUTING 网络数据包到达服务器时能够被修改
POSTROUTING 网络数据包在即将从服务器发出时能够被修改
OUTPUT 网络数据包流出服务器
mangle,用于修改网络数据包的表,如TOS(Type Of Service),TTL(Time To Live),等
INPUT 网络数据包流向服务器
OUTPUT 网络数据包流出服务器
FORWARD 网络数据包经由服务器转发
PREROUTING 网络数据包到达服务器时能够被修改
POSTROUTING 网络数据包在即将从服务器发出时能够被修改
raw, 用于决定数据包是否被跟踪机制处理
OUTPUT 网络数据包流出服务器
PREROUTING 网络数据包到达服务器时能够被修改
iptables -L --默认看的就是filter表
iptables -L -t filter
固然也能够手工保存到另外一个文件,就须要iptables-restore手工还原了