尝试在 Ubuntu 12.04 LTS 上仅为 IPv6 启用 ISC DHCP 服务器。
我已经通过以下命令下载并安装了 DHCP 服务器:
$ sudo apt-get install isc-dhcp-server
然后我按照以下资源中的说明进行操作,Ubuntu 维基 DHCPv6,SixXS - 配置 ISC DHCPv6 服务器和Linux IPv6 HOWTO - ISC DHCP 服务器的 IPv6 配置。
因此,通过审查所有这些资源,我似乎需要:
为想要运行 DHCPv6 服务器的接口设置一个静态 IPv6 地址,该地址是 DHCP 范围之外的 IPv6 网络子网的一部分。
编辑 /etc/dhcp/dhcpd6.conf 文件来配置 DHCPv6 范围等。
创建 /var/lib/dhcp/dhcpd6.leases
手动启动 DHCPv6 服务器。
为 eth0 设置静态 IP
$ sudo ifconfig eth0 inet6 add 2001:db8:0:1::128/64
我的 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;
}
创建了 dhcpd6.leases 文件
$ touch /var/lib/dhcp/dhcpd6.leases #Tried with sudo as well
手动启动 DHCPv6 服务器。
尝试使用以下命令启动服务器:
$ sudo dhcp -6 -f -cf /etc/dhcp/dhcpd6.conf eth0
问题是,DHCP 无法启动,运行上面提到的手动启动命令时,dhcpd6.leases 文件会出现附加错误,如下所示。
无法打开 /var/lib/dhcp/dhcpd6.leases 进行附加。
有什么想法我可能会遗漏什么吗?
答案1
看起来像是文件“/var/lib/dhcp/dhcpd6.leases”的简单访问权限。检查它是否由运行 dhcpd 守护进程的同一用户拥有,以及该用户是否具有该文件的写入权限。
答案2
我遇到了类似的问题,只是使用触摸来创建文件,之后它就按预期启动了。
sudo touch /var/lib//dhcp/dhcpd6.leases
答案3
我遇到了同样的问题并通过以下方式解决:
chmod 0777 /var/lib//dhcp/dhcpd6.leases
其他的没有作用。