科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux系统内核新型包过滤结构的使用 (2)

Linux系统内核新型包过滤结构的使用 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

最常用的命令可能是append(-A)和delete(-D),其它如insert(-I)和replace(-R)命令只是它们的扩展而已。

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年10月21日

关键字: 使用 结构 内核 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

单一规则的操作

最常用的命令可能是append(-A)和delete(-D),其它如insert(-I)和replace(-R)命令只是它们的扩展而已。每一条规则都限定了一组条件(conditions)来于特定的包比较,还规定了当包与所设条件相匹配时的处理(指目标"target")。例如,要丢弃所有来自127.0.0.1这个IP地址的ICMP包,则条件可设为:协议必须是ICMP且源地址必须是127.0.0.1,而目标应设为"DROP"。

127.0.0.1被称为"回路(loopback)"接口,即使机器没有真正的网络连接,也会有这个接口。用户可以使用"ping"命令来产生这样的包(它只是发送一个类型为8即应答请求的ICMP包,而所有愿意应答的协作主机将回送一个类型为0即应答响应的ICMP包)。这个命令常用于测试。

  # ping -c 1 127.0.0.1
  PING 127.0.0.1 (127.0.0.1): 56 data bytes
  64 bytes from 127.0.0.1: icmp_seq=0 ttl-64 time=0.2ms
  
  --- 127.0.0.1 ping statistics ---
  1 packets transmitted, 1 packets received, 0% packet loss
  round-trip min/avg/max = 0.2/0.2/0.2 ms
  # iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
  # ping -c 1 127.0.0.1
  PING 127.0.0.1 (127.0.0.1): 56 data bytes
  
  --- 127.0.0.1 ping statistics ---
  1 packets transmitted, 0 packets received, 100% packet loss

这里可以看到第一个ping成功了(这里的参数"-c 1"是告诉ping只发送一个包)。然后为INPUT链添加一条规则,将来自127.0.0.1(-s 127.0.0.1)的ICMP协议(-p icmp)包送至目标DROP(-j DROP)。接着用第二个ping来测试规则。程序将等待一段时间,超时后放弃等待响应。删除规则有两种方法。对于上例中的唯一一条规则,可以这样删除:

第一种方法:指定位置来删除:

# iptables -D INPUT 1

这样就把第一条规则从INPUT链中删除。

第二种方法与上面的-A命令形式相同,但用-D来代替-A。如果链中又非常复杂的规则,又不想逐行数出需要删除的规则,可以用这种方法。

# iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP

在命令行中,其语法要求-D必须和-A(或-I、或-R)命令一致。如果在同一链中有多条相同的这样的规则,则只有第一条符合条件的规则被删除。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章