我们很多时候在liunx系统上安装了web服务应用后(如tomcat、apache等),需要让其它电脑能访问到该应用,而linux系统(centos、redhat等)的防火墙是默认只对外开放了22端口。
linux系统的端口设置在/etc/sysconfig/iptables文件中配置。使用编辑器打开该文件。内容如下:
[plain] view plain copy #Firewallconfigurationwrittenbysystem-config-firewall #Manualcustomizationofthisfileisnotrecommended. *filter :INPUTACCEPT[0:0] :FORWARDACCEPT[0:0] :OUTPUTACCEPT[0:0] -AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT -AINPUT-picmp-jACCEPT -AINPUT-ilo-jACCEPT -AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT -AINPUT-jREJECT--reject-withicmp-host-prohibited -AFORWARD-jREJECT--reject-withicmp-host-prohibited COMMIT 网上说的是如下code[plain] view plain copy -ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport3001-jACCEPT 我在CentOS6.5中测试上面的代码,不能成功。
如果我们需要对外开放80端口,则上面文件中添加如下code
[plain] view plain copy -AINPUT-mstate--stateNEW-mtcp-ptcp--dport8080-jACCEPT
同时还需要注意的是,这段代码需要加入到 [plain] view plain copy -AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT 之后,否则端口也不能打开。最后的配如下:[plain] view plain copy #Firewallconfigurationwrittenbysystem-config-firewall #Manualcustomizationofthisfileisnotrecommended. *filter :INPUTACCEPT[0:0] :FORWARDACCEPT[0:0] :OUTPUTACCEPT[0:0] -AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT -AINPUT-picmp-jACCEPT -AINPUT-ilo-jACCEPT -AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT -AINPUT-mstate--stateNEW-mtcp-ptcp--dport8080-jACCEPT -AINPUT-jREJECT--reject-withicmp-host-prohibited -AFORWARD-jREJECT--reject-withicmp-host-prohibited COMMIT
编辑上面的文件 需要提供su权限.
保存上面的文件后,在终端运行如下命令:更新防火墙配置[plain] view plain copy serviceiptablesrestart
下面这个命令可以看到开放的端口[plain] view plain copy /sbin/iptables-L-n
下面的命令可以关闭/打开防火墙(需要重启系统)
[plain] view plain copy 开启:chkconfigiptableson 关闭:chkconfigiptablesoff
下面的代码可以启动和停止防火墙(立即生效,重启后失效)[plain] view plain copy 开启:serviceiptablesstart 关闭:serviceiptablesstop