blog迁移至
:http://www.micmiu.com
应用场景:
假设有A、B、C三台设备,A<==>B可以互相访问,B<==>C可以互相访问,A和C不能直接访问,在C上安装了Oracle数据库,如何实现A可以访问C的数据库呢?
基本思路:
第一反应是在B上搭建个代理,A配置访问代理后,可以通过B跳转访问C,但是平时连接Oracle用的客户端是PLSQL,从我抓包的情况看,PLSQL和数据库通信通过tcp和tns两个协议,tcp协议的代理好解决,而tns协议的代理就不是那么简单实现了。既然这条路不通,只能换一角度寻找解决办法,想到我们一般项目里都是通过JDBC访问数据库的,所以我们也可利用JDBC的原理,通过tcp访问避开tns即可。推荐一个客户端工具:SQuirreL SQL Client
(http://squirrel-sql.sourceforge.net)它非常方便的,同时能连接目前市面上的大多数数据库,只需要在B上能实现tcp的转发即可实现A访问C的数据库了,同时想到linux下iptables就可以实现简单ip包的端口转发,下面就给出具体的实验操作步骤。
具体环境:
- A(192.168.8.253)、window vista
- B(192.168.8.150)、linux CentOS 5.5
- C(192.168.8.49 )、linux Redhat AS4、Oracle(SID:ora9i、端口:1521)
操作步骤:
1. B(192.168.8.150)允许IP包转发,修改配置文件/etc/sysctl.conf 中 net.ipv4.ip_forward = 1
(1:允许转发,默认:0)
PS:
不同的版本的linux可能存在差异,本文是在CentOS5.5下测试通过
2. B(192.168.8.150)修改iptables中的规则:
shell脚本
$iptables -t nat -A PREROUTING -p tcp -m tcp --dport 11521
-j DNAT --to-destination 192.168.8.49:1521
$iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 1521
-j SNAT --to-source 192.168.8.150
$service iptables save
$service iptables restart
PS:如果B是window系统,这里推荐一个非常方便小巧的工具kingate(http://sourceforge.net/projects/kingate
),简单配置即可实现端口转发功能。kingate功能非常全,同时支持http,https,socks,pop3,smtp,telnet,ftp,mms,rtsp,dns and tcp port redirect,同时也有linux版本。
3. A(192.168.8.253)配置客户端:SQuirreL SQL Client的连接参数如下:
URL=jdbc:oracle:thin:@192.168.8.150:11521
:ora9i
ps:
此处的端口和上面配置的转发端口一致
测试连接成功如下图所示:
到此我们基本实现了跳转访问数据库。
本文连接:http://sjsky.iteye.com/blog/1135635
转载请注明来自:Michael's blog @ http://sjsky.iteye.com
----------------------------- 分 ------------------------------ 隔 ------------------------------ 线 ------------------------------
- 大小: 86 KB
分享到:
相关推荐
iptables是一个Linux下优秀的nat+防火墙工具
iptables是一个Linux下的优秀的nat+防火墙工具,可以配置灵活强劲的防火墙+nat系统。 首先,需要说明的是,iptables操作的是2.4以上内核的netfilter。因此,需要Linux的内核在2.4以上。其功能与安全性远远比其前辈...
iptables实现转发ftp的访问请求
Linux下IPtables的配置全攻略课程目录:【】Iptables学习笔记【】Iptables服务全攻略之实战配置【】Iptables配置指南【】iptables配置案例【】Linux Iptables配置文件【】LINUX下IPtables的详细配置【】实现iptables...
将本地3389端口 转发到192.168.10.210的22(主要访问到本机的15210端口,就会跳转到192.168.10.210的22) 【步骤】 1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0 这样允许...
linux下IPTABLES配置详解
在linux平台上用iptables实现数据转发.pdf
在Linux内核上,netfilter是负责数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪等功能的一个子系统,这个子系统包含一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。iptables是一个...
下面小编就为大家带来一篇利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
linux下设置iptables实现NAT功能
linux下iptables
Linux下基于iptables的防火墙设计与实现.pdf
Linux+iptables+防火墙+添加删除+端口.doc
Linux下怎样利用Iptables实现网络防火墙的监控功能.pdf
本篇文章主要介绍了Linux下iptables 禁止端口和开放端口示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
linux下防火墙iptables 一、基本知识 二、iptable的安装与配置 禁止端口的实例 强制访问指定的站点 发布内部网络服务器 通过NAT上网 iptables实例
通过iptables进行端口转发和映射(需要注意里面的书写顺序)
Linux 上的 iptables 防火墙是一种常用的防火墙软件,能够控制访问 Linux 系统的流量。iptables 防火墙的基本应用包括安装、清除规则、开放指定端口、屏蔽指定 IP、删除已添加的规则等。 安装 iptables 防火墙 若...
关于linux防火墙iptables的设置的文档,内容很详细,自己遇到的相关问题通过参考文档解决了,也希望能给大家带来帮助