從遠端打卡而來的內網穿透

宣告:嚴禁用作非法目的,謝絕一切形式的轉載。

如何實現遠端打卡?遠端打卡的問題在於你和公司處在不同的區域網之中,要實現遠端開啟,雖然有些軟體可以使用(比如向日葵、teamviwer等),但是實現功能也僅僅限於遠端桌面控制(在免費的情況下,網速只能呵呵了)。如果想做其他的一些事情就無能為力了,比如訪問內網的web服務、提升許可權等等。

網路概況

sequenceDiagram公司區域網 ->> 公網: 可以訪問公網->>家庭區域網: 可以訪問

本文不講解怎麼進行遠端打卡。反過來講解怎樣在公司中訪問在家庭裡面的電腦,反之是同樣的道理。(怕被和諧)

在上面的圖中,直接透過公司區域網訪問家庭區域網肯定是不行的。考慮藉助公網來進行內網穿透,本文使用的工具是frpc。本文使用的公網ip是47。92。90。25,筆者自己租用的阿里雲伺服器,域名是www。hacksprit。top。

至於阿里雲如何配置,域名如何進行繫結可以私信我。

frp

frp is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the Internet。 As of now, it supports TCP and UDP, as well as HTTP and HTTPS protocols, where requests can be forwarded to internal services by domain name。 frp also has a P2P connect mode。

架構

從遠端打卡而來的內網穿透

基本使用

安裝及配置檔案

Firstly, download the latest programs from Release page according to your operating system and architecture。

Put frps and frps。ini onto your server A with public IP。(公網ip)

Put frpc and frpc。ini onto your server B in LAN (that can‘t be connected from public Internet)。(區域網ip)

準備條件

家庭區域網開啟ssh服務,開啟一個PHP的web服務。其他服務根據需要自行安裝本文測試ssh服務和web服務。

(1) ssh服務 安裝ssh服務

sudo apt-get install openssh-server

啟動ssh服務

sudo /etc/init。d/ssh start

檢視ssh服務是否啟動成功

ssh -o port=22 burning@127。0。0。1

如果成功啟動可看到如下所示的頁面:

從遠端打卡而來的內網穿透

(2) Web服務 透過如下的命令就可以開啟一個web服務。

wget -O install。sh https://download。xp。cn/install。sh && sudo bash install。sh

從遠端打卡而來的內網穿透

Nginx的反向代理在後續文章中會介紹。簡單來說就是Nginx代理內網伺服器對外提供服務。而正像代理代理的是客戶端的請求。

公司區域網ip地址

從遠端打卡而來的內網穿透

frp的配置和使用

(1)公網47。92。90。25做為frp的伺服器。編輯frps。ini。

從遠端打卡而來的內網穿透

執行frps,開啟服務端。設定http埠是7002。阿里雲需要開啟相應的埠,透過安全規則進行配置。

。/frps -c frps。ini

從遠端打卡而來的內網穿透

(1)家庭區域網192。168。42。36做為frp的客戶端。編輯frpc。ini。

[common]server_addr = 47。92。90。25server_port = 7000[ssh]type = tcplocal_ip = 127。0。0。1local_port = 22remote_port = 6000[web]type = http local_port = 80 custom_domains = www。hacksprit。top

local_port = 80 是本地web服務的埠。

啟動客戶端frpc

。/frpc -c frpc。ini

在frp伺服器端看到如下資訊:

從遠端打卡而來的內網穿透

(2) 透過公司區域網進行測試

首先測試web服務: 在瀏覽器中輸入www。hacksprit。top:7002成功訪問到家庭區域網開啟的服務。

從遠端打卡而來的內網穿透

再測試ssh服務: 在終端輸入命令

ssh -o port=6000 burning@47。92。90。25

最終成功訪問家庭區域網的ssh服務。

從遠端打卡而來的內網穿透

寫在最後

遠端控制服務與此類似,新增相應的配置,就能輕鬆實現遠端桌面控制。

公眾號

更過內容,歡迎關注我的微信公眾號:無情劍客。

從遠端打卡而來的內網穿透