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

B.“五链”是指内核中控制网络的NetFilter定义的五个规则链,分别为

    PREROUTING, 路由前

    INPUT, 数据包流入口

    FORWARD, 转发管卡

    OUTPUT, 数据包出口

    POSTROUTING, 路由后

C.堵通策略是指对数据包所做的操作,一般有两种操作——“通(ACCEPT)”、“堵(DROP)”,还有一种操作很常见REJECT.

查看iptables表

    -L, --list [chain]:列出规则;

  -v, --verbose:详细信息;

    -vv, -vvv  更加详细的信息

  -n, --numeric:数字格式显示主机地址和端口号;

iptables -nL
iptables -nvL

iptables命令使用操作(iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数)

iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION

       -t table,是指操作的表

                          filter、nat、mangle或raw, 默认使用filter

  COMMAND,子命令,定义对规则的管理   

                        -A, --append chain rule-specification:追加新规则于指定链的尾部;

                   -I, --insert chain [rulenum] rule-specification:插入新规则于指定链的指定位置,默认为首部;

                  -R, --replace chain rulenum rule-specification:替换指定的规则为新的规则;

                  -D, --delete chain rulenum:根据规则编号删除规则;

  chain, 指明链路  

                   PREROUTING, 路由前

           INPUT, 数据包流入口

           FORWARD, 转发管卡

          OUTPUT, 数据包出口

          POSTROUTING, 路由后

  CRETIRIA, 匹配的条件或标准

  ACTION,操作动作

               “通(ACCEPT)”、“堵(DROP)”,REJECT

  例如,不允许10.8.0.0/16网络对80/tcp端口进行访问

iptables -A INPUT -s 10.8.0.0/16 -d 188.131.150.204 -p tcp --dport 80 -j DROP

放开8888端口 

iptables -I INPUT -p tcp --dport 8888 -j ACCEPT

修改8888端口为拒绝

iptables -R INPUT 1 -p tcp --dport 8888 -j DROP

删除8888拒绝端口

iptables -D INPUT -p tcp --dport 8888 -j DROP

若是两个规则都有,那条规则在上,按那条规则走(如下所示,因为DROP在ACCEPT之上,所以会拒绝访问8888端口)

扩展匹配条件

multiport 以离散或连续的 方式定义多端口匹配条件,最多15个;

  [!] --source-ports,--sports port[,port|,port:port]...:指定多个源端口;

  [!] --destination-ports,--dports port[,port|,port:port]...:指定多个目标端口;

iptables -I INPUT -d 188.131.150.204 -p tcp -m multiport --dports 22,80,139,445,3306 -j ACCEPT

iprange以连续地址块的方式来指明多IP地址匹配条件;

  [!] --src-range from[-to]

  [!] --dst-range from[-to]

阻止来自IP地址x.x.x.x eth0 tcp的包

    iptables -A INPUT -i eth0 -s x.x.x.x -j DROP
    iptables -A INPUT -i eth0 -p tcp -s x.x.x.x -j DROP

拒绝访问防火墙的新数据包,但允许响应连接或与已有连接相关的数据包

iptables -A INPUT -p tcp -m state --state NEW -j DROP 
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

“-m state”表示数据包的连接状态,“NEW”表示与任何连接无关的

“ESTABLISHED”表示已经响应请求或者已经建立连接的数据包,“RELATED”表示与已建立的连接有相关性的,比如FTP数据连接等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值