• 1
  • 2
  • 3
  • 4
  • 5
阿里云主机ECS 首 页  »  帮助中心  »  云服务器  »  阿里云主机ECS
通过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 即可实现安装。