返回首页

张小三资源网
    站长必备网站 ╭∩╮(︶︿︶)╭∩╮!高性价比VPS推荐。
11月252013

centos vps禁止ping和iptables配置的正确方法

Posted by 张小三资源网 2013年11月25日 Tags:Iptables,VPS教程

centos iptables.jpg
引子:centos一般本身就带有iptables防火墙,如何查看iptables是否开启可以参考debian iptables设置,小三资源网手里一款国内的centos VPS无法修改s.s.h的22端口,如果你修改s.s.h端口无效,那么也可以参考本文。其实不是说不能修改s.s.h端口,而是之前的一些centos iptables教程设置有问题,不正确的设置也许可以起到作用,但是却会增加系统的负载,不能最优的iptables配置方法,然后被各网站抄来抄去,最终就会给linux新人带来一些困扰。强烈建议采用本文的配置方法重新配置centos的iptables。

一:centos iptables的正确设置方法和禁止PING
1.清除已有iptables规则
iptables -F #清空所选链。这等于把所有规则一个个的删除。
iptables -X #删除指定的用户自定义链。
iptables -Z #把所有链的包及字节的计数器清空。

2.iptables的配置,这里张小三资源网采用centos官方给出的默认的防火墙规则,我们只需要添加或删除不用的端口就可以了,这样才能最大化的兼容各种环境,降低防火墙不兼容造成的负载等问题。
首先运行命令:vi /etc/sysconfig/iptables添加如下内容。

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT

#准许本机localhost访问
-A RH-Firewall-1-INPUT -i lo -j ACCEPT

#是否禁止ping,(禁止的话可以在下面这句的开头加#号。再PING的话返回信息是目标主机无响应。)
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

PS:禁止ping,也可以删除上面那条重新添加下面这条,返回信息是超时。
-A RH-Firewall-1-INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

#允许已建立的或相关连的通行
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#开放s.s.h的22端口(开放其它端口可以按照下面规则自己添加)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

#开放80端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

#开放ftp的21端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

#除放开的端口外禁止其它端口
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

3.最后保存一下
service iptables save

#防止iptables机器重启失效,重启iptables自动生效,运行如下命令
chkconfig --level 345 iptables on
service iptables restart

解说:
1、:RH-Firewall-1-INPUT - [0:0]
这里可以理解为定义了一个子链RH-Firewall-1-INPUT

2、-A INPUT -j RH-Firewall-1-INPUT和-A FORWARD -j RH-Firewall-1-INPUT
这里是把INPUT和FORWARD的所有包都转发到RH-Firewall-1-INPUT,这是重点,也就意味着,只要定义好RH-Firewall-1-INPUT,就定义好了INPUT和FORWARD两个链

3、-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
允许80端口的数据包传输好了,就这么简单,一个80端口的防火墙设置就弄好了

二:iptables应用
1.查看已添加的iptables规则:
iptables -L

2.删除已添加的iptables规则:
将所有iptables规则按照1.2.3....进行排序,执行:
iptables -L -n --line-numbers

如果要删除INPUT里序号为5的规则,执行:
iptables -D INPUT 5

3.利用iptables屏蔽指定的IP:
#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
老外vps无特别说明(即使用优惠码)都按优惠后的价格续费。此vps无爱可看之前其它文章
发现Out of Stock说明缺货中,可考虑购买其它VPS。自备谷歌浏览器有简单的翻译功能。

买老外的域名、vps都需美元。有信用卡可直接购买。无卡无美元的注册Paypal到淘宝找人充美元即可。老外VPS购买教程参考:http://www.zxsdw.com/index.php/archives/259/

已有 2 条评论 »

  1. 技术帖....支持

添加新评论 »

张小三资源网 is powered by Typecho))) 网站地图