Linux实例通过端口转发来访问内网服务

285 阅读1分钟

概述

通过端口映射的方式,通过具有公网的Linux实例访问用户名下其它未购买公网带宽的内网Linux实例上的服务。端口映射的方案有很多,比如Linux下的SSH Tunnel、rinetd,Windows下的portmap等,本文简要介绍rinetd的配置方法。

rinetd配置方法

安装rinetd

1.获取压缩包

链接:pan.baidu.com/s/1K7LKkljk… 提取码:ymar

2.解压

tar -xvf rinetd.tar.gz&&cd rinetd

3.执行如下命令,修改编译配置。修改端口范围,否则会报错

sed -i ‘s/65536/65535/g’ rinetd.c

4.执行如下命令,编译安装

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

5.执行如下命令,创建配置文件

touch >>/etc/rinetd.conf

6.编辑配置文件

vim /etc/rinetd.conf

# 设置允许访问的ip地址信息
#allow 192.168.2.*

# 设置拒绝访问的ip地址信息
# deny 192.168.1.*

# 设置日志文件路径
logfile /var/log/rinetd.log

# 例子: 将本机3306 端口重定向至192.168.2.xxx的3306 端口
0.0.0.0 3306 192.168.2.xxx 3306
# 例子: 将本机3306 端口重定向至192.168.2.xxx的3306 端口
0.0.0.0 3307 192.168.2.xxx 3307

7.设置开机自启动

vim /etc/systemd/system/rinetd.service

加入如下配置

[Unit]
Description=rinetd

[Service]
KillMode=process
LimitNOFILE=102400
Type=forking
# 根据实际情况修改启动用户组及用户
User=root
Group=root

ExecStart=/httx/run/rinetd/rinetd -c /etc/rinetd.conf

Restart=on-failure

[Install]
WantedBy=multi-user.target

加载服务

sudo systemctl daemon-reload

开机自启动

sudo systemctl enable rinetd.service

启动服务

systemctl start rinetd.service

查看状态

systemctl status rinetd.service

参考文档:help.aliyun.com/zh/ecs/linu…