您當前的位置:首頁 > 舞蹈

伺服器不允許上網並且需要跳板機才能訪問?學會使用這個工具,輕鬆讓伺服器使用yum。

作者:由 整點bug 發表于 舞蹈時間:2022-07-03

前言

你是否遇到過這樣的場景,伺服器不能上網,但是又需要安裝某個軟體,面對如蛛網般雜亂的rpm包依賴關係,放棄或許是最好的選擇,這樣你就不必再為無法完成工作而痛苦又懊惱。

但是今天,你有了一個更好的選擇。

4DNAT

4DNAT取名源自4和DNAT。這個工具工作在OSI模型的第四層傳輸層,同時4和for諧音,意為專門為目標地址轉換而服務的工具。4DNAT使用go語言開發,具有天然的跨平臺性,並且完全使用go標準庫開發,沒有任何的第三方依賴,編譯之後只有一個二進位制可執行檔案。它有4種工作模式:

轉發模式

接受兩個引數,監聽埠和目標地址,在監聽埠接收到請求後會主動連線目標地址,示例:

。/4dnat -forward 2222 192。168。1。100:22

監聽模式

接受兩個引數,監聽埠1和監聽埠2,並交換兩個埠接收到的資料,示例:

。/4dnat -listen 10000 10001

代理人模式

接受兩個引數,目標地址1和目標地址2,啟動後會主動連線這兩個目標地址,並交換兩個埠接收到的資料,示例:

。/4dnat -agent 127。0。0。1:10000 127。0。0。1:22

http/https代理模式

接受兩個引數或四個引數,代理型別、監聽埠、證書路徑和私鑰路徑,示例:

http代理

。/4dnat -proxy http 1080

https代理

。/4dnat -proxy https 1080 server。crt server。key

使用場景

場景一

期望可以在

使用者電腦

上直接訪問目標伺服器上的3306埠,跳板機器是一臺Windows機器,沒辦法做ssh埠轉發。

伺服器不允許上網並且需要跳板機才能訪問?學會使用這個工具,輕鬆讓伺服器使用yum。

單向虛線箭頭表示可以單向訪問,反之不行。

使用4DNAT在

跳板機器

上執行如下命令做埠轉發

# 本地監聽3307埠,接收到請求後主動連線10。1。0。40的3306埠

。/4dnat -forward 3307 10。1。0。40:3306

使用者電腦

上訪問

172.16.0.30:3307

即等同於訪問

10.1.0.40:3306

,於是就可以在

使用者電腦

愉快的訪問

目標機器

上的服務啦。

場景二

期望目標

目標機器

可以上網,如使用yum安裝軟體。

伺服器不允許上網並且需要跳板機才能訪問?學會使用這個工具,輕鬆讓伺服器使用yum。

使用者電腦

上開啟一個http代理

。/4dnat -proxy http 1080

跳板機器

上使用監聽模式監聽兩個埠,用於交換資料

。/4dnat -listen 10000 10001

目標機器

上使用監聽模式監聽兩個埠,用於交換資料

。/4dnat -listen 20000 20001

使用者電腦

上使用代理人模式主動連線兩個目標地址,用於交換資料

。/4dnat -agent 127。0。0。1:1080 172。16。0。30:10000

跳板機器

上使用代理人模式主動連線兩個目標地址,用於交換資料

。/4dnat -agent 127。0。0。1:10001 10。1。0。40:20000

目標機器

上修改代理

cat <> /etc/profile

http_proxy=http://127。0。0。1:20001

https_proxy=http://127。0。0。1:20001

export http_proxy https_proxy

EOF

source /etc/profile

目標機器

上測試訪問網際網路

curl https://typesafe。cn

最後奉上專案地址

https://

github。com/dushixiang/4

dnat

Proxy

首發我的微信公眾號:我在對面的角落

標簽:   4dnat  監聽  http  目標