iptables之iptables命令详解
#iptables [OPTION] COMMAND CHAIN 匹配标准 -j TARGET
[OPTION]
-t TABLENAME 不指定默认为filter
-j 指定TARGET
COMMAND
管理规则
-A 在链的尾部添加一条规则
-I CHAIN [NUM] 在CHINA链上插入第NUM条规则,不指定NUM表示插入为第一条
-D CHAIN [NUM] 删除CHAIN链上的第NUM条规则
-R CHAIN [NUM] 替换CHAIN链上的第NUM条规则
管理链
-F [CHAIN] flush 清空指定规则链,若不指定链,则删除对应表中的所有链
-P CHAIN TAREGT 设置指定链的默认策略
-N 自定义一条空链
-X 删除自定义空链
-Z 清空指定链中所有规则的计数器
-E OLDCHAINNAME NEWCHAINNAME 重命名自定义链名
查看类
-L list 显示指定表中的规则
-n 以数字格式显示主机地址和端口号,否则默认iptables将反解主机名和端口
-v 显示详细信息
-x 显示计数器精确值,不做单位换换和圆整
--line-numbers 显示规则号码
CHAIN 链的名称
匹配标准
注意:绝大部分匹配条件都可以取反,即使用!
通用匹配
-s,--scr 源地址
-d,--dst 目的地址
-p {tcp|udp|icmp} 协议类型
-i INTERFACE 指定数据报文流入的接口
只能定义在PREROUTING INPUT FORWARD链
-o INTERFACE 指定数据报文流出的接口
只能定义在POSTROUTING OUTPUT FORWARD链
扩展匹配
隐含扩展
-p PROTOCOL
PROTOCOL
tcp
--sport PORT[-PORT] 源端口,可以使用连续端口
--dport PORT[-PORT] 目标端口,可以使用连续端口
--tcp-flags MASK COMP tcp标志位,指定MASK表中,查找COMP表中为1,其余为0的标记位。常用的标记位:SYN FIN ACK RST ALL NONE
--syn 匹配3次握手中的第一次
udp
--sport
--dport
icmp
--icmp-type TYPE
TYPE
0 ICMP响应报文
8 ICMP请求报文
显示扩展 使用额外的匹配机制
-m EXTESTION SPECIAL-OPTION
/lib/iptables/libpt_*.so 扩展模块
state 状态扩展,结合ip_conntrack追踪会话的状态
--state
NEW 发起的连接请求
ESTABLISHED 已建立的连接
INVALID 非法连接
RELATED 相关联的
multiport 离散的多端口匹配扩展,最多支持15个端口
--source-ports PORT,...PORT1:PORT2,... 源端口
--destination-ports PORT,...PORT1:PORT2,... 目的端口
--ports PORT,...PORT1:PORT2,... 端口
iprange 指定IPv4地址段
--src-range IP1-IP2
--dst-range IP1-IP2
connlimit 连接数限制
--connlimit-above NUM 指定每个客户端已存在的tcp连接个数超出NUM个
limit 令牌桶过滤器机制的流量整合,不控制最大上限,只控制单位时间内速率以及单位时间内峰值
--limit NUM/RATE 指定单位时间内的请求速率
RATE
second
minute
hour
--limit-burst NUM 单位时间内请求峰值,默认值为5
string 匹配符合某种模式的字符
--algo bm|kmp 指定匹配算法
--string PATTERN 指定PATTERN
--hex-string PATTERN 把PATTERN变为16进制
recent 创建IP地址清单用于匹配
--set 添加报文源地址到清单,若源地址已存在则更新
--name NAME 创建一个名为NAME的清单,不指定NAME使用DEFAULT作为名称。
--update 更新源地址,但是不会更新”last seen“时间戳
--seconds NUM 匹配清单中存在的并且在过去NUM秒中出现的的地址。
--hitcount NUM 匹配清单中存在并且接收数据包大于或等于NUM次的地址
layer7 安装l7以后才能使用此扩展
--l7proto PROTOCOL 具体协议请参照/etc/l7-protocols下
time 重新编译内核后才有
--datestrat YYYY-MM-DDThh:mm:ss 不指定默认为1970-01-01
--datestop YYYY-MM-DDThh:mm:ss 不指定默认为2038-01-19
--timestart hh:mm:ss
--timestop hh:mm:ss
--montudayes DAY1,[DAY2...]
DAY取值为1-31
--weekdays DAY1,[DAY2...]
DAY取值为Mon Tue Wed Thu Fri Sat Sun 或者1-7
TARGET 处理动作
ACCEPT 允许
DROP 丢弃
REJECT 丢弃并返回信息
REDIRECT 端口重定向
RETURN 跳转回主链
CHAINNAME 自定义链名成
LOG 记录日志
--log_level NUM 日志级别
--log_prefix “STRING” 日志前缀,最长29字符
--log_tcp_sequence TCP序列号
--log_tcp_options TCP报文选项
--log_ip_options IP报文选项
--log-uid 数据包对应进程的用户id
MARK 设定标记
SNAT 源地址转换
--to-source IP[-IP][:PORT1-PORT2] 指定把源地址转换为IP
DNAT 目标地址转换
--to-destination IP 指定把目标地址转换为IP
MASQUERADE 地址伪装
类似与SNAT --to-source,适用于pppoe等源地址随时变动的情况,会自动指定地址。效率比SNAT低。
转载于:https://blog.51cto.com/ggvylf/1663823
iptables之iptables命令详解相关推荐
- linux中iptables配置文件及命令详解详解
linux中iptables配置文件及命令详解详解 2018年05月04日 14:23:41 hxpjava1 阅读数 956 linux中iptables配置文件及命令详解详解 iptables配置 ...
- nmcli命令详解_【高新课堂】第一百二十五期Liunx必备命令
点击上方"蓝字"关注我们吧! Liunx系统启动默认为字符界面,一般不会启用图像界面,所以对命令行的熟练程度能更加高效.便捷的管理Liunx服务器. 这节课向读者介绍Liunx系统 ...
- Linux服务器,服务管理--systemctl命令详解,设置开机自启动
Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...
- IP命令详解(强大的命令)
IP命令详解(强大的命令) 简介 语法结构 OPTIONS选项 OBJECT对象 COMMAND命令 ARGUMENTS IP address ip link 语法 ip route 用法 显示路由信 ...
- LINUX经常使用的命令详解
LINUX经常使用的命令详解 源地址:http://blog.itpub.net/29065182/viewspace-1189162/ 1.man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ...
- linux中mkdir命令含义,Linux中mkdir命令详解
Linux中mkdir命令详解 linux mkdir用来创建目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1. 新建一个文件夹 one 2. 新建三个 ...
- ip route 路由命令详解
(523条消息) ip route 命令详解_thj_blog的博客-CSDN博客_ip route命令详解 Linux如何查看网关地址 - study_goup - 博客园 (cnblogs.com ...
- linux中关于防火墙的命令,Linux系统中查看防火墙的命令详解
Linux系统中如果要查看到防火墙的状态信息要怎么办呢?下面由学习啦小编为大家整理了Linux系统中查看防火墙的命令详解,希望对大家有帮助! Linux系统中查看防火墙的命令详解:一.service方 ...
- docker常用命令详解
docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...
- oracle home 命令,$ORACLE_HOMEbin目录下所有命令的使用方法及命令详解
求$ORACLE_HOME/bin目录下所有命令的使用方法及命令详解 如题. $ORACLE_HOME/bin目录下有很多命令,那我们平时用到的也不是太多,即使用到的那部分可能用法也不是完全能掌握,所 ...
最新文章
- bitnami-redmineserver迁移
- MDK出现红叉,程序编译正常没有错误
- C语言中,#include 和#include 的区别和注意点
- Dubbo:Spring Cloud 服务调用的新选择
- Spring Countries在Apusic上部署
- Docker容器运行后退出,怎么才能一直运行?
- 还在魔改Transformer结构吗?微软中山大学开源超强的视觉位置编码,涨点显著
- BOOST_SCOPE_EXIT_TPL宏相关的测试程序
- [APIO2018] New Home 新家(线段树,二分答案,离散化)
- CSS字体设置的一些技巧(行高,加粗,强制换行等)
- asoc linux设备驱动_Linux驱动分析之I2C设备
- uni-app获取腾讯地图计算两经纬度的实际距离(可批量)
- (转)Spring提供的CharacterEncoding和OpenSessionInView功能
- C#:XML操作类--转
- (日常搬砖)ubuntu18.04风扇断断续续响,提示 ‘GPU fan error‘
- 电脑不会当局者迷——评人机围棋大战
- 昼夜双色导航主题模板 WordPress导航模板
- f分布表完整图a=0.01_SQL数据库完整性
- 卡方检验值转换为P值
- RK平台 USB转RS485