自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談虛擬機(jī)下部分內(nèi)網(wǎng)穿透功能實(shí)現(xiàn)方法

開(kāi)發(fā) 前端
Frp和Tailscale都可以用于實(shí)現(xiàn)內(nèi)網(wǎng)穿透功能,他們也各有優(yōu)缺點(diǎn)。Frp開(kāi)源免費(fèi)、靈活性高,但配置較復(fù)雜;Tailscale簡(jiǎn)單易用、安全性強(qiáng),但是需要通過(guò)第三方驗(yàn)證身份,同時(shí)是商業(yè)軟件,免費(fèi)版本有一定限制。

最近個(gè)人搭建服務(wù)器的情況有所增長(zhǎng),簡(jiǎn)單介紹一下一些可以使得服務(wù)器能被公網(wǎng)ip訪問(wèn)的方法。內(nèi)網(wǎng)穿透一般用于將位于內(nèi)部私有網(wǎng)絡(luò)(如家庭網(wǎng)絡(luò))的服務(wù)暴露到公共網(wǎng)絡(luò)(如互聯(lián)網(wǎng))上,使外部用戶可以訪問(wèn)這些服務(wù)。內(nèi)網(wǎng)穿透通常用于以下情況:

遠(yuǎn)程訪問(wèn):允許用戶從外部訪問(wèn)內(nèi)部網(wǎng)絡(luò)中的設(shè)備或服務(wù)。

本地測(cè)試與開(kāi)發(fā):開(kāi)發(fā)人員可以通過(guò)內(nèi)網(wǎng)穿透將本地開(kāi)發(fā)環(huán)境暴露到公共網(wǎng)絡(luò)上,方便與他人共享或進(jìn)行測(cè)試。

 IoT設(shè)備訪問(wèn):讓用戶可以通過(guò)互聯(lián)網(wǎng)訪問(wèn)家庭或企業(yè)中的物聯(lián)網(wǎng)設(shè)備。

內(nèi)網(wǎng)穿透通常涉及一個(gè)內(nèi)網(wǎng)穿透工具或服務(wù),它可以通過(guò)各種技術(shù)來(lái)實(shí)現(xiàn)內(nèi)外網(wǎng)絡(luò)之間的連接。常見(jiàn)的內(nèi)網(wǎng)穿透工具包括Ngrok、FRP、花生殼等。一般而言,內(nèi)網(wǎng)穿透目前僅適合用于家庭,私人設(shè)備的遠(yuǎn)程訪問(wèn),不建議用于生產(chǎn)環(huán)境或其他非私人環(huán)境使用。下面稍微講解一些內(nèi)網(wǎng)穿透的方式。

一、FRP

frp 是一個(gè)專注于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持 TCP、UDP、HTTP、HTTPS 等多種協(xié)議,且支持 P2P 通信??梢詫?nèi)網(wǎng)服務(wù)以安全、便捷的方式通過(guò)具有公網(wǎng) IP 節(jié)點(diǎn)的中轉(zhuǎn)暴露到公網(wǎng)。它是一個(gè)免費(fèi)且開(kāi)源的項(xiàng)目。目前一種較為實(shí)用的方式是依靠一個(gè)帶有公網(wǎng)ip的跳板服務(wù)器來(lái)訪問(wèn)內(nèi)網(wǎng)服務(wù)器。

下載地址:https://github.com/fatedier/frp/releases。

本節(jié)列舉部分frp可以進(jìn)行的操作:

1.ssh 訪問(wèn)內(nèi)網(wǎng)機(jī)器

在具有公網(wǎng) IP 的機(jī)器上部署 frps部署 frps 并編輯 frps.toml 文件。以下是簡(jiǎn)化的配置,其中設(shè)置了 frp 服務(wù)器用于接收客戶端連接的端口:

bindPort = 7000

在需要被訪問(wèn)的內(nèi)網(wǎng)機(jī)器上部署 frpc。

部署 frpc 并編輯 frpc.toml 文件,假設(shè) frps 所在服務(wù)器的公網(wǎng) IP 地址為 x.x.x.x。以下是示例配置:

serverAddr = "x.x.x.x"
serverPort = 7000
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
  • localIP  localPort 配置為需要從公網(wǎng)訪問(wèn)的內(nèi)網(wǎng)服務(wù)的地址和端口。
  • remotePort 表示在 frp 服務(wù)端監(jiān)聽(tīng)的端口,訪問(wèn)此端口的流量將被轉(zhuǎn)發(fā)到本地服務(wù)的相應(yīng)端口。

啟動(dòng) frps 和 frpc。

通過(guò) SSH 訪問(wèn)內(nèi)網(wǎng)機(jī)器。

使用以下命令通過(guò) SSH 訪問(wèn)內(nèi)網(wǎng)機(jī)器,假設(shè)用戶名為 test:

ssh -o Port=6000 test@x.x.x.x

frp 會(huì)將請(qǐng)求發(fā)送到 x.x.x.x:6000 的流量轉(zhuǎn)發(fā)到內(nèi)網(wǎng)機(jī)器的 22 端口。

2.對(duì)外提供簡(jiǎn)單的文件訪問(wèn)服務(wù)

通過(guò)使用 static_file 插件,您可以輕松地提供一個(gè)基于 HTTP 的文件訪問(wèn)服務(wù),讓其他人可以訪問(wèn)您指定的文件。

(1)配置 frps.toml

在 frps.toml 文件中添加以下內(nèi)容:

bindPort = 7000

(2)配置 frpc.toml

在 frpc.toml 文件中添加以下內(nèi)容,確保設(shè)置合適的文件路徑、用戶名和密碼:

