> Linux教程 > 系统运维 >

通过rinetd实现端口转发来访问阿里云内网的服务

问题描述:

如何通过外网来访问无外网环境的内网的服务(如只有内网链接的RDS)

 

环境要求:

需要有一台能够外网访问的ECS做端口映射,通过数据包转发来实现外部访问阿里云的内网服务

 

案例分享:

做端口映射的方案有很多,Linux下的ssh tunnel和windows下的portmap等等

这边分享一个更稳定和简单的小工具rinetd

配置方法如下:

1 wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd

2 sed -i 's/65536/65535/g' rinetd.c (修改端口范围,否则会报错)

3 mkdir /usr/man&&make&&make install

 

创建配置文件:

 cat >>/etc/rinetd.conf <>/etc/rc.local

          # allow 192.168.2.*

 

# deny 192.168.1.*

 

# bindadress bindport connectaddress connectport

 

0.0.0.0 3306 example.rds.aliyuncs.com 3306

 

logfile /var/log/rinetd.log

 

end

 

echo rinetd >>/etc/rc.local

rinetd启动后,就已经可以通过云服务器的3306端口连接到处于内网模式的example rds数据库了

除了这个场景,其它的内网端口转发也都可以(由于FTP协议相对特殊,无法实现转发)

配置文件中可以对某个IP或者IP段进行允许/拒绝,藉此提高内网端口的安全性;

如果二者冲突,拒绝优先。

rinetd也有Windows版本,配置方法完全相同,在此不再赘述。 如果你是ubuntu系统,使用:apt-get install rinetd -y 就可以实现安装。

 

 

 

 

 

 

(责任编辑:IT)