管理员用来设置 IPv4 数据包过滤条件和 NAT 的命令行工具。iptables 工具运行在用户态,主要是设置各种规则。而 netfilter 则运行在内核态,执行那些设置好的规则。
默认的 filter显示 IP,速度会快很多包括通过该规则的数据包总位数、相关的网络接口等
内容为链的名称及其默认策略,filter 表中所有链的默认策略都是 ACCEPT。红框下面的行代表什么呢?target:代表进行的动作,ACCEPT 是放行,REJECT 是拒绝,DROP 则是丢弃数据包。port:代表使用的协议,主要有 tcp、udp 和 icmp 三种。opt:额外的选项说明。source:规则针对的来源 IP。destination:规则针对的目标 IP。默认情况下没有添加自定义的规则,所以上图中这些行下面都是空的。
删除所有使用者自定义的 chain(其是 tables)统计都清零
默认策略(policy)
一个数据包没有匹配到一个链中的任何一个规则,那么将对该数据包执行这个链的默认策略(default policy),默认策略可以是 ACCEPT 或 DROP。默认策略的存在使得我们在设计防火墙时可以有两种选择:
- 默认策略 DROP 所有的数据包,然后添加规则接受(ACCEPT)来自可信 IP 地址的数据包,或访问我们的服务监听的端口的数据包,比如 bittorrent、FTP 服务器、Web 服务器、Samba 文件服务器等等。
- 默认策略 ACCEPT 所有的数据包,然后添加规则丢弃(DROP)特定的数据包。比如来自一些恶意 IP 的数据包,或访问某些端口的数据包,在这些端口上我们并没有提供公开的服务。
一个选项用于 INPUT 链,因为我们希望对访问的资源进行权限控制。而第二个选项常用于 OUTPUT 链,因为我们通常信任离开机器的数据包(该数据包来自本机)。默认策略的命令格式如下:默认策略(Policy)。注意,这是大写字母 P。ACCEPT 表示接受数据包,DROP 表示丢弃数据包。默认策略制订的严格一些,比如设为 DROP。而 FORWARD 和 OUTPUT 可以宽松些,设为 ACCEPT。比如我们可以通过下面的命令把 filter 表的 INPUT 链的默认策略设置为 DROP:
添加规则
包括 IP、网段、网络接口(interface)和传输协议(tcp、udp 等)。添加规则的命令格式如下:
添加一条规则,新添加的规则排在现有规则的后面。一个网段,如 192.168.1.0/24。还可以通过 !表示非的意思,如 ! 192.168.1.0/24 表示除了 192.168.1.0/24 之外的数据包。
输出:
添加的规则中,很多时候需要指定网络协议(tcp、udp 等)及相关的端口号,其基本命令格式如下:一个范围,如 1024:1050
插件模块
添加 10 条 INPUT ACCEPT 规则接受来自这 10 台远程主机的 22 端口的数据包(INPUT 的默认策略为 DROP)。
解决了这个问题,它会通过一个状态模块来分析:这个想要进入的数据包是不是对自己已发送请求的响应?插件模块,常见的模块有:
文件中:
文件中的配置信息导入:
一个比较复杂的命令,本文只是介绍了一些最基本的用法。接下来我们会介绍如何通过 iptables 构建基本的防火墙配置以及 NAT 服务器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。