前言
你需要內網穿透嗎?
可能你還不太清楚什麼是內網穿透,我們換個名詞
如何讓兩臺不相鄰網絡中的設備互相通信?
如果我們兩臺設備都在外網上,那麼可以直接通信
如果有一臺在外網上,還是可以通訊
如果兩臺都在內網呢?
為了應對複雜的網絡環境,P2P內網穿透應運而生
其中知名度較高的付費軟硬件有Teamviewer 向日葵 nat123 花生殼 蒲公英路由器
比較知名的免費軟件有ngrok N2N
今天為大家介紹的就是其中的後起之秀,國人出品的FCN p2p內網穿透工具
GitHub項目地址 https://github.com/boywhp/fcn 全中文介紹哦!
應用場景
比如:
我們在家裡有一塊樹莓派做nas,上面存了了一些電影和圖片,我們急需幾個圖片,家裡的寬帶也沒有外網權限,怎麼辦?
公司內網有一臺服務器需要上傳一些文件,但現在不能立刻回到公司,辦公室用的也是普通寬帶,怎麼辦?
FCN支持以下幾種應用場景
1.管理遠程主機
2.接入遠程局域網
3.遠程客戶演示
4.遠程虛擬組網
5.網絡代理池
6.Lan2Lan連接兩個局域網
實際應用
本次我以第一種應用場景來演示FCN的使用,管理遠程主機
模擬環境
我的電腦win10為客戶段 樹莓派為服務端
需求,能完全訪問樹莓派
注意,服務端並不需要外網IP,僅僅是作為安全驗證的存在,選在線時間最長的那個為服務端即可
新建一個新的fcn網絡
fcn_win.exe -服務器 -用戶 -新建
輸入 用戶名 -密碼 -確定 (這裡的用戶名僅僅是為了生成模版文件的hash值,後面我的用戶名改用了SERVER01)
點擊導出 1.txt
記事本複製第3列的密碼hash
打開 linux-embeded/fcn.conf模版文件
替換psk
去除註釋 修改uid [uid]=FCN_6501
去除註釋 修改name
此時文件內容為
[psk]=ce5c7cfd1c1b8becdc4c60f11a2480b75934a5e00192fe39af4d748b52d60df7
[uid]=FCN_6501
[name]=SERVER01
建立服務端
將 linux/fcn_x64 和 fcn.conf上傳至服務器同一目錄下
root@kali:~/桌面/1# lsfcn.conf fcn_x64
給予執行權限 chmod +x fcn_x64
運行
root@kali:~/桌面/1# ./fcn_x64 FCN NAT NIC:eth0FCN SERVER:s1.xfconnect.com
FCN UDP LINK
查看網絡信息
root@kali:~/桌面/1# ip addr3: fcn_eth0:mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500
link/none
inet 10.10.0.1/24 scope global fcn_eth0
valid_lft forever preferred_lft forever
inet6 fe80::b558:37ac:7a0c:9676/64 scope link flags 800
valid_lft forever preferred_lft forever
服務端準備完畢
客戶端
在需要遠程時,運行fcn_win.exe客戶端-添加-fcn,填寫跟上面一樣的參數
點擊連接,第一次運行會提示安裝驅動,確認安裝,左下角會顯示當前連接方式和IP
成功連接對方
驗證
探測對方22端口,確認開啟
[TNT-PC] ➤ telnet 10.10.0.1 22Trying 10.10.0.1...
Connected to 10.10.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4p1 Debian-10Protocol mismatch.
Connection closed by foreign host.
ping
ping 10.10.0.1
正在 Ping 10.10.0.1 具有 32 字節的數據:
來自 10.10.0.1 的回覆: 字節=32 時間<1ms TTL=64來自 10.10.0.1 的回覆: 字節=32 時間=1ms TTL=6410.10.0.1 的 Ping 統計信息:
數據包: 已發送 = 2,已接收 = 2,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 0ms,最長 = 1ms,平均 = 0ms
完全OK
總結
這僅僅是FCN最簡單最常用的一種使用方式,由於FCN是國人開發,因此文檔全部都是中文的,使用簡單方便。
感謝你看完本文,希望對你有幫助!
閱讀更多 9Sblog 的文章