linux 防火墙开启80端口永久保存

http://www.blogjava.net/Alpha/archive/2012/09/13/387640.html

http://os.51cto.com/art/201103/249504.htm

http://www.myhack58.com/Article/48/66/2012/34999.htm

经常使用CentOS的朋友,可能会遇到和我一样的问题。开启了防火墙导致80端口无法访问,刚开始学习centos的朋友可以参考下。

经常使用CentOS的朋友,可能会遇到和我一样的问题。最近在Linux CentOS防火墙下安装配置 ORACLE 数据库的时候,总显示因为网络端口而导致的EM安装失败,遂打算先关闭一下CentOS防火墙。偶然看到CentOS防火墙的配置操作说明,感觉不错。执 行”setup”命令启动文字模式配置实用程序,在”选择一种工具”中选择”防火墙配置”,然后选择”运行工具”按钮,出现CentOS防火墙配置界面, 将”安全级别”设为”禁用”,然后选择”确定”即可. 

这样重启计算机后,CentOS防火墙默认已经开放了80和22端口 

简介:CentOS是Linux家族的一个分支。 

CentOS防火墙在虚拟机的CENTOS装好APACHE不能用,郁闷,解决方法如下 

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT 

然后保存: 

/etc/rc.d/init.d/iptables save 
centos 5.3,5.4以上的版本需要用 
service iptables save 
来实现保存到配置文件。 
这样重启计算机后,CentOS防火墙默认已经开放了80和22端口。 
命令行的话是,/etc/rc.d/init.d/iptables save保存

vi修改的话,执行service iptables restart

重启防火墙即可保存。

修改很多次都提示错误,于是复杂一份过来直接保存。例子如下:

# Generated by iptables-save v1.4.7 on Tue Sep 11 13:29:11 2012
*filter
:INPUT ACCEPT [310:96058]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [131:96829]
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 1010 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --sport 123 -m state --state ESTABLISHED -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT


-A OUTPUT -o etho -p tcp -m tcp --sport 80 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT 
-A OUTPUT -o eth0 -p udp -m udp --dport 123 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT


-A INPUT -m state --state NEW -m tcp -p tcp --dport 1010 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT


COMMIT
# Completed on Tue Sep 11 13:29:11 2012




这里应该也可以不重启计算机: 

/etc/init.d/iptables restart 

CentOS防火墙的关闭,关闭其服务即可: 

查看CentOS防火墙信息:/etc/init.d/iptables status 

关闭CentOS防火墙服务:/etc/init.d/iptables stop 

永久关闭?不知道怎么个永久法: 

chkconfig –level 35 iptables off 

上面的内容是针对老版本的centos,下面的内容是基于新版本。 

iptables -P INPUT DROP 

这样就拒绝所有访问 CentOS 5.3 本系统数据,除了 Chain RH-Firewall-1-INPUT (2 references) 的规则外 , 呵呵。 

用命令配置了 iptables 一定还要 service iptables save 才能保存到配置文件。 

cat /etc/sysconfig/iptables 可以查看 防火墙 iptables 配置文件内容 

# Generated by iptables-save v1.3.5 on Sat Apr 14 07:51:07 2001 
*filter 
:INPUT DROP [0:0] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [1513:149055] 
:RH-Firewall-1-INPUT - [0:0] 
-A INPUT -j RH-Firewall-1-INPUT 
-A FORWARD -j RH-Firewall-1-INPUT 
-A RH-Firewall-1-INPUT -i lo -j ACCEPT 
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT 
-A RH-Firewall-1-INPUT -p esp -j ACCEPT 
-A RH-Firewall-1-INPUT -p ah -j ACCEPT 
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT 
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT 
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 
COMMIT 
# Completed on Sat Apr 14 07:51:07 2001

另外补充:
CentOS 防火墙配置 80端口
看了好几个页面内容都有错,下面是正确方法: 
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
#/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT 

然后保存: 
#/etc/rc.d/init.d/iptables save 

再查看是否已经有了: 
[root@vcentos ~]# /etc/init.d/iptables status 
Table: filter 
Chain INPUT (policy ACCEPT) 
num target prot opt source destination 
1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:80 
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 
3 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 

Chain FORWARD (policy ACCEPT) 
num target prot opt source destination 
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

* 设置iptables为自动启动 
chkconfig --level 2345 iptables on 

可能因为大家使用的版本不一,所有使用方法也略有不同。


iptables命令建立的规则临时保存在内存中。如果系统在永久保存这些规则之前重启,所有设置的规则都将丢失。如果要想使iptables设置的规则在下次重启系统之后仍然生效则需要永久保存这些规则,以root身份执行:

/sbin/service iptables save

该操作将执行iptables初始化脚本,该脚本会运行/sbin/iptables-save程序并更新当前的iptables配置文件/etc/sysconfig/iptables。

而原来的配置文件将保存为iptables.save。

下次系统系统启动时,iptables初始化脚本将使用/sbin/iptables-restore命令重新读取/etc/sysconfig/iptables文件的内容。

因此比较好的方法是在将一条新的iptables规则提交到/etc/sysconfig/iptables文件之前先检查该规则。并且也可以将其他版本系统中的iptables配置文件应用于这里。这样就有助于分发该配置文件到多台Linux主机上。

注意:如果把/etc/sysconfig/iptables文件进行分发之后,每台系统都要执行/sbin/service iptables restart命令来使规则生效。

通过文章来看,是不是用上面的方法来解决保存iptables的防火墙规则的问题比较简单。快跟朋友分享吧!



vi /etc/sysconfig/iptables 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙) 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) 
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面


添加好之后防火墙规则如下所示:

###################################### 
# Firewall configuration written by system-config-firewall 
# Manual customization of this file is not recommended. 
*filter 
:INPUT ACCEPT [0:0] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [0:0] 
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT 
-A INPUT -j REJECT –reject-with icmp-host-prohibited 
-A FORWARD -j REJECT –reject-with icmp-host-prohibited 
COMMIT 
#####################################

/etc/init.d/iptables restart  
     #最后重启防火墙使配置生效


你可能感兴趣的:(linux)