Iptables入门:将不良人员(和僵尸程序)拒之门外

披露: 您的支持有助于保持网站的正常运行!我们会为此页面上推荐的某些服务收取推荐费.


iptables是一个Linux用户空间应用程序,用于配置Linux内核防火墙使用的IPv4表。 iptables包含在内核2.4.x或更高版本上运行的大多数Linux发行版中.

iptables是一种非常灵活的命令行防火墙实用程序,使用策略链来允许或阻止流量。它显然是针对系统管理员的,因为它需要提升的特权才能运行,并且必须由root用户执行。.

历史简介

iptables项目的开发始于1998年,由澳大利亚软件开发商Rusty Russell牵头。 iptables是ipchains的后继产品,ipchains也是由Russell创建的早期Linux防火墙实用程序.

随着项目的扩展,Rusty Russell于1999年成立了Netfilter核心团队。它生产了Netfilter Linux框架和iptables,并根据GNU通用公共许可证发布了它们。在2000年3月,Netfilter和iptables被合并到Linux内核主线中.

iptables功能和设计

不同的内核模块用于不同的协议-iptables适用于IPv4,ip6tables适用于IPv6,arptables适用于ARP,ebebs适用于以太网帧.

iptables用于设置,维护和检查Linux内核中的IPv4数据包筛选器规则表.

可以定义几个不同的表,每个表包含许多内置链或用户定义的链。每个链是一组规则,可以匹配一组数据包,而每个规则都指定如何处理匹配的数据包。这称为目标.

如果数据包符合规则,则其命运取决于目标的值:ACCEPT允许数据包通过,DROP丢弃数据包,QUEUE将数据包传递到用户空间,RETURN恢复上一条调用链中的下一条规则.

最多有五个独立的表可用,具体取决于内核配置和活动模块:

  • 过滤 是默认表,包含内置链INPUT,FORWARD和OUTPUT.
  • 纳特 在遇到创建新连接的数据包时使用,该数据包包含内置链PREROUTING,OUTPUT和POSTROUTING.
  • 碎石 –用于专门的数据包更改,包含内置链PREROUTING,INPUT,OUTPUT,FORWARD和POSTROUTING.
  • 生的 用于配置与NOTRACK目标结合的连接跟踪豁免,提供内置链PREROUTING和OUTPUT.
  • 安全 用于强制访问控制(MAC)网络规则,具有INPUT,OUTPUT和FORWARD内置链.

iptables识别的选项分为命令,参数和其他选项.

使用iptables

iptables是预装在大多数Linux发行版中的命令行实用程序。如果需要更新或安装iptables,可以使用以下命令:

sudo apt-get安装iptables

如果您登录到远程服务器,并且正在配置其iptables规则,则应格外小心,因为一个错误的命令可能会使您永远无法使用,并且可能必须手动将其固定在服务器上.

我们将演示一些用于配置iptables规则的常用命令和简单命令。如果您打算使用iptables的高级功能,则应检查下面我们提供的iptables的一些资源。.

您可以使用以下命令列出当前配置的iptables规则:

iptables –L

在大多数情况下,您希望系统使用以下命令默认接受连接:

iptables –policy输入接受
iptables –policy输出接受
iptables –policy接受

之后,您可以使用iptables拒绝来自特定IP地址或端口的连接,如下所示:

iptables -A输入-s 192.168.10.10 -j DROP

或者,您可以阻止来自以下IP地址范围的连接:

iptables -A输入-s 192.168.10.0/24 -j DROP

在某些特定情况下,您可以使用与上述相反的方法。您可以拒绝所有连接,并手动指定要允许连接的连接。此设置可用于具有敏感数据且连接到唯一IP地址的服务器.

iptables –policy输入下降
iptables –policy输出下降
iptables –policy转发删除
iptables -A输入-s 192.168.10.10 -j接受

重要的是要注意,对iptables规则所做的所有更改都不会自动保存。您需要使用一个命令来手动保存更改,该命令可能会因您的发行版而有所不同。这是Ubuntu命令:

须藤/ sbin / iptables-save

如果您忘记保存对iptables所做的更改,则下次重新启动iptables服务时,这些更改将丢失.

您还可以使用flush命令清除所有已配置的规则:

iptables -F

iptables资源

在线上有很多iptables资源,这是可以理解的,因为大多数Linux发行版中都包含iptables。学习和使用iptables应该不成问题,尤其是如果您依赖以下优质资源:

  • 详细的《 iptables官方手册》为iptables命令和参数提供了有用的参考.
  • Linux 2.4数据包过滤HOWTO文档是Rusty Russell编写的非常详细的数据包过滤描述。特别感兴趣的是“使用Iptables”部分.
  • iptables How To是一个很好的iptables演练.

iptables书籍

尽管有关Linux联网和防火墙的许多书籍都提到了iptables,但关于iptables的书籍并不多。.

拥有大量优质的在线资源,难怪没有更多关于iptables的书了。因此,我们仅选出一本关于iptables的书:

  • Gregor Purdy撰写的Linux Iptables Pocket参考:当有人要求您匆忙打开或关闭端口,以启用一些重要流量或阻止攻击时,此袖珍参考将为您提供帮助。本书将使语法精妙易懂,并帮助您记住所有输入的值,以确保尽可能的安全。.

结论

Iptables是一种广泛使用的实用程序,因此如果您的许多工作都围绕基于Linux的服务器进行,​​则绝对值得掌握。幸运的是,它的普及意味着iptables仍在积极开发中,并且定期推出新版本.

这也意味着在线上不乏优质的iptables资源,但是,如果您喜欢纸张的皱纹,那将很难找到iptables书籍。尽管如此,数字iptables资源的庞大数量足以弥补平装资源的不足.

iptables是一个功能强大但易于使用的实用程序。每个有抱负的Linux大师都应该掌握它.

进一步阅读和资源

我们有更多与计算机使用相关的指南,教程和信息图:

  • Linux编程简介和资源:对Linux编程的深入研究深入到了所有动作都在其中的内核中。.
  • 使用Internet套接字进行网络编程:全面了解Internet上的网络.

Unix编程资源

如果您真的很喜欢Linux并且想开始为它创建程序,那么我们是个开始学习的好地方:Unix编程资源.

网站站长工具A-Z的最终列表
Unix编程资源

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map