使用lanproxy自建內網穿透及遠程桌面連接內網


使用lanproxy自建內網穿透及遠程桌面連接內網

搭建內網穿透

GitHub原文介紹:lanproxy是一個將局域網個人電腦、服務器代理到公網的內網穿透工具,支持tcp流量轉發,可支持任何tcp上層協議(訪問內網網站、本地支付接口調試、ssh訪問、遠程桌面...)。目前市面上提供類似服務的有花生殼、TeamView、GoToMyCloud等等,但要使用第三方的公網服務器就必須為第三方付費,並且這些服務都有各種各樣的限制,此外,由於數據包會流經第三方,因此對數據安全也是一大隱患。

准備

  • 一台公網服務器,用來運行服務端 proxy-serve
  • 一台內網電腦,用來運行客戶端 proxy-client
  • 代碼包,訪問github地址下載源碼構建或者直接訪問發布包下載地址

本示例的環境為Centos&win10,下載了如下的軟件包

 

請選擇和自己操作系統對應的發行包,服務器文件存放位置請參看Linux目錄結構及命名規范

下載服務端至服務器

直接下載服務端至服務器

cd /opt wget https://file.nioee.com/d/2e81550ebdbd416c933f/files/?p=/proxy-server-0.1.zip -O proxy-server-0.1.zip unzip proxy-server-0.1.zip 復制代碼

或者也可以下載至本地通過rz上傳至服務器

yum install lrzsz
cd /opt rz 復制代碼

rz命令會彈出文件選擇框

 

安裝JAVA依賴

#卸載服務器自帶的java版本 rpm -e --nodeps `rpm -qa | grep java` #查看yum中的java版本 yum search java | grep jdk #選擇具體的版本進行安裝 yum install java-1.8.0-openjdk.x86_64 #默認安裝目錄 查看安裝的具體版本號 cd /usr/lib/jvm/ #復制安裝路徑,本示例目錄如下 pwd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64 #配置JAVA_HOME環境變量 vim /etc/profile #在文件末尾添加如下配置,注意替換實際的安裝路徑 #--------------java JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64 JRE_HOME=$JAVA_HOME/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH #--------------end #刷新環境變量 source /etc/profile 復制代碼

修改服務端配置參數

#修改服務端的配置文件,位於服務端conf目錄下 vi /opt/proxy-server-0.1/conf/config.properties #根據實際情況進行修改 #---------------config.properties server.bind=0.0.0.0 #與代理客戶端通信端口 server.port=8001 #ssl相關配置 server.ssl.enable=true server.ssl.bind=0.0.0.0 server.ssl.port=8002 server.ssl.jksPath=test.jks server.ssl.keyStorePassword=123456 server.ssl.keyManagerPassword=123456 #這個配置可以忽略 server.ssl.needsClientAuth=false #WEB在線配置管理相關信息 config.server.bind=0.0.0.0 config.server.port=8003 config.admin.username=admin config.admin.password=admin #---------------end 復制代碼

啟動服務端

#啟動腳本位於服務端bin目錄下
cd /opt/proxy-server-0.1/bin
#運行sh腳本
./start.sh
#查看服務是否啟動,下面通過查看端口判斷是否啟動
netstat -tnlp
復制代碼

設置服務端自啟動和客戶端自啟動

#創建服務的service文件 vi /usr/lib/systemd/system/penetration.service #加入如下配置 #---------------penetration.service [Unit] Description=Intranet Penetration After=network.target [Service] Type=forking ExecStart=/opt/proxy-server-0.1/bin/startup.sh #ExecReload=/opt/proxy-server-0.1/bin/reload.sh ExecStop=/opt/proxy-server-0.1/bin/stop.sh [Install] WantedBy=multi-user.target #---------------end #如果剛才已經運行了startup.sh腳本,請先停止該腳本 cd opt/proxy-server-0.1/bin ./stop.sh #啟動服務 systemctl start penetration #設置開機自動啟動 systemctl enable penetration #如果需要取消開機啟動則輸入以下命令 systemctl disable penetration 復制代碼

啟動客戶端

瀏覽器訪問服務端管理頁面,http://公網IP:配置文件下的config.server.port/,進入如下頁面

生成一個供客戶端注冊的隨機碼 查看客戶端的當前狀態 注冊客戶端,根據自己的操作系統執行相應啟動命令,並替換對應參數

 

#--------------普通端口連接 # mac 64位 nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY & # linux 64位 nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY & # windows 64 位 ./client_windows_amd64.exe -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY #--------------end #--------------SSL端口連接 # mac 64位 nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true & # linux 64位 nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true & # windows 64 位 ./client_windows_amd64.exe -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true #--------------end 復制代碼

啟動后根據輸出日志判斷是否注冊成功,或者通過服務端后台查看客戶端的當前狀態

 

到此內網穿透已經搭建完畢,下面演示配置端口映射的步驟

嘗試遠程桌面連接到內網電腦

本示例演示的是對window遠程桌面所用端口3389進行轉發,達到不借助TeamViewer等遠程軟件控制內網電腦,請先保證內網的電腦已開啟允許遠程連接開關

進入服務端后台,在配置管理菜單下選擇創建的客戶端,創建對該客戶端的端口映射

 

命令行輸入mstsc喚出遠程桌面連接,輸入公網地址和內網電腦的登錄賬號

 

——————————————————————————————————————————————————————————————

轉載地址:https://juejin.im/post/6868556181451833358#comment

感謝原作者:

xinjiangyuangit


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM