N2N使用DHCP方式获取IP地址

Linux, 折腾 2018/07/15

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

之前写了几篇N2N组虚拟局域网的文章:

1.CentOS下交叉编译Windows N2N服务端及客户端

2.使用N2N搭建虚拟局域网联机游戏

3.Windows下的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虚拟网卡,则该参数可以省略

 



7条评论

  • 安抚 评论于

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

    • Bug侠 评论于

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

  • 冰皇 评论于

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

    • Bug侠 评论于

      @冰皇 dhcpd版本?CentOS 7 ?

      • 冰皇 评论于

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

    评论(*号为必填项)关闭回复