IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。
防火墙在做数据包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的数据包过滤表中,而这些表集成在 Linux 内核中。在数据包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 数据包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。
虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。
netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本,否则需要下载该工具并安装使用它。
————摘自百度百科
iptables命令最常用的5个选项分别的-F -P -A -D -L
iptables -F //清除链中的所有规则
iptables -P //为链设置一条默认策略
iptables -A //为链增加一条规则说明
iptables -D //从链中删除一条规则
iptables -L //查看当前表中的链和规则
下面这条命令通过iptables -F清空默认表中的中的数据
iptables -F
同样也可以清空指定链中的数据,如下清空默认表中INPUT链中的数据。
iptables -F INPUT
通过iptables -L命令查看当前防火墙的设置,如下
[root@liukai ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
目前这张表处于默认状态,所以的链默认行为均为ACCEPT,默认所有的包可以通过防火墙。
而下方的命令iptables -P 用于给链设置默认策略。将INPUT链的默认策略改为DROP。
通常对服务器而言,将所有的链的默认策略改为DROP是一个好的建议。
iptables -P INPUT DROP
FORWARD是链的名字,还有INPUT(作用与发送至本机的数据包)、OUTPUT(作用与从本机发送出去的数据包)同样是链的名字
DROP用于定义策略,fifter表中共有9个不同的策略可供使用,以下为常用的4个:ACCEPT表示允许包通关,DROP表示丢弃一个包,REJECT表示在丢弃一个包的同时返回一条icmp错误消息,LOG则扮演了记事员的角色记录包信息,并把它们写入日志。
执行完以上命令后,所有试图同本机建立连接都会失败,因为外部到达防火墙所有的包都被丢弃了,甚至使用回环借口ping自己都不行。