N2N自建局域网实现公网ip实现互联

由于有些vps商家免费,但是不给公网ip,或者是局域网内的家庭小主机,想要远程访问,但是又不想使用frp这种类似内网穿透的方式一个个设置端口,想灵活处理每个内网机器,那么你就需要好好看看本文。。。

介绍

其实内网互联有很多软件可以实现,wireguard,zerotier都是比较好的软件。

但是我不用,我用n2n,为什么用它,因为巧妙,简单,大道至简就这么简单,一个二进制,就能解决所有问题,而且直连可靠性高!

图片[1]-N2N自建局域网实现公网ip实现互联 - 主机优选-主机优选
原理

使用方法

客户端: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
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容