做公益筹集项目的网站,wordpress扫描附件到新浪图床,厦门网站设计推广公司,外贸单在哪些网站做我们在另外一台机器上#xff0c;使用ping命令#xff0c;向当前机器发送报文#xff0c;如下图所示#xff0c;ping命令可以得到回应#xff0c;证明ping命令发送的报文已经正常的发送到了防火墙所在的主机#xff0c;ping命令所在机器IP地址为31.133#xff08;黑色使用ping命令向当前机器发送报文如下图所示ping命令可以得到回应证明ping命令发送的报文已经正常的发送到了防火墙所在的主机ping命令所在机器IP地址为31.133黑色当前测试防火墙主机的IP地址为31.132白色我们就用这样的环境对iptables进行操作演示。 3.1 增加规则 iptables -t 表名 -I/-A 链名 -s 源地址 -j 处理动作 -I选项指明将”规则”插入至哪个链中-I表示insert即插入的意思默认在第一行添加-A选项在指定链的末尾添加一条规则-s选项指明”匹配条件”中的”源地址”即如果报文的源地址属于-s对应的地址那么报文则满足匹配条件-s为source之意表示源地址。-j选项指明当”匹配条件”被满足时所对应的动作有ACCEPT、DROP等 那么此处我们就在132上配置一条规则拒绝192.168.31.133上的所有报文访问当前机器之前一直在说规则由匹配条件与动作组成那么”拒绝192.168.31. 133上的所有报文访问当前机器”这条规则中报文的”源地址为192.168.31.133″则属于匹配条件如果报文来自192.168.31.133″则表示满足匹配条件而”拒绝”这个报文就属于对应的动作 此时我们可以再通过192.168.31.133去ping 192.168.21.132看能否ping通 如上图所示ping 132主机时PING命令一直没有得到回应看来我们的iptables规则已经生效了ping发送的报文压根没有被132主机接受而是被丢弃了所以更不要说什么回应了 此时我们可以再次查看iptables中的规则可以看到已经有186个包被对应的规则匹配到 拓展规则的顺序问题 思考 现在INPUT链中已经存在了一条规则它拒绝了所有来自192.168.31.133主机中的报文如果此时我们在这条规则之后再配置一条规则后面这条规则规定接受所有来自192.168.31.133主机中的报文那么iptables是否会接受来自133主机的报文呢 使用如下命令在filter表的INPUT中追加一条规则 执行完添加规则的命令后再次查看INPUT链发现规则已经成功”追加”至INPUT链的末尾那么现在第一条规则指明了丢弃所有来自192.168.31.133的报文第二条规则指明了接受所有来自192.168.31.133的报文那么结果到底是怎样的呢 在133主机上再次使用ping命令向133主机发送报文发现仍然是ping不通的看来第二条规则并没有生效。 而且从上图中第二条规则的计数器可以看到根本没有任何报文被第二条规则匹配到。发生上述情况会不会与规则的先后顺序有关呢测试一下我们再添加一条规则新规则仍然规定接受所有来自192.168.31.133主机中的报文只是这一次我们将新规则添加至INPUT链的最前面试试。 使用如下命令在filter表的INPUT链的前端添加新规则 在第一条规则就是接受所有来自192.168.31.133的报文而且此时计数是0此刻我们再从133上向132发起ping请求。 133上已经可以正常的收到响应报文了那么回到132查看INPUT链的规则第一条规则的计数器已经显示出了匹配到的报文数量 看来顺序很重要如果报文已经被前面的规则匹配到iptables则会对报文执行对应的动作即使后面的规则也能匹配到当前报文很有可能也没有机会再对报文执行相应的动作了就以上图为例报文先被第一条规则匹配到了于是当前报文被”放行”了因为报文已经被放行了所以即使上图中的第二条规则即使能够匹配到刚才”放行”的报文也没有机会再对刚才的报文进行丢弃操作了。这就是iptables的工作机制。 之前提过的--line-numbers选项可以列出规则序号 我们也可以在添加规则时指定新增规则的编号这样我们就能在任意位置插入规则了我们只要把刚才的命令稍作修改即可如下 iptables -t filter -I INPUT 2 -s 192.168.31.133 -j DROP 3.2 删除规则 有两种方法 方法一根据规则的编号去删除规则 iptables -t 表名 -D 链名 规则编号 方法二根据具体的匹配条件与动作删除规则 iptables -t 表名 -D 链名 -s 源地址 -j 处理动作 1根据规则的编号去删除规则 先查看一下filter表中INPUT链的规则 假设我们需要删除第14条规则可以使用下面命令 2根据具体的匹配条件与动作删除规则 删除下图中源地址为192.168.31.133动作为ACCEPT的规则于是删除规则的命令如下 删除对应规则时仍然使用-D选项-D INPUT表示删除INPUT链中的规则剩下的选项与我们添加规则时一样-s表示以对应的源地址作为匹配条件-j ACCEPT表示对应的动作为接受所以上述命令表示删除INPUT链中源地址为192.168.31. 133动作为ACCEPT的规则。 3清空链表中的规则 删除指定表中某条链的所有规则 iptables -t 表名 -F 链名 -F选项为flush之意即冲刷指定的链即删除指定链中的所有规则但是注意此操作相当于删除操作在没有保存iptables规则的情况下请慎用。 其实-F选项不仅仅能清空指定链上的规则其实它还能清空整个表中所有链上的规则不指定链名只指定表名即可删除表中的所有规则命令如下 iptables -t 表名 -F