iptables的一条拒绝规则

今天排查服务器,发现iptables中有一条规则:

-A INPUT -j REJECT --reject-with icmp-host-prohibited

这个的意思,拒绝所有的数据包,返回icmp不可达,加上这条规则之后,所有数据包都不能外出,除了在该规则之前声明允许的数据包

---一个正确的例子---------

*filter

:INPUT ACCEPT [46:4000]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [27:2774]

-A INPUT -i lo -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -s 10.151.100.0/19 -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m multiport --dports 2021:2100 -j ACCEPT

-A INPUT -p udp --sport 123 -j ACCEPT

-A INPUT -p tcp --sport 123 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

上述规则,便是允许ssh、允许ntpdate,其他都不能出去

更深入的解释,看这篇博文http://alsww.blog.51cto.com/2001924/826926

文件第2-4行,有个函数:OUTPUT ACCEPT [0:0]

中括号中的意思是 [通过该规则的数据包:字节总数],上面我也搞不清是为什么是27:2774,从另一台服务器上copy过来的,看这篇http://bbs.chinaunix.net/thread-2087882-1-1.html

时间: 2024-10-29 04:16:26

iptables的一条拒绝规则的相关文章

iptables要只允许某些IP,切记先放行这些IP,最后拒绝所有IP,顺序不能乱,且拒绝规则不可少

1. 顺序不可乱,否则,任何IP都访问不了 首先,放行要允许的IP 2.最后,拒绝所有IP iptables是按照规则顺序进行匹配的,一旦遇到拒绝规则,对这个端口/服务的规则就不往下走了. 所以,切记,允许在前,拒绝在后. 而且,拒绝最后不可少,否则,达不到,只允许特定IP访问的目的.不把拒绝规则放在最后的话,则是所有IP都能访问.

递归转非递归(13条消除规则)

直接递归的消去规则: 基本思路:将递归调用的地方用等价的非递归代码来代替,并对return语句做适当处理.13条规则:处理直接递归调用和return语句,将之转换成等价的迭代代码. 初始化     ⑴ 在过程的开始部分,插入说明为栈的代码并将其初始化为空:  StackType Stack[1..SIZE]      Top ← 0    在一般情况下,这个栈用来存放参数.局部变量和函数的值.每次递归调用的返回地址.   ⑵ 将标号L1附于第一条可执行语句.      ...     L1:第一

yahoo的30条优化规则

1.尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容.这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数.这是提高网页速度的关键步骤. 减少页面组件的方法其实就是简化页面设计.那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术. 合并文件是通过把所有的脚本放到一个文件中来减少HTTP请求的方法,如可以简单地把所有的CSS文件都放入一个

iptables—icmp请求与响应规则:

icmp:0 8 0:响应请求 8:回答请求 本主机ping请求应答: [[email protected] ~]# iptables -A OUTPUT -s 192.168.1.128 -p icmp --icmp-type 8 -j ACCEPT 但是本机没有响应规则,所以ping不给回显. 此时需要加上本机回显规则: [[email protected] ~]# iptables -A INPUT -d 192.168.1.128 -p icmp --icmp-type 0 -j ACC

确保 PHP 应用程序的安全 -- 不能违反的四条安全规则

规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据.在采取措施确保安全之前,来自任何其他来源(比如 GET 变量.表单 POST.数据库.配置文件.会话变量或 cookie)的任何数据都是不可信任的. 例如,下面的数据元素可以被认为是安全的,因为它们是在 PHP 中设置的. 清单 1. 安全无暇的代码 <?php$myUsername = 'tmye

前端性能优化:雅虎14条优化规则

1.减少HTTP请求数 常用的方法,合并css,js(将一个页面中的css和js文件分别合并)以及 Image maps和css sprites等. 2.使用CDN(内容分发网络) 通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的 cache服务器内,通过DNS负载均衡的技术,判断用户来源就近访问cache服务器取得所需的内容. 3.添加Expire/Cache-Control 头 Expire其实就是通过header报文来指定特定类型的文件在浏览器中的缓存时间

Ubuntu ufw防火墙规则顺序问题

本文以Ubuntu 14.04为例,讲讲ufw防火墙规则顺序问题. --------------------------------此处应该优雅的使用分割线-------------------------------- 先说原理再吐槽! Linux系统及其许多其他软件中都有访问控制(Access Control)功能,比如系统中的防火墙,Cisco ios中的ACL(Access Control Lists),Web服务器中的Access Module.在有些访问控制的实现中,有一些访问控制的

iptables详解(9):iptables的黑白名单机制

注意:在参照本文进行iptables实验时,请务必在个人的测试机上进行,因为如果iptables规则设置不当,有可能使你无法连接到远程主机中. 前文中一直在强调一个概念:报文在经过iptables的链时,会匹配链中的规则,遇到匹配的规则时,就执行对应的动作,如果链中的规则都无法匹配到当前报文,则使用链的默认策略(默认动作),链的默认策略通常设置为ACCEPT或者DROP. 那么,当链的默认策略设置为ACCEPT时,如果对应的链中没有配置任何规则,就表示接受所有的报文,如果对应的链中存在规则,但是

skill——iptables(五)

黑白名单 黑名单:即默认策略为 ACCEPT,链中规则对应的动作应该为 DROP 或 REJECT ,表示只有匹配到规则的报文才会被拒绝,没有匹配到规则的报文默认被放行白名单:即默认策略为 DROP 或 REJECT,链中规则对应的动作应该为 ACCEPT ,表示只有匹配到规则的报文才会被放行,没有匹配到规则的报文默认被拒绝也就是说:白名单时,默认所有人是坏人,只放行好人黑名单时,默认所有人是好人,只拒绝坏人案例一:简单的黑名单(默认策略为 ACCEPT,链中规则对应的动作为 DROP 或 RE