老年人教程,使用N2N进行异地组网

本文介绍了N2N用于异地组网的原理和使用方法,包括超级节点(SuperNode)与边缘节点(Edge)的部署,适用于在外访问家用NAS、远程调试等场景。通过N2N,不同局域网的设备可以实现P2P通信,即使在没有公网IP的情况下。详细步骤涵盖Linux和Windows系统的设置,并提到了常见问题和解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 、 简介

1.为什么用N2N ?

在一般情况下, 两台机器如果是处在同一个局域网下,那么这两台机器可以通过各自的内网IP进行通信。 但是,在某些情况下你可能希望两个不同局域网的机器进行通信 , 此时 N2N 就能给我们带来一个简单快捷的解决方案,N2N 通过一些特殊的技巧,让不同网段的机器能够进行P2P( 点对点 peer-to-peer ) 通信。
这里列举一些可能的使用场景

  • 在外访问家用NAS做数据共享
  • 在家访问公司的内部网络
  • 开发人员远程调试现场环境

N2N 这个项目被 官方搁置了几年的时间,但这项目仍然被很多人使用,于是官方在其网站表示恢复了对N2N项目的开发和维护( 2018年8月17日 )


  1. N2N做了什么?

那么,N2N 是怎么工作的呢? N2N是怎么样让两台不在同一网段的机器相互找到对方的。
在一般情况下 , 两台没有公网IP的机器是没有办法直接通过IP地址去找到对方的,这时候如果有一台拥有公网IP的服务器的话,那么事情就会变得很简单。

首先 ,两台处于内部网络的机器 主动去跟拥有公网IP的机器进行连接 , 然后向处于公网的服务器进行“注册登记”, 留下自己的连接方式 ,告诉公网服务器,如果有其它机器要找我,就把这些信息给它,它就知道怎么能够找到我了。 当然,出于安全考虑,这些想要相互连接的机器会留下一些验证口令, 只有口令正确匹配,它们才能够正确的组网。

以上的描述只是帮助你去理解N2N做的事情,但在实际的实现中,边缘节点的连接会有更复杂的策略,而且项目仍然在不断的更新中,如需要继续深入研究,可以查看N2N的源码(https://github.com/ntop/n2n)


1.1. N2N 的一些相关概念

要通过N2N组网技术实现PLC(可编程逻辑控制器)的远程连接,可以利用N2N的虚拟局域网能力,将异地的PLC设备和远程调试设备置于同一个虚拟网络中。以下是一个基于N2N V3版本的配置方法,适用于Linux服务端和Windows客户端的组合。 ### 1. N2N Supernode(核心节点)配置(Linux) N2N的Supernode是整个组网的核心节点,负责边缘节点(Edge Node)之间的握手和通信协调。需要在公网服务器上部署Supernode。 #### 安装步骤: ```bash # 克隆N2N V3版本代码 git clone https://github.com/ntop/n2n -b 3.0-stable cd n2n # 生成构建文件 ./autogen.sh # 配置编译环境 ./configure # 编译并安装 make && make install ``` #### 启动Supernode: ```bash # 启动Supernode并监听指定端口(例如1234) supernode -l 1234 ``` ### 2. N2N Edge Node(边缘节点)配置(PLC端) PLC设备通常运行在嵌入式系统或工业控制计算机上,可能需要将N2N编译为适合其平台的二进制文件。以下以Linux系统为例。 #### 安装N2N Edge: ```bash # 在PLC设备所在系统中编译安装N2N cd n2n make && make install ``` #### 启动Edge节点并连接Supernode: ```bash # 假设Supernode的IP为公网IP,例如1.2.3.4,端口为1234,虚拟网络名称为myplcnet,静态IP为192.168.10.10 edge -d edge0 -a 192.168.10.10 -c myplcnet -k mypassword -l 1.2.3.4:1234 -s 255.255.255.0 ``` ### 3. N2N Edge Node(远程调试端)配置(Windows客户端) 在远程调试端,例如一台运行Windows的PC,需要配置N2N客户端以加入同一虚拟网络。 #### 下载并安装N2N V3 Windows版本: 可以从N2N的GitHub发布页面下载适用于Windows的预编译包,或者自行编译。 #### 启动Edge客户端: ```cmd edge.exe -d edge0 -a 192.168.10.20 -c myplcnet -k mypassword -l 1.2.3.4:1234 -s 255.255.255.0 ``` ### 4. 配置PLC远程访问 当PLC设备和远程调试设备成功加入N2N网络后,它们将处于同一个虚拟子网中(如192.168.10.x)。此时,远程调试端可以通过虚拟IP地址直接访问PLC设备。 #### 示例:远程访问PLC - PLC设备的虚拟IP为 `192.168.10.10` - 远程调试端使用 `192.168.10.20` - 在远程调试端使用PLC编程软件(如TIA Portal、GX Works等)连接 `192.168.10.10` 即可进行远程调试和控制。 ### 5. 防火墙与端口开放 - 确保Supernode所在的公网服务器开放UDP端口(用于N2N通信)。 - 确保PLC设备和远程调试端能够访问Supernode的IP和端口。 ### 6. 安全性建议 - 使用强密码(`-k` 参数)来加密N2N网络。 - 如果可能,启用N2N的加密功能以增强安全性。 - 对于生产环境,建议使用静态IP分配以避免IP冲突。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值