前言

你需要内网穿透吗?

可能你还不太清楚什么是内网穿透,我们换个名词

如何让两台不相邻网络中的设备互相通信?

如果我们两台设备都在外网上,那么可以直接通信

如果有一台在外网上,还是可以通讯

如果两台都在内网呢?

为了应对复杂的网络环境,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是国人开发,因此文档全部都是中文的,使用简单方便。

感谢你看完本文,希望对你有帮助!