serverAddr = "x.x.x.x" #服務(wù)器公網(wǎng)ip
serverPort = 7000
[[proxies]]
name = "test_static_file"
type = "tcp"
remotePort = 6000
[proxies.plugin]
type = "static_file"
# 本地文件目錄,對(duì)外提供訪問(wèn)
localPath = "/tmp/file"
# URL 中的前綴,將被去除,保留的內(nèi)容即為要訪問(wèn)的文件路徑
stripPrefix = "static"
httpUser = "abc"
httpPassword = "abc"

根據(jù)實(shí)際情況修改 localPath、stripPrefix、httpUser 和 httpPassword。

(3)啟動(dòng) frps 和 frpc

(4)通過(guò)瀏覽器訪問(wèn)文件

使用瀏覽器訪問(wèn)http://x.x.x.x:6000/static/.

以查看位于 /tmp/file 目錄下的文件。系統(tǒng)會(huì)要求輸入設(shè)置的用戶名和密碼。

frp較為容易使用,但是需要有公網(wǎng)ip的服務(wù)器作為跳板機(jī),畢竟它是將公網(wǎng) IP 服務(wù)器的一個(gè)端口接收到的所有數(shù)據(jù),轉(zhuǎn)發(fā)到內(nèi)網(wǎng) IP 的主機(jī)上從而實(shí)現(xiàn)遠(yuǎn)程控制。目前阿里云等云服務(wù)商的服務(wù)器帶寬等方面費(fèi)用較高,如果僅個(gè)人需求遠(yuǎn)程操控可以使用其他方法。

二、Tailscale

Tailscale屬于一種虛擬組網(wǎng)工具,基于WireGuard。簡(jiǎn)單來(lái)說(shuō)它可以把所有安裝Tailscale服務(wù)的機(jī)器,都放到同一個(gè)局域網(wǎng)從而實(shí)行內(nèi)網(wǎng)穿透。

下載地址:https://github.com/tailscale/tailscale。

它的主要特點(diǎn)可以用下面一張圖解釋:

相比與frp,tailscale安裝方式更加方便,以centos8為例 可以使用一下命令安裝。

curl -fsSL https://tailscale.com/install.sh | sh

或者使用下面命令安裝。

sudo dnf config-manager --add-repo https://pkgs.tailscale.com/stable/centos/8/tailscale.repo
sudo dnf install tailscale
sudo systemctl enable --now tailscaled
sudo tailscale up

完成后會(huì)輸出一條鏈接大致如下:

等待第二臺(tái)服務(wù)器安裝完成,加入后會(huì)得到以下提示 Tailscale 網(wǎng)絡(luò)中的每臺(tái)設(shè)備都有一個(gè)私有 100.x.y.z IP 地址, 每個(gè)協(xié)議都有效 - SSH、RDP、HTTP、Minecraft - 在 Tailscale 運(yùn)行時(shí)使用您想要的任何協(xié)議。

接下來(lái)使用tailscale set --ssh 使得ssh功能可以添加到tailscale服務(wù)器,從而可以在任意端上遠(yuǎn)程登陸,以手機(jī)端為例,操作效果如下:

同時(shí),由其他段ssh連接會(huì)在結(jié)束后自動(dòng)刪除會(huì)話,保證了一定的安全性。

總體而言,F(xiàn)rp和Tailscale都可以用于實(shí)現(xiàn)內(nèi)網(wǎng)穿透功能,他們也各有優(yōu)缺點(diǎn)。Frp開(kāi)源免費(fèi)、靈活性高,但配置較復(fù)雜;Tailscale簡(jiǎn)單易用、安全性強(qiáng),但是需要通過(guò)第三方驗(yàn)證身份,同時(shí)是商業(yè)軟件,免費(fèi)版本有一定限制。其他的內(nèi)網(wǎng)穿透方式還有cloudflare tunnel ,zerotier等,但由于筆者并不熟悉,本篇暫且不寫(xiě)。同時(shí),內(nèi)網(wǎng)穿透也有相應(yīng)風(fēng)險(xiǎn),僅建議個(gè)人遠(yuǎn)程連接自用設(shè)備使用,非必要不建議在公司生產(chǎn)環(huán)境等情況下使用。

責(zé)任編輯:姜華 來(lái)源: 新鈦云服
相關(guān)推薦

2010-01-21 11:17:36

xen虛擬機(jī)

2019-04-22 14:44:16

內(nèi)網(wǎng)穿透反向代理分離

2018-05-08 14:47:38

虛擬機(jī)方法代碼

2012-05-18 10:22:23

2009-09-07 21:51:59

2020-10-13 14:03:50

搭建ngrok服務(wù)

2010-07-26 09:02:38

2013-07-17 09:32:58

2019-04-09 15:56:46

虛擬機(jī)內(nèi)存區(qū)Java

2010-02-04 10:10:34

Dalvik虛擬機(jī)

2013-05-28 10:33:06

虛擬化虛擬機(jī)移植

2010-06-11 14:50:48

虛擬機(jī)安裝openSU

2015-11-24 15:22:53

HTTP2 WEB 內(nèi)網(wǎng)穿透

2013-04-12 13:21:44

2010-07-21 14:30:53

2009-12-16 13:44:12

2022-08-09 11:25:52

數(shù)據(jù)備份服務(wù)器虛擬化磁盤(pán)

2010-03-03 09:57:37

Linux虛擬機(jī)

2020-03-10 09:30:11

Java內(nèi)存數(shù)據(jù)

2014-02-21 11:20:34

KVMXen虛擬機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)