本文共 2729 字,大约阅读时间需要 9 分钟。
dnsmasq版本: dnsmasq 从2.6*版本开始支持DHCPv6功能
参考:
dhcpv6原理:
ifcfg配置参数介绍:
DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=noBOOTPROTO=dhcpDEFROUTE=yesIPV4_FAILURE_FATAL=yesPEERDNS=yesIPV6INIT=yesIPV6to4INIT=yesIPV6FORDING=yesIPV6ADDR=fd00::1/64
/etc/sysconfig/network
NETWORKING_IPV6=yes
read-etherslog-dhcplog-querieslog-facility=/var/log/dnsmasq.logaddn-hosts = /var/lib/cobbler/cobbler_hostsdomain=localdhcp-lease-max=1800server=/local/resolv-file=/etc/dnsmasq.upstreaminterface=eth0cache-size=1024# This is one of the key options. dnsmasq tries to move out servername# and PXE filename from special fields into DHCP options.# Some old clients can't understand those DHCP options, so they# will not be able to boot via PXE without this option enabled.# For example gPXE will not work while iPXE works fine.dhcp-no-override# for many simultaneously DHCPDISCOVVER requests dnsmasq can offer# the same IP for two differnt MAC addresses. This option prevents it# by assigning IPs one by one instead of using hash algorithm.dhcp-sequential-ip#ipv4dhcp-option=6,10.10.1.2dhcp-range=internal,10.10.1.128,10.10.1.254,255.255.255.0,120mdhcp-option=net:internal,option:router,10.10.1.2dhcp-boot=net:internal,pxelinux.0,boothost,10.10.1.2#ipv6dhcp-range=fd00::22, fd00::44, 64, 1henable-ra#domain-needed#resolv-file=/etc/resolv.dnsmasq.conf
检查语法并启动dnsmasq:dnsmasq -test
杀掉测试进程后启动dnsmasq &
dhcp租用信息:/var/lib/dnsmasq/dnsmasq.leasesDEVICE=eth0ONBOOT=yes#禁止NetworkManager管理网卡NM_CONTROLLED=no HWADDR=#USERCTL=noPEERDNS=yesBOOTPROTO=dhcp #只能小写#BOOTPROTO=dhcp6 打开这个只会获取ipv6的地址DHCPV6C=yesIPV6INIT=yes
NETWORKING_IPV6=yesIPV6_AUTOCONF=yes #yes表示自动获取地址
测试:
dhclient -6 -v eth0使用dnsmasq 有状态DHCPv6下发特定租约
上面的方式是dnsmasq按照特定算法给客户端分配ipv4和ipv6地址,如果想给每个客户端分配指定地址,需要增加以下配置。
dhcp-host=id:00:03:01:00:08:00:27:5c:b9:f0, [fd00::22]
修改配置需要重启dnsmasq服务
根据官方描述,dhclient版本为4.1+支持ipv6。为了支持DUID-LL要在/etc/dhcp/dhclient.conf中写入:
ZQ send dhcp6.client-id = concat(00:03:00, hardware);
/etc/sysconfig/network-scripts/ifcfg-eth0跟上面一样 配置/etc/sysconfig/networkNETWORKING_IPV6=yesIPV6_AUTOCONF=no
客户端租约文件/var/lib/dhclient/dhclient6.leases
centos7使用NetworkManager启动dhclient (NM_CONTROLLED=yes )
相关文件在/var/lib/NetworkManager/
查看dhcliemt进程
ps aux | grep dhclient
/sbin/dhclient -d -q -6 -N -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient6-eth0.pid -lf /var/lib/NetworkManager/dhclient6-5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03-eth0.lease -cf /var/lib/NetworkManager/dhclient6-eth0.conf eth0
红色部分为租约信息和配置文件路径。
转载地址:http://gdqci.baihongyu.com/