|
通过rinetd实现端口转发来访问阿里云内网的服务
发布日期:2016-1-11 18:1:22
问题描述:如何通过外网来访问无外网环境的内网的服务(如只有内网链接的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 即可实现安装。
|