`

Centos 6.5 设置iptables (j2ee应用+oracle数据库 同机)

 
阅读更多

         最近公司迁移服务器,搞好所有环境后我发现防火墙没开,就设置了一下,然而发现设置完之后本机的应用连接不到同机的oracle数据库,但是我远程用plsql dev是可以连接的,而且1521端口也是开放的。但是就是本机连接不到,我就纳了闷了,然后我用netstat -apnt命令查看了一下java程序已经连接的端口,结果发现和oracle建立了很多10000-65535的端口连接,而且这些端口都是随机生成的,每次启动应用都会变。

  netstat -anpt|grep java
tcp        0      0 0.0.0.0:8080         0.0.0.0:*            LISTEN      7964/java           
tcp        0      0 127.0.0.1:8005       0.0.0.0:*            LISTEN      7964/java           
tcp        0      0 0.0.0.0:8009         0.0.0.0:*            LISTEN      7964/java           
tcp        0      0 127.0.0.1:11405      127.0.0.1:1521       ESTABLISHED 7964/java           
tcp        0      0 127.0.0.1:11404      127.0.0.1:1521       ESTABLISHED 7964/java           
tcp        0      0 127.0.0.1:11392      127.0.0.1:1521       ESTABLISHED 7964/java           
tcp        0      0 127.0.0.1:11407      127.0.0.1:1521       ESTABLISHED 7964/java           
tcp        0      0 127.0.0.1:11388      127.0.0.1:1521       ESTABLISHED 7964/java           
tcp        0      0 127.0.0.1:11396      127.0.0.1:1521       ESTABLISHED 7964/java           
tcp        0      0 127.0.0.1:11383      127.0.0.1:1521       ESTABLISHED 7964/java           
tcp        0      0 127.0.0.1:11403      127.0.0.1:1521       ESTABLISHED 7964/java           
tcp        0      0 127.0.0.1:11406      127.0.0.1:1521       ESTABLISHED 7964/java

   因为本机访问127.0.0.1 这个ip 也是要经过防火墙的,而这些随机端口也会被防火墙拦截,这就是为什么本机连接不到oracle的原因。 

   这有什么办法解决呢,因为我对Linux也不熟,搞了好久,最后加了一条规则解决这个问题

  

iptables -A INPUT -p tcp -s 127.0.0.1 --dport 1:65535 -j ACCEPT;  

 

  上面这个规则的意思是对本机的访问开放所有的端口 

 

  最后放上所有的规则配置

 

--对内访问控制             
#允许ping                                                
iptables -A INPUT -p icmp -j ACCEPT; 
#开放22端口,ssh       							 
iptables -A INPUT -p tcp --dport 22 -j ACCEPT; 
#开放ftp端口,ssh    					       
iptables -A INPUT -p tcp --dport 21 -j ACCEPT; 
#开放80端口    					       
iptables -A INPUT -p tcp --dport 80 -j ACCEPT;   
#开放8080端口 (如果不开放8080端口将转发不到80端口)  					       
iptables -A INPUT -p tcp --dport 80 -j ACCEPT;    
#开放1521(ORACLE)端口 					       
iptables -A INPUT -p tcp --dport 1521 -j ACCEPT;  
#开放5901(VNC SERVER)端口   				       
iptables -A INPUT -p tcp --dport 5901 -j ACCEPT;     
#对所有已经建立的连接开放				       
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT;  
#开放DNS ,否则iptables对域名解析很慢  	  
iptables -A INPUT -p udp --sport 53 -j ACCEPT;     					       
#对本机的访问开放所有的端口 (这条很重要,我就是因为一开始没加这条导致一开防火墙JAVA程序就连接不了本地的ORACLE数据库)
iptables -A INPUT -p tcp -s 127.0.0.1 --dport 1:65535 -j ACCEPT;      
#设置默认INPUT链丢失所有连接,此条慎重,一定要开启22端口后才能设置此条      
iptables -A INPUT -j REJECT  	

																      
 --转发控制 	
 #(加这条的目的让所有访问80端口的连接都转发到8080端口,因为我是用普通用户启动tomcat,
 而1000以下的端口只能被root用户使用,所以需要转发一下)
	
 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 

--对外访问控制
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT; 												




 

   效果图如下:

  

 

 

  • 大小: 29 KB
分享到:
评论

相关推荐

    CentOS6.5+mysql+nginx+php+memcached安装指南

    Windows8上安装虚拟机VirtualBox,然后新建虚拟电脑,搭建CentOS6.5 + mysql + nginx + php + memcached平台环境,部署网站。文档中记录了部分FAQ。

    Centos6.5下安装Mysql5.7+的脚本及安装手册

    Centos6.5下安装Mysql5.7+的脚本及安装手册。 安装包需要从网上下载,我测试的安装包为mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz,500多M,上传不了。注意:必须是二进制安装版的,不能是rpm或源码版的。 经我测试...

    centos6.5下 jdk+tomcat+eclipse安装

    ### CentOS 6.5 下 JDK + Tomcat + Eclipse 安装指南 #### 一、环境准备与基础概念 在开始安装之前,确保你的 CentOS 6.5 系统已更新到最新状态,并且具备基本的网络连接。接下来,我们将详细介绍如何在 CentOS ...

    esxi6.5环境下centos6.5+ambari+HDP+ELK+neo4j集群搭建

    centos 6.5 esxi 6.5 SSH 5.3 JDK 1.8_131 MAVEN 3.6 TOMCAT 8 Mysql 5.6 Ambari 2.4 HDP 2.4 ElasticSearch 6.5.1 Kibana 6.5.1 Logstash 6.5.1 Neo4j 3.4 基于EXSI6.5环境下centos6系统搭建ambari+HDP+elastic...

    Centos6.5安装教程for oracle

    CentOS 6.5是一款稳定且广泛使用的Linux发行版,尤其适合企业级应用,包括Oracle数据库部署。 #### 二、安装准备 **1. 系统要求** - **操作系统**: CentOS 6.5 64位 - **内存**: 最小628MB,推荐4GB以上(适用于...

    centos6.5安装oracle11g数据库指南.docx

    本文档提供了一套全面的指南,用于在 CentOS 6.5 64位操作系统上安装 Oracle 11g 数据库。该指南同样适用于其他基于 Red Hat 的操作系统,如 Red Hat Enterprise Linux (RHEL) 和其他版本的 CentOS。为了确保安装...

    Centos6.5 镜像文件下载

    ### Centos6.5镜像文件下载与安装详解 #### 一、CentOS 6.5简介 CentOS是Community ENTerprise Operating System的...希望每位读者都能够顺利地完成CentOS 6.5的安装,并在此基础上搭建出符合自己需求的应用环境。

    centos6.5安装oracle12c(图形化安装)

    本教程将指导您如何在 CentOS 6.5 操作系统上安装 Oracle 12c 数据库管理系统,旨在帮助读者熟悉 Oracle 数据库安装和配置过程。 一、 安装图形化基础包 在安装 Oracle 12c 之前,需要安装图形化基础包,包括 xdm ...

    CentOS 6.5_x64安装Oracle 11g R2

    在本文中,我们将详细介绍如何在CentOS 6.5_x64系统上安装Oracle 11g R2数据库,并创建一个自启动脚本来简化数据库服务的管理流程。 #### 安装环境 - **操作系统**:CentOS 6.5_x64 Desktop - **主机名**:Oracle ...

    CentOs6.5镜像源

    CentOs6.5镜像源

    centos6.5rar oracle rpm依赖包

    centos6.5rar oracle rpm依赖包centos6.5rar oracle rpm依赖包centos6.5rar oracle rpm依赖包centos6.5rar oracle rpm依赖包

    centOS6.5安装Oracle记录

    【安装Oracle 11g R2 on CentOS 6.5】 在64位的系统上安装Oracle数据库,尤其是Oracle 11g R2,是一项复杂而细致的工作。这里我们将详细探讨如何在64位的CentOS 6.5上进行安装。 首先,选择64位的系统是因为32位...

    CentOS 6.5 最新可用的 Yum 源

    CentOS 6.5 的 软件源很多官方已经停止维护,该文件包内配置好的yum源是可以正常使用的。将原/etc/yum.repos.d/目录下原来的 .repo 备份, 然后把本文件包内的repo文件复制过去, yum clean all 后,再 yum ...

    centos6.5依赖包整理

    CentOS 6.5是一款基于Linux的稳定版操作系统,而Oracle数据库则是一款广泛应用于企业级的数据存储和处理系统。在离线环境下安装Oracle数据库时,确保所有必要的依赖包都已准备就绪是至关重要的。"centos6.5依赖包...

    oracle 11g for centos6.5静默安装

    标题中的知识点:“oracle 11g for centos6.5静默安装”说明本文是关于如何在CentOS 6.5操作系统上通过静默方式安装Oracle 11g数据库的过程。静默安装是指无需人工干预,通过预设参数或脚本实现自动安装的过程。这种...

    CentOs 6.5 telnet 客户端 linux 64(离线安装)

    centos 6.5 telnet 客户端 安装文件 rpm包 centos 6.5 telnet 服务端 安装文件 rpm包 http://vault.centos.org/6.5/os/x86_64/Packages/ 从官网下载亲测可以用

    centos6.5安装oracle详细步骤

    根据文档描述,本次安装的目标是 CentOS 6.5 系统上安装 Oracle 11g 数据库。在正式安装之前,需要确保满足以下硬件与软件的要求。 **1. 硬件要求** - 物理内存:至少 1GB。 - 交换空间:大约为物理内存的 2 倍。 -...

Global site tag (gtag.js) - Google Analytics