N2N使用DHCP方式获取IP地址

Linux, N2N, 折腾 2018/07/15

介绍一下使用N2N组建虚拟局域网时,采用DHCP方式获取IP地址的方法。

2021-02-27 更新:

最新的n2n已经支持supernode(服务端)自动分配IP地址(Auto IP),也就是supernode自带dhcp的功能

服务端搭建:https://bugxia.com/336.html

Windows下的客户端:https://bugxia.com/357.html

更推荐使用supernode自带的自动分配IP地址功能,以下方法目前也同样可以使用,但仅供折腾学习

之前写的关于N2N的文章,都是基于指定静态IP地址的方法来组网,略微麻烦,并且有可能会出现多个客户端指定同样的IP地址,导致IP冲突。
所以今天尝试了一下使用n2n客户端(edge)的 -a dhcp 参数来使用DHCP方式获取IP地址,省去了手动指定的麻烦。

以下方法均基于CentOS 7.4 64Bits

总结了三个关键点

1.edge(客户端)的dhcp参数的含义

2.dhcp服务器必须为一个edge节点 p.s 可以在中心节点(supernode)上同时跑edge节点

3.做DHCP服务器的edge节点要先启动edge,然后再启动dhcp服务

一、安装DHCP服务并简单配置

yum install dhcp -y

编辑/etc/dhcp/dhcpd.conf文件,更改为:

ddns-update-style interim;
ignore client-updates;
default-lease-time 604800;
max-lease-time 1209600;

subnet 192.168.233.0 netmask 255.255.255.0 {
	option subnet-mask 255.255.255.0;
	range dynamic-bootp 192.168.233.1 192.168.233.255;
}

编辑/etc/sysconfig/dhcpd,添加一行:

DHCPDARGS="edge0"

保存。

二、启动supernode(略)

三、在supernode所在的服务器上启动edge

#参数 -d 为指定的网卡名称,和上面的/etc/sysconfig/dhcpd中保持一致。
#参数 -a 指定一个DHCP服务器地址,和/etc/dhcp/dhcpd.conf中保持一致。
#参数 -v -f 可省略,省略则为后端启动,无法看到调试信息
#其他参数释义见 https://bugxia.com/336.html
edge -d edge0 -r -a 192.168.233.0 -c bugxia -k 123456 -l 0.0.0.0:12345 -v -f

四、启动DHCP服务

systemctl start dhcpd.service

如果报错,使用 journalctl -xe 命令查看错误信息

五、启动其他edge节点

#Linux
edge -d edge0 -r -a dhcp:88.88.88.88 -c bugxia -k 123456 -l 88.88.88.88:12345 -v -f
#Windows
edge.exe -d "本地连接" -r -a dhcp:88.88.88.88 -c bugxia -k 123456 -l 88.88.88.88:12345 -v

注:

命令中的88.88.88.88为supernode节点地址,如果dhcp和supernode不在同一服务器上,则需分别更改为对于地址

-d “本地链接” 为Windows下的Tap网卡的名称,如果只有一个Tap虚拟网卡,则该参数可以省略

 



27 条评论

  • ll 评论于 回复

    linux下自动分配没有问题能够ping通,但是windows下好像分配的不是我设置的IP段无法ping通?请问怎么解决呢

  • rockyd88 评论于 回复

    大佬 这是啥一死
    WARNING: Supernode not responding, now trying 0.0.0.0:12345
    28/Aug/2021 23:53:14 [edge_utils.c:938] Registering with supernode [id: 1/1][0.0.0.0:12345][attempts left 3]
    28/Aug/2021 23:53:14 [edge_utils.c:848] Send REGISTER to 224.0.0.68:1968

  • 尼莫 评论于 回复

    能不能搞个windows的教程,或者搞个视频教程看看,试了一晚上硬是不成功

  • 评论(本站已开启评论回复邮件通知功能,请如实填写邮箱以便及时收到回复)