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

经常使用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  -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport -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  ::
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
-A INPUT -i eth0 -p tcp -m tcp --sport : --dport -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport : --dport -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --sport -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport : --dport -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o etho -p tcp -m tcp --sport --dport : -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT COMMIT
# Completed on Tue Sep ::

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

/etc/init.d/iptables restart 

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

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

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

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

chkconfig –level  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  ::
*filter
:INPUT DROP [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
:RH-Firewall--INPUT - [:]
-A INPUT -j RH-Firewall--INPUT
-A FORWARD -j RH-Firewall--INPUT
-A RH-Firewall--INPUT -i lo -j ACCEPT
-A RH-Firewall--INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall--INPUT -p esp -j ACCEPT
-A RH-Firewall--INPUT -p ah -j ACCEPT
-A RH-Firewall--INPUT -d 224.0.0.251 -p udp -m udp --dport -j ACCEPT
-A RH-Firewall--INPUT -p udp -m udp --dport -j ACCEPT
-A RH-Firewall--INPUT -p tcp -m tcp --dport -j ACCEPT
-A RH-Firewall--INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall--INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
-A RH-Firewall--INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sat Apr ::

另外补充:
CentOS 防火墙配置 80端口
看了好几个页面内容都有错,下面是正确方法:

#/sbin/iptables -I INPUT -p tcp --dport  -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport -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
ACCEPT udp -- 0.0.0.0/ 0.0.0.0/ udp dpt:
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
RH-Firewall--INPUT all -- 0.0.0.0/ 0.0.0.0/ Chain FORWARD (policy ACCEPT)
num target prot opt source destination
RH-Firewall--INPUT all -- 0.0.0.0/ 0.0.0.0/

* 设置iptables为自动启动

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

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

######################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
-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 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport -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
#最后重启防火墙使配置生效
上一篇:浅析线程池 ThreadPoolExecutor 源码


下一篇:ViewPager + Fragment实现滑动标签页