N2N组建虚拟局域网——筑梦之路

N2N分为SuperNode和EdgeNode,前者被称为超级节点,能够在EdgeNode之间建立握手并为无法直连的EdgeNode中转数据,是网络的核心部分。

ubuntu:

apt install -y n2n

源码编译安装:

sudo git clone https://github.com/meyerd/n2n.git
sudo apt install cmake
cd n2n
sudo mkdir -p build_n2n_v2  # 用于存放编译生成的文件
cd build_n2n_v2
sudo cmake ../n2n_v2
sudo make && sudo make install

supernode的参数比较少,稍微对帮助文档做一下解释:
-l <lport>:用于指定监听的端口
-f:前台运行,不带这个参数会在后台运行
-u <UID>:指定UID,在没有特权时使用
-g <GID>:指定GID,在没有特权时使用
-v:输出比较详细的日志
-h:输出帮助文档

edge的可用参数就比较多了,大概解释一下:
-d <tun device>:指定虚拟网卡名
-a <mode:address>:虚拟网段IP,static模式其实可以不用加那个static: 直接写IP就行。dhcp模式需要写完整,比如“-r -a dhcp:0.0.0.0”
-c <community>:用于区分节点的社区(组)名
-k <encrypt key>:用于加密的字符串
-K <key file>:用于加密的Key文件,和-k不能共存
-s <netmask>:子网掩码
-l <supernode host:port>:supernode的IP:端口,可以指定多个supernode的
-L <local_ip>:添加本地ip以绕过同一nat问题
-i <interval>:NAT打洞间隔
-b:当使用DHCP时定期刷新IP
-p <local port>:指定本地端口
-u <UID>:指定运行所用的UID
-g <GID>:指定运行所用的GID
-f :前台运行
-m <MAC address>:为虚拟网卡指定MAC地址,例如:-m 01:02:03:04:05:06
-M <mtu>:指定edge的MTU接口,默认是1400
-r:启用包转发,当-a指定DHCP时需要启用
-E:接收组播MAC地址
-v:输出比较详细的log
-t:指定用于管理的UDP端口


组建局域网

服务端:

服务端开启一个supernode:

supernode -l 9876 -v -f

如果确认服务能正常启动,可以不传-f,直接在后台运行就行

客户端:

edge -d dege0 -a 192.168.222.162 -c yang_group -k 123456 -l 43.142.98.152:9876

 windows客户端:

Windows的n2n客户端(n2nguien.exe),有免费下载的资源。本地安装后,在连接之前先在Windows的powershell(管理员)中执行以下命令:

netsh advfirewall firewall add rule name= "All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh advfirewall firewall add rule name= "All ICMP V6" protocol=icmpv6:any,any dir=in action=allow

作用是开启v4 和v6 的入站规则

 在安装目录打开cmd,并在其中进行操作,需要管理员权限


edge -a 192.168.222.165 -c yang_group -k 123456 -l 43.142.98.152:9876

在Kali中ping这台Windows,使用组网时设定的ip:

Android客户端:

n2n官方有个github地址可以下载apk客户端:https://github.com/switch-iot/hin2n/releases

ping手机:

kali种adb连接手机:

注意:

n2n总体来说是个非常好用的工具,但是n2n有很多版本,v1、v2、v2s、v3,使用的时候supernode和edge必须是配套使用,不存在高版本兼容低版本的情况。 

参考资料:

https://github.com/ntop/n2n.git 

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/126912150
今日推荐