N2N使用DHCP方式获取IP地址

Linux, N2N, 折腾 2018/07/15

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

2020-08-18 更新:

最新的n2n已经支持supernode(服务端)自动分配IP地址,也就是supernode自带dhcp的功能,静待官方释出稳定版!

以下方法目前也同样适用

之前写的关于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虚拟网卡,则该参数可以省略

 



17条评论

  • pan 评论于

    小黄鸭上的服务器分配IP不能修改规则吗,修改的IP输入不上去呢?

  • admlnos 评论于

    关于win10版Minecraft的通过n2n联机的教程有嘛

  • lucktu 评论于

    edge 充当 dhcp 服务器的功能,目前还有一个 bug,就是在 linux系统下不能正常分配。这个功能已经被我们QQ群友记下,稍后会去修复。

    目前官方即将合并的代码,已经提供了让 supernode 来分配ip的功能,以后 edge 端就可以不设置ip了,比较适合打游戏,不需要知道对方的n2n ip,只要在一个组内,一个网段即可。

    • Bug侠 评论于

      @lucktu 太棒了,又可以折腾了 :大笑: 提前感谢这位大佬

  • ゼニス 時計 口コミ 评论于

    Hey there would you mind shaeing which blog platform you’re working with?
    I’m looking to start my own bllg in the near future but I’m having a tough time
    deciding between BlogEngine/Wordpress/B2evolution and Drupal.
    The reason I ask is because your design seems different then most blogs and I’m looking for something
    unique. P.S Sorry ffor getting off-topic
    but I had to ask!

    Look into mmy homepage; ゼニス 時計 口コミ

  • 安抚 评论于

    问个弱鸡问题- – -f前台运行以后就没办输命令 接下来想输命令操作要怎么弄呢?

    • Bug侠 评论于

      @安抚 保持这个SSH会话窗口,再开一个SSH……

  • 冰皇 评论于

    编辑/etc/sysconfig/dhcpd,添加一行
    这个文件夹我没有啊
    -bash: cd: dhcpd: Not a directory

    • Bug侠 评论于

      @冰皇 dhcpd版本?CentOS 7 ?

      • 冰皇 评论于

        @Bug侠 原来是文件,不用了,谢谢!我已经弄好了

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