Linux之iptables命令

一、netfilter/iptables

netfilter:Linux内核中的一个软件框架,用于处理网络数据包,提供的功能包括:网络地址转换NAT,数据包内容修改、过滤、转发等防火墙的功能

iptables:运行在用户空间的应用软件,命令行工具,通过其设置规则,来控制netfilter模块,从而实现网络数据包的管理,从而实现防火墙的配置。

二者组成Linux下的包过滤防火墙。


二、四表五链

1、规则表

  • filter表:过滤数据包
  • nat表:网络地址转换
  • mangle表:管理mangle包
  • raw表:关闭在nat表启用的连接追踪机制

2、规则链

  • PREROUTING:对数据包作路由选择前应用此链中的规则
  • INPUT:进来的数据包
  • FORWARD:转发数据包
  • OUTPUT:出去的数据包
  • POSTROUTING:路由选择后

在这里插入图片描述


三、规则配置

1、命令格式

iptables [-t table] command chain parameter target
  • table:指定操作的表,默认filter表

  • command:操作的命令

    -A:在指定链尾添加一条新的规则(append)

    -D:删除指定链中的一条规则,可以根据序号或内容进行删除(delete)

    -I:在指定链插入一条新的规则,默认在第一行(insert)

    -L:列出所有规则(list)

    -R:修改、替换指定链的某一条规则,可以根据序号和内容进行替换(replace)

    -N:新建一条自定义规则链(new-chain)

    -X:删除自定义的规则链

    -E:重命名自定义链

    -F:清空(flush)

  • chain:规则链(INPUT、OUTPUT、FORWARD…)

  • parameter:匹配规则

    -s:匹配报文的源地址,可以同时指定多个,每个用逗号进行隔开

    -d:匹配报文的目标地址,可以同时指定多个,每个用逗号进行隔开

    -p:匹配报文的协议类型,如tcp、udp、icmp、sctp、udplite、esp等

    -i:匹配报文从哪个网卡接口流入

    -o:匹配报文将要从哪个网卡接口流出

    –sport:匹配源端口,可以用冒号指定一个连续的端口范围

    –dport:匹配目的端口,可以用冒号指定一个连续的端口范围

    -m multiport --sports/dports:匹配多个离散的端口号,用逗号隔开

    示例:
    iptables -t filter -I OUTPUT -s 192.168.1.111 -p tcp -m tcp --dports 22:25 -j DROP
    
  • target:处理数据包的方式

    -j ACCEPT:允许数据包通过

    -j DROP:丢弃数据包,不给回应信息

    -j REJECT:拒绝数据包通过,必要时会给数据发送端一个响应信息


四、常用规则示例

1、规则保存

service iptables save

若不保存,待服务器重启时会恢复原先状态。

2、查看规则(带编号)

iptables -L -n --line-number

3、删除OUTPUT第一条规则

iptables -D OUTPUT 1

4、拒绝进入防火墙的所有ICMP协议数据包

iptables -I INPUT -P icmp -j REJECT

5、限制udp53端口只进不出

iptables -I OUTPUT -p udp --dport 53 -j REJECT

6、获取域名服务端口号

grep domain /etc/services

五、注意点

1、规则顺序

若报文已被前面的规则匹配,则会直接执行对应的操作,即使后续规则也能匹配,但不会再执行。

2、匹配条件

若一条规则中有多个匹配条件,则需同时满足所有匹配条件,报文才能被匹配,即"与"的关系。

3、将更容易被匹配的规则放在前面

在没有顺序要求的情况下,不同类别的规则,被匹配次数多、匹配频率高的规则应放在前面。

4、当IPTABLES所在主机作为网络防火 墙时,在配置规则时,应着重考虑方向性,双向都要考虑,从外到内,从内到外。

5、在配置IPTABLES白名单时,往往会将链的默认策略设置为ACCEPT,通过在链的最后设置REJECT规则实现白名单机制,而不是将链的默认策略设置为DROP,如果将链的默认策略设置为DROP,当链中的规则被清空时,管理员的请求也将会被DROP掉。

文章参考:
iptables详解及一些常用规则
iptables详解
iptables/netfilter详解

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值