数据库服务器在内网中,没有公网地址,现在使用rinetd工具通过有公网访问的服务器进行端口转发,实现公网可以访问数据库。
工具/原料
-
rinetd 百度网盘:链接: https://pan.baidu.com/s/1n-tR-psiAIb-YziyO5l9Sg 提取码: jfge
-
gcc、make
方法/步骤
-
1
安装rinetd,需要使用root账户,或具有root权限的账户
tar zxf rinetd.tar.gz
make
make install
默认安装在/usr/sbin目录下
-
2
配置rinetd
vi /etc/rinetd.conf
命令格式是
bindaddress bindport connectaddress connectport
绑定的地址 绑定的端口 连接的地址 连接的端口
添加如下信息:
配置mysql数据库转发端口
0.0.0.0 13306 192.168.10.10 3306
配置oracle数据库转发端口
0.0.0.0 11521 192.168.10.10 1521
配置sqlserver数据库转发端口
0.0.0.0 11433 192.168.10.10 1433
说明一下(0.0.0.0表示本机绑定所有可用地址)
将所有发往本机13306端口的请求转发到192.168.10.10的3306端口
将所有发往本机11521端口的请求转发到192.168.10.10的1521端口
将所有发往本机11433端口的请求转发到192.168.10.10的1433端口
-
3
启动程序
pkill rinetd ##关闭进程
rinetd -c /etc/rinetd.conf ##启动转发
把这条命令加到/etc/rc.local里面就可以开机自动运行
-
4
系统防火墙应该打开绑定的本机端口
例如上面配置的13306、11521、11433
查看端口监听状态
netstat -nlpt
检查所配置的端口是否存在
END
注意事项
-
rinetd.conf中绑定的本机端口必须没有被其它程序占用