由于有些vps商家免费,但是不给公网ip,或者是局域网内的家庭小主机,想要远程访问,但是又不想使用frp这种类似内网穿透的方式一个个设置端口,想灵活处理每个内网机器,那么你就需要好好看看本文。。。
介绍
其实内网互联有很多软件可以实现,wireguard,zerotier都是比较好的软件。
但是我不用,我用n2n,为什么用它,因为巧妙,简单,大道至简就这么简单,一个二进制,就能解决所有问题,而且直连可靠性高!
![图片[1]-N2N自建局域网实现公网ip实现互联 - 主机优选-主机优选](https://img.hostprefer.com/upload/2022/07/06/1c50b655f36d5.png)
使用方法
客户端:https://github.com/lucktu/n2n
网友编译好的,用起来比较方便,当然也可以自己编译
但是小白就免了吧,编译需要好好看看官方文档
软件分为supernode,和edge
supernode是作为握手服务,以及如果不能顺利直连,可能需要supernode去转发(这种比较耗中心节点流量,建议大家自己搞个中心节点,网上分享的都不很稳定!)
supernode
我们来启动一个supernode中心节点
/root/n2n/supernode -p 10086-f
这样我们就启动成功了一个中心节点,监听的时tcp和udp的10086端口
edge
节点1
edge -c testnetwork -k 你的密码-a 内网ip地址 -l supernode节点服务器ip:端口 -f
例如
edge -c testnetwork -k mypass -a 10.0.0.1 -l 1.1.1.1:10086 -f
这样就启动了一个节点,ip地址为10.0.0.1
节点2
edge -c testnetwork -k mypass -a 10.0.0.2 -l 1.1.1.1:10086 -f
这样就成功启动了一个小的网络,里面分别是两个ip地址10.0.0.1和10.0.0.2
测试
可以互相ping一下
正常情况下可以ping通则说明网络正常
常见问题
WARNING: supernode not responding, now trying
- supernode(服务器)没有正常运行
- 如果是自建服务器,检查防火墙是否放行端口或关闭(阿里云、腾讯云等还需放行安全组)
- edge和supernode版本不匹配
- 触发本站免费及捐赠服务器的大流量屏蔽机制
ERROR: authentication error, MAC or IP address already in use or not released yet by supernode
- 等待2分钟左右,supernode会释放占用的MAC和IP,然后edge会自动重新分配地址
- 服务端使用 -M 参数启动
- 强制结束进程(SIGKILL)则会导致edge没来得及向supernode报告,所以需要在结束edge进程前,发送终止信号(SIGINT、SIGTERM),对应Windows命令行下则需以Ctrl+C结束
连接正常,但ping不通对方
- 此问题大概率是Windows系统自带防火墙的问题,先尝试关闭
启动后,ping自己的虚拟IP不通
- 检查是否给予edge(客户端)管理员权限,导致程序无法给虚拟网卡分配IP
- 检查本机是否存在多张TAP网卡(比如TeamView就可能会和N2N虚拟网卡冲突),使用 -d “网卡名称” 来指定EasyN2N使用的网卡
UPnP、NAT-PMP……failed
no IGD UPnP device found on the network
- 检查路由器是否打开UPnP开关
- 若无法操作UPnP开关,则此条提示不影响使用(可以通过附加参数
--no-port-forwarding
关闭)
连接正常,但容易中断
- Windows下的N2N数据传输(直连或中转)均通过UDP传输,在部分情况下,运营商会对UDP数据进行一定的限制, 解决方法:1. 伪装UDP传输(需自建服务器)2. 通过Linux中转(Linux支持N2N的TCP传输)
- 同时也需要考虑服务器的稳定性(如果无法直连,尽量选择低延迟服务器)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容