ubuntu 搭建 IPv6 DHCP server

环境 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 获取当前网卡接口名称

test@test-virtual-machine:~/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 没有下发默认网关导致,可以通过手动添加默认网关解决

参考文档

### 如何在Ubuntu系统上安装配置DHCP服务器 #### 安装ISC-DHCP-Server软件包 为了在Ubuntu上建立并运行一个功能齐全的DHCP服务器,首先需要通过APT包管理器来获取`isc-dhcp-server`程序。这可以通过执行如下命令完成: ```bash sudo apt update && sudo apt install isc-dhcp-server -y ``` 此操作将会更新本地仓库索引并将必要的文件下载至操作系统中[^1]。 #### 配置网络接口 一旦安装完毕,则需指定哪个网卡将用于分发IP地址给客户端设备。通常情况下,这是指连接内部局域网的那一侧。为此目的,在终端里键入以下指令可以手动设定特定网口参数(此处假设目标网卡名为enp0s3): ```bash sudo ip addr add 192.168.1.1/24 dev enp0s3 sudo ip link set dev enp0s3 up ``` 上述例子设定了静态IPv4地址为192.168.1.1,并激活该端口以便准备接收请求[^2]。 #### 编辑主配置文件 接下来要编辑位于`/etc/dhcp/dhcpd.conf`路径下的全局设置文档。这里定义了诸如租期时间长度、可分配范围以及默认网关等重要选项。例如: ```conf default-lease-time 600; max-lease-time 7200; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; option routers 192.168.1.1; } ``` 这段脚本说明了子网掩码下可供出租的一系列连续IP数值区间,同时也告知客户机其应使用的路由表项。 #### 设置服务启动行为 最后一步涉及调整`/etc/default/isc-dhcp-server`内的变量声明部分,用来表明实际负责处理动态主机协议事务的具体物理或虚拟适配器名称列表。比如写成这样: ```plaintext INTERFACESv4="enp0s3" ``` 这样做能够确保每当计算机重启时都能自动开启相应的守护进程[^4]。 #### 控制与验证服务状态 完成了以上准备工作之后,就可以尝试初次启动新部署的服务实例了。利用Systemd工具集中的控制单元轻松实现这一点: ```bash sudo systemctl start isc-dhcp-server sudo systemctl enable isc-dhcp-server sudo systemctl status isc-dhcp-server ``` 这些命令分别代表立即激活当前会话期间的有效性、注册开机自启策略以及查询最近一次调用的结果摘要信息[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值