欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu 搭建 IPv6 DHCP server

程序员文章站 2022-07-12 12:56:04
...

环境 ubuntu 16.04
工具 dhcp-4.3.5.tar.gz

安装isc-dhcp

解压:
tar -xvf dhcp-4.3.5.tar.gz

安装:
cd dhcp-4.3.5
./configure
make
sudo make install

配置文件

  • 创建 /etc/dhcp/dhcpd6.conf 作为配置文件:
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet6 2001:db8:0:1::/64 {
        # Range for clients
        range6 2001:db8:0:1::129 2001:db8:0:1::254;

        # Range for clients requesting a temporary address
        range6 2001:db8:0:1::/64 temporary;

        # Additional options
        option dhcp6.name-servers fec0:0:0:1::1;
        option dhcp6.domain-search "domain.example";

        # Prefix range for delegation to sub-routers
        prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;

        # Example for a fixed host address
        host specialclient {
                host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
                fixed-address6 2001:db8:0:1::127;
        }
}       
  • 创建空文件 /var/db/dhcpd6.leases

配置网卡

通过命令 ifconfig 获取当前网卡接口名称

[email protected]:~/dhcpd$ ifconfig 
ens37     Link encap:Ethernet  HWaddr 00:0c:29:30:b2:bc  
          inet addr:172.17.92.218  Bcast:172.17.92.255  Mask:255.255.255.0
          inet6 addr: fe80::4eda:b06a:3d94:824c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:31827 errors:0 dropped:294 overruns:0 frame:0
          TX packets:622 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3389541 (3.3 MB)  TX bytes:77395 (77.3 KB)
          Interrupt:19 Base address:0x2000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:535 errors:0 dropped:0 overruns:0 frame:0
          TX packets:535 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:38505 (38.5 KB)  TX bytes:38505 (38.5 KB)

这里的 ens37 就是网卡接口名称

配置网卡静态IPv6地址

选择 2001:db8:0:1::1/64 作为 DHCP Server 的固定 IP(与 dhcpd6.conf 中的 subnet6 在同一网段即可)。

sudo ifconfig ens37 inet6 add 2001:db8:0:1::1/64

注:此处 ens37 为上文通过命令 ifconfig 获取的

启动Server

sudo dhcpd -6 -cf /etc/dhcp/dhcpd6.conf ens37

注:此处 ens37 为上文通过命令 ifconfig 获取的

常见问题

如果DHCP Server启动后,仍无法获取IP,可以尝试关闭ubuntu的防火墙

sudo ufw disable
重启

win7 客户机可以获取 IPv6 地址,但无法 ping 通 DHCP Server

因为 isc ipv6 dhcp server 没有下发默认网关导致,可以通过手动添加默认网关解决

参考文档