首頁 >運維 >linux運維 >Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

黄舟
黄舟原創
2018-05-23 17:09:358053瀏覽

可以透過連接埠對映的方式,來透過具有公網的雲端伺服器 ECS 存取使用者名稱下其它未購買公有網路頻寬的內網 ECS 上的服務。連接埠對映的方案有很多,例如 Linux 下的 SSH Tunnel、rinetd,Windows 下的 portmap 等,本文簡單介紹 rinetd,和 ssh tunnel 的設定方法。

說明:本文相關配置和說明僅用於範例和操作指引,阿里雲不對相關操作結果及由此產生的問題負責。

rinetd 設定方法


##如果是Ubuntu 系統,可以直接使用以下指令

安裝

apt-get install rinetd -y

下面介紹原始碼安裝設定方法:

1. 下載解壓縮rinetd 軟體包:

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

4. 創建

設定檔

cat >>/etc/rinetd.conf <>/etc/rc.local          
# allow 192.168.2.
# deny 192.168.1.
# bindadress bindport connectaddress connectport0.0.0.0 3306 example.rds.aliyuncs.com 3306logfile /var/log/rinetd.logendecho rinetd >>/etc/rc.local

#

5. 使用:

rinetd 启动后,就已经可以通过云服务器的 3306 端口连接到处于内网模式的 example rds 数据库了。除了这个场景,其它的内网端口转发配置也类似。不过,由于FTP 协议端口是随机的,所以无法通过此方法实现转发。

另外,配置文件中可以对某个 IP 或者 IP 段进行允许/拒绝,藉此提高内网端口的安全性。

SSH Tunnel 配置方法


通过putty 和 有公网 IP 的 ECS 之间建立 SSH 隧道,然后通过本地端口转发,实现在客户 PC 终端上对内网 ECS 和 RDS 的直接访问,为客户的远程管理提供了巨大的方便。

其数据流向如下示意图: 
Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

前置条件

  • 客户 PC 终端可以 ssh 登录有公网的 ECS 服务器。

  • 有公网的 ECS 服务器可以通过内网访问其他内网 ECS 服务器。

  • 有公网的 ECS 服务器可以通过内网访问 RDS(ECS 的内网 IP 在 RDS 的白名单中)。

客户端配置

1. 客户端使用 putty,填写有公网 ECS 的 IP 及 ssh 端口

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

2. 设置 SSH Tunnel:Source Port 是 PC 本地监听的端口,Destination 填写内网 ECS 服务器的内网地址及端口。然后点击 Add,就会生成一个端口转发记录,然后点击 Open 会打开 SSH 连接:

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

3. 在弹出的窗口中输入正常 SSH 登录有公网 IP 的 ECS 服务器:

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

4. 这时在客户 PC 终端上使用 netstat –na 命令应该可以看到一个 127.0.0.1 的 22 端口的本地监听:

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

5. 通过连接这个本地端口就可以连接到内网的 ECS 服务器上了:

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

6. 这个方法同样适用于 Windows系统(为了不与客户 PC 终端的端口冲突,这里使用了 33389 端口作为本地监听端口)

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

7. 内网的 RDS 也可以实现:

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

8. 可以在客户 PC 终端直接使用数据库客户端程序来连接 RDS 中的数据库,非常方便。

1Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

另外,在 SecureCRT 中这个功能叫做 端口转发 ,进行类似的配置后也可以实现同样的功能。

1Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解

以上是Linux透過連接埠轉送來實現存取內網服務的圖文步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn