Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)

# 安装rinetd

wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd
sed -i 's/65536/65535/g' rinetd.c (修改端口范围)
mkdir /usr/man&&make&&make install

说明:IP的端口是双字节,也就是256*256-1, 256*256对计算机来说就是0,因为此最大的端口号是65535而不是65536,当然端口数值是0-65535,数量是65536个,但0一般不用,故而我们通常都说65535,而且端口号最大也是65535,所以我们都说端口是65535。

 

# 编辑配置文件 rinetd.conf
格式:源IP (Source Address)  源端口(Source Port)  跳转的IP(Destination Address)  跳转的端口(Destination Port)

vi /etc/rinetd.conf
0.0.0.0 6379 r-test.redis.rds.aliyuncs.com 6379
0.0.0.0 3306 rm-test.mysql.rds.aliyuncs.com 3306
logfile /var/log/rinetd.log

注意,最好不要用常用的端口,比如0.0.0.0 3306 改为 0.0.0.0 3366,否则被恶意扫描的话,rinetd.log日志文件会暴涨,没一会就暴涨到几十G的容量了。 如果发现磁盘空间满了,到 /var/log 目录,执行 ls -lh ,清理对应日志文件即可:cat /dev/null > rinetd.log

#启动 rinetd

rinetd

/usr/sbin/rinetd -c /etc/rinetd.conf

 

# 重启rinetd

pkill rinetd
rinetd

 

# 将 rinetd 设置为自启动

echo rinetd >>/etc/rc.local

vi /etc/rc.d/rc.local
/usr/sbin/rinetd -c /etc/rinetd.conf

 

# 确认服务是否正常运行

ps ax | grep rinetd | grep -v grep
netstat -anp | grep 6379

 

注意:ftp端口不允许转发。

1. rinetd.conf中绑定的本机端口必须没有被其它程序占用
2. 运行rinetd的系统防火墙应该打开绑定的本机端口

 

 

参考文章:

公网连接云数据库Redis版 (https://help.aliyun.com/document_detail/43850.html)
Linux 通过端口转发来访问内网服务 (http://www.sohu.com/a/136289576_472899)

 

版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。
本文标题:Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)
本文链接:http://www.cnblogs.com/sochishun/p/7586485.html
本文作者:SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)
发表日期:2017年9月23日

posted on 2017-09-24 10:31  sochishun  阅读(2742)  评论(0编辑  收藏  举报