iptables命令

    iptables用于建立,管理和查询内核的IP包过滤规则表。每个表可以包含多条规则链。每个链有多条规则组成。每条规则定义了如何处理特定的数据包。
    每条规则有模式和动作组成,如果数据包不符合模式则继续下一条规则,否则根据动作进行相应的处理。动作包括:ACCEPT 接受,DROP 丢弃,QUEUE 转给用户处理,RETURN 返回上一层规则链。
选项:
 命令组:
  规则操作:
   -A chain chain rule-specification
   向规则链尾添加移条规则,如果ip为名称则使用解析到的可用ip建立规则(可能多条)
   -D chain chain rule-specification
     chain rulenum
   删除一条规则
   -I chain [rulenum] rule-specification
   插入一条规则(索引以1为基数)
   -R chain [rulenum] rule-specification
   替换规则,新的规则必须是单条
   -L [chain]
   显示
   -F [chain]
   清除
  规则链操作:
   -Z [chain]
   清除统计数据
   -N chain
   新建规则链
   -X chain
   删除规则链,不能删除被引用的规则链,不能删除内置的规则链
   -P chain target
   设置规则链的默认动作,只有内置的规则链可以有,且target不能是queue
   -E old-chain new-chain
   重命名规则链
  规则定义参数:
   -p [!] protocol
   protocol可以是/etc/protocols文件里的协议名,也可以是数字,0 等价于 all,默认是all
   -s [!] ipAddr/mask
   源地址,mask可以是xxx.xxx.xxx.xxx或bit数字格式, ipAddr可以是主机名称或网络名称(但建议使用ip地址)
   -d [!] ipAddr/mask
   目标地址
   -j target
   目标动作
   -i [!] name
   有效的进入接口名称,仅作用于INPUT, FORWARD, PREROUTING规则链,name+表示以name开始
   的接口。默认对所有的接口有效
   -o [!] name
   有效的输出接口名称,仅作用于OUTPUT, FORWARD, POSTROUTING规则链,name+表示以name开始
   的接口。默认对所有的接口有效
   [!] -f
   仅匹配分帧的非首包
   -c PKTs Bytes
   初始化符合某规则的包和字节计数
  其他参数:
   -v
   显示操作信息
   -n
   使用数字方式显示信息
   -e
   显示确切的统计数字
   --line
   显示规则的索引(Index)
   --modprobe=command
   当增加或插入规则时加载特定的模块
  匹配扩展
   可以使用-p protocol 然后使用扩展匹配选项,或使用-m module 然后使用模块专用选项
   tcp
    --source-port/sport [!]port[:port]
    忽略前者为0,后者为65535
    --destination-port/dport [!]port[:port]
    --tcp-flags [!]mask comp
    使用逗号分隔,mask是那些Flag需要检查, comp是哪些Flag需要设置
    [!]--syn
    匹配tcp连接发起包,即:syn设置,ack,fin空
    --tcp-option !number
    匹配有number选项的tcp包
    --mss value[:value]
    ??? 匹配tcp连接协商包,且mss值或范围匹配的包,Mss控制连接的最大包长度
   udp
    --source-port [!]port[:port]
    --destination-port/dport [!]port[:port]
   icmp
    --icmp-type [!]typename
    用iptables -p icmp -h 查看帮助
   mac
    --mac-source [!]address
    仅匹配来自于特定mac地址的包,适用INPUT, PREROUTING,FORWARD规则链
   limit
    --limit rate
    最大的平均命中率:有效单位有:/second /minute /hour /day,默认是3/hour
    --limit-burst num
    ???默认值为5
   multiport
    --source-ports/sports port,port ....
    最多15个,可以与-p tcp 或 udp一起使用
    --destination-ports/dports port,port...
    --ports port,port...
    不分源和目的,匹配端口号
   mask
    --mask value/mask
    匹配包的mark属性,mark值由netfilter设置的关联属性
   owner
    匹配包的创建者,仅对OUTPUT规则链有效
    --uid-owner userid
    匹配包的创建程序的euid
    --gid-owner groupid
    eguid
    --pid-owner proccessid
    --sid-owner sessionid
    ???
    --cmd-owner name
    ???
   state
    匹配连接的状态
    --state state
    INVALID 不跟任何连接关联
    NEW 新的连接
    ESTABLISHED 已建立的连接
    RELATED 跟其他连接关联,例如FTP数据连接或ICMP错误包
   tos
    匹配ip头的服务标志
    --tos tos
    iptables -m tos -h 查看可使用的tos数字
   ah
    匹配ipsec的ah头的spi
    --ahspi [!]spi[:spi]
   esp
    匹配ipsec的esp头的spi
    --espspi [!]spi[:spi]
   length
    --length length[:length]
    匹配长度或长度范围
   ttl
    --ttl
    匹配ip头的ttl字段
   unclean
    试验中的选项
  扩展动作
   LOG
   让内核记录日志,不是终结动作,不决定包的处理
    --log-level level
    参考syslog.conf
    --log-prefix prefix
    日志前缀,可以用来区分日志记录
    --log-tcp-sequence
    记录TCP连接的SEQUENCE
    --log-tcp-option
    --log-ip-option
    记录选项
   MARK
    --set-mark mark
    设置标记
   REJECT
    返回一个错误包,仅对INPUT, OUTPUT FORWARD有效
    --reject-with type
    type是icmp类型或tcp-reset
   TOS
    --set-tos tos
    设置ip包的tos属性
   MIRROR
    交换源和目的地址
   SNAT
    仅对PREROUTING规则链有效
    --to-source ipaddr[-ipaddr][:port-port]
    如果没有port设置则512保持512一下,其他保持对应范围,尽量不修改
   DNAT
    仅对PREROUTING 和OUTPUT规则链有效
    --to-distination ipaddr[-ipaddr][:port-port]
   MASQUERADE
    ????仅对POSTROUTING规则链有效,一般用于ip是动态分配的情况,设置所有出去的包的ip为动态分配的ip
    --to-ports port[-port]
   REDIRECT
    修改目标地址为本机地址
    --to-ports port[-port]
   ULOG
    提供用户的日志
    --ulog-nlgroup group
    定义netlink group(1-32)
    --ulog-prefix prefix
    --ulog-cprange size
    复制的包大小,0全部复制
    --ulog-qthreshold size
    一次发送的包数量
   TCPMSS
    设置MSS值
    --set-mss value
    --clamp-mss-to-mtu
    自动设置mss为path_mtu - 40
  额外的选项
   不在标准版本中提供
   TTL
    --ttl-set ttl
    --ttl-dec ttl
    --ttl-inc ttl

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值