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

Posted sochishun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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日

以上是关于Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)的主要内容,如果未能解决你的问题,请参考以下文章

利用SSH端口转发实现远程访问内网主机远程桌面 建立SSH转发

ssh的代理和端口转发机制介绍

医院内外网之间通过网闸交互,通过端口转发加nginx代理实现内网访问外网

配置小米路由器 80 端口转发到内网

secureCRT端口转发功能

Linux-Windows 端口转发