(二)Linux环境部署(Centos+Nginx+Tomcat+Mysql)-防火墙配置


以下为本人本地测试实践中,完整的搭建一个基于Linux系统上Centos+Nginx+Tomcat+Mysql的操作文档,梳理记录如下,希望对于那些想要系统地完整搭建Linux环境的程序员们一个系统性的参考。但因大部分都是边搭建边记录下的操作,有所疏漏在所难免,还望见谅;如有问题和意见请帮忙在后面的评论中指出,万分感谢!另整个搭建的过程中参考了网上许多优秀博主的优秀实践,在文中末尾或者其他适当的地方都有所标注,如有必要,你可以按参考的链接阅读参考的原文章。本文档一共分为6部分,6篇文章,分别是:

1、(一)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - FTP安装

2、(二)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 防火墙配置

3、(三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建

4、(四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合

5、(五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Mysql 安装

6、(六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 一些常用命令总结



(二)防火墙配置


查看防火墙状态:
/etc/init.d/iptables status
暂时关闭防火墙:
/etc/init.d/iptables stop
禁止防火墙在系统启动时启动
/sbin/chkconfig --level 2345 iptables off
重启iptables:
/etc/init.d/iptables restart
在文件
/etc/sysconfig/iptables
在系统原始配置的:RH-Firewall-1-INPUT规则链增加类似这样的行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 39764 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 39764 -j ACCEPT
如果发现原有-j REJECT一类的语句,上面两句要放在它的前面, 不然不会生效

结论:所有要开放的端口要放在-j REJECT一类语句的前面,不然不起作用。

如下例所示:vi /etc/sysconfig/iptables

#Firewall configuration written by system-config-firewall

#Manual customization of this file is not recommended.

*filter

:INPUTACCEPT [0:0]

:FORWARDACCEPT [0:0]

:OUTPUTACCEPT [0:0]

-AINPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-AINPUT -p icmp -j ACCEPT

-AINPUT -i lo -j ACCEPT

-AINPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-AINPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-IINPUT -p tcp --dport 21 -j ACCEPT

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

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

COMMIT


重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off 或者 /sbin/chkconfig --level 2345 iptables off

2) 即时生效,重启后失效
service 方式
开启: service iptables start
关闭: service iptables stop
iptables方式
查看防火墙状态:
/etc/init.d/iptables status
暂时关闭防火墙:
/etc/init.d/iptables stop
重启iptables:
/etc/init.d/iptables restart

问题: 如果发现防火墙怎么也无法启动,状态一直是not running,检查/etc/sysconfig/iptables 防火墙初始化文件是否存在,如果不存在需初始化防火墙:

第1步:使用ssh或直接在本机使用root最高权限用户登录到centos系统,执行“iptables -F”并确定。(此方法命令确定之后不会出现任何成功的提示。)

第2步:再次执行“service iptables save”命令并确定,当提示“iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]”就说明成功了。(这一步就是把本文第一步中的iptables -F命令执行,但是命令是执行成功了,但是还没有生效,所以我们需要重启防火墙。)

第3步:执行“service iptables restart”命令并确定,当提示有四个OK时就说明防火墙初始化,并重启动完毕。

第4步:执行“/etc/init.d/iptables status”命令可查看centos当前防火墙的相关信息,初始化之后,默认是只有两三个防火墙规则的。(大家可直接使用/etc/init.d/iptables这种不带参数的,即可看到如上图所示的该命令下所有的参数,如:{start|stop|restart|condrestart|status|panic|save},启动,停止,重启等参数。)

可以copy上面的初始化示例




相关内容