首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Linux停iptables端口转发实现跳转访问数据库

2012-06-26 
Linux下iptables端口转发实现跳转访问数据库?? blog迁移至:http://www.micmiu.com?应用场景:????? 假设有A

Linux下iptables端口转发实现跳转访问数据库

?? 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中的规则:

?

到此我们基本实现了跳转访问数据库。

?

本文连接:http://sjsky.iteye.com/blog/1135635

?

?

?

转载请注明来自:Michael's blog @ http://sjsky.iteye.com

----------------------------- 分 ------------------------------ 隔 ------------------------------ 线 ------------------------------

?

?

?

?

1 楼 dbn002385 2011-11-15   如果B本身要访问C的数据库(1521),这样会不会有影响? 2 楼 sjsky 2011-11-15   dbn002385 写道如果B本身要访问C的数据库(1521),这样会不会有影响?
不受影响的

热点排行