RH358管理DHCP和IP地址分配--配置分配IPv6地址

2021/12/29 23:07:53

本文主要是介绍RH358管理DHCP和IP地址分配--配置分配IPv6地址,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

RH358管理DHCP和IP地址分配–配置分配IPv6地址

本章节介绍配置DHCP分配IPv6地址,虽然还是有点鸡肋,但可以作为了解和学习用。

文章目录

    • RH358管理DHCP和IP地址分配--配置分配IPv6地址
      • 1. IPv6地址自动配置概述
      • 2. 查看IPv6链路本地地址分配
      • 3. 描述IPv6无状态地址自动配置
        • 监视路由器通告消息
        • 配置Linux路由器提供SLAAC
      • 4. 实施DHCPv6
        • 部署DHCPv6服务器
        • 配置DHCPv6服务器
        • 预留IPv6地址
        • 生成一个DUID
        • 配置DHCP服务器
        • 验证配置
      • 5. 配置地址自动分配方式
      • 6. 课本练习
        • 1. 准备部署前的前期工作。
        • 2. 设置获取NDP通告。
        • 3. 安装dhcp-server软件包。
        • 4. 请按下表配置DHCPv6服务器。
        • 5. 开启并启动dhcpd6服务,并打开防火墙端口。
        • 6. 按要求创建NetworkManager连接。
        • 7. 按要求为第二个网络接口创建一个NetworkManager连接。
        • 8. 修改DHCPv6服务器的配置,为serverc分配固定的IPv6地址。
        • 9. 在serverc上,停止然后启动dhcp-conn NetworkManager连接。
        • 完成实验。
      • 总结

1. IPv6地址自动配置概述

IPv6有多种配置网络接口的方法。在本节中,将学习其中的两个:

  • 无状态地址自动配置Stateless Address Autoconfiguration (SLAAC)

  • 动态主机配置协议Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

2. 查看IPv6链路本地地址分配

每个IPv6接口自动配置一个带fe80::/64前缀的链路本地单播地址。

在IPv6中,链路本地地址是一种不可路由的地址,系统只能使用它与同一网络链路上的其他系统进行通信。为了保证IP地址的唯一性,链路本地地址的接口ID是按照特定的方法计算的。

可以使用ip addr show命令获取链路本地IPv6地址,示例如下。

[user@host ~]$ ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group
default qlen 1000
link/ether 52:54:00:01:fa:0a brd ff:ff:ff:ff:ff:ff
inet 10.42.0.1/16 brd 10.42.255.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::7418:cf98:c742:3681/64 scope link noprefixroute
valid_lft forever preferred_lft forever

为了操作正确,IPv6依赖于链路本地地址。即使您手动或自动分配一个可路由的IPv6地址,该接口也始终保持该地址。

3. 描述IPv6无状态地址自动配置

链路本地地址不可路由。要部署IPv6基础设施,您需要为您的系统分配路由地址。对于IPv6,有几种配置机制可以自动将IPv6地址属性归到系统中。

无状态地址自动配置(SLAAC)方法依赖路由器为客户端系统提供网络配置。这可以包括IPv6网络的前缀(客户端可以用它来创建地址)和DNS信息。对于这种方法,您的网络团队必须激活并配置路由器上的邻居发现协议(NDP)。

在SLAAC中,当客户端系统启动时,或者当您激活网络连接时,接口使用它的链路本地地址发送一个Router Solicitation消息到ffo2::2组播地址。路由器应答路由器通告消息,提供网络参数。

路由器还定期在子网上发送Router Advertisement路由器通告消息,通知客户端系统它们的存在和信息更新。

路由器通告消息可以提供以下网络配置参数:

  • IPv6前缀

  • DNS服务器的IPv6地址

  • DNS搜索列表

除了这些参数之外,客户端系统总是用路由器的链路本地地址来配置它们的IPv6默认网关。

重要:路由器通告报文没有提供IPv6地址的接口ID;它们只提供网络前缀。客户端系统根据其连接的NetworkManager设置计算其接口ID(默认情况下使用与用于链接本地地址相同的stable-privacy算法)。

监视路由器通告消息

为了排除故障,或者发现路由器正在发布的参数,可以监控网络以获取Router Advertisement消息。

radvd包提供了radvdump实用程序,可以在客户机系统上使用它来捕获Router Advertisement消息。路由器通常以较低的频率发送这些消息,有时每10分钟一条信息。因此,您可能需要等待几分钟,以等待radvdump命令捕获它的第一个消息。

[root@host ~]# radvdump
#
# radvd configuration generated by radvdump 2.17
# based on Router Advertisement from fe80::30d6:2d6b:6e68:dce5
# radvdump命令用来查看发送消息的路由器的链路本地IPv6地址。使用此路由器通告消息进行配置的客户端将使用该IPv6地址作为其默认网关。
# received by interface eth0
#
interface eth0
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag off;
AdvOtherConfigFlag off;

...output omitted...

prefix fde2:6494:1e09:2::/64    # Router Advertisement报文提供IPv6前缀。
{
...output omitted...
}; # End of prefix definition

RDNSS fde2:6494:1e09:2::1    # 递归DNS服务器(RDNSS)部分给出了DNS服务器的IPv6地址。本节是可选的,并不是所有路由器都提供该信息。
{
...output omitted...
}; # End of RDNSS definition

DNSSL example.com example.net   # DNS搜索列表(DNSSL)部分提供了搜索列表。这个部分也是可选的。
{
...output omitted...
}; # End of DNSSL definition
}; # End of interface definition

配置Linux路由器提供SLAAC

如果对路由器使用Linux系统,可以将它们配置为发送路由器通告消息并回复路由器请求消息。

radvd包提供radvd服务,可以通过/etc/radvd.conf配置文件进行配置。配置该服务超出了本课程的范围。更多信息请参考radvd.conf(5)手册页。

4. 实施DHCPv6

路由器通告消息只能提供有限的一组网络配置参数。例如,较旧的路由器通常不(或不能)发布DNS参数。

通过部署DHCPv6服务器,您可以提供这些缺少的参数。您可以通过定义要分发的地址范围来控制客户端IPv6地址的接口ID部分,而不是让客户端系统来计算该部分。也可以为特定的客户端分配固定的IPv6地址。

对于需要严格控制IPv6地址和网络参数的企业网络,使用DHCPv6尤为重要。

与DHCPv6相比,Router Advertisement消息可以提供的网络参数如下表所示

比较路由器通告报文与DHCPv6

注意,DHCPv6不能为客户端提供默认网关。客户端依赖于Router Advertisement消息来获取该信息。

实际上,路由器通告和DHCPv6是协同工作的。路由器通告报文可以提供IPv6前缀和缺省的网关,并可以指示客户端使用DHCPv6来检索其他的网络配置参数。

下面的Router Advertisement消息是用radvdump实用程序收集的,它显示了该配置。

[root@host ~]# radvdump
#
# radvd configuration generated by radvdump 2.17
# based on Router Advertisement from fe80::30d6:2d6b:6e68:dce5  # 客户端系统使用路由器的链路本地IPv6地址作为默认网关。
# received by interface eth0
#

interface eth0
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag on;    # 当设置为on时,AdvManagedFlag参数指示客户端从DHCPv6中检索IPv6地址的接口ID。客户端不再计算地址的这一部分。

AdvOtherConfigFlag on;  # 当设置为on时,AdvotherconfigFlag参数指示客户端从DHCPv6中检索其他网络配置参数,如DNS服务器和搜索列表。
...output omitted...
}; # End of interface definition

部署DHCPv6服务器

DHCPv6服务器所在系统的IPv6地址必须与DHCPv6服务器管理的IPv6地址的前缀相同。

除了DHCPv4外,dhcp-server包还提供DHCPv6服务。

[root@host ~]# yum install dhcp-server

需要在防火墙中增加dhcpv6服务,该服务控制对547/ UDP端口的访问

[root@host ~]# firewall-cmd --permanent --add-service=dhcpv6

[root@host ~]# firewall-cmd --reload

**注意:**DHCPv6的网络通信类似于DHCPv4。一个不同之处在于,所有DHCPv6服务器和中继都在链路本地组播地址ff02::1:2上侦听来自客户端链路本地地址的请求,因为IPv6不支持广播消息。

配置DHCPv6服务器

dhcpd6服务使用/etc/dhcp/dhcpd6.conf配置文件。dhcp-server包中提供了/usr/share/doc/dhcp-server/dhcpd6.conf文件以用作配置示例。可使用该文件作为配置的起点。

以下是一个典型的DHCPv6配置示例。

authoritative;    # 权威指令指示服务器对其管理的IPv6前缀是权威的。

subnet6 fde2:6494:1e09:2::/64 {    # subnet6位置提供子网的详细信息。

	range6 fde2:6494:1e09:2::20 fde2:6494:1e09:2::60;   # 服务器分配该范围内的IPv6地址。

	option dhcp6.name-servers fde2:6494:1e09:2::cc;    # 服务器还提供DNS名称服务器。
	option dhcp6.domain-search "example.net";        # 服务器提供DNS域搜索参数。

	default-lease-time 600;  # 如果客户端没有要求任何特定的租期长度,default-lease-time参数提供了一个以秒为单位的默认值。
	max-lease-time 7200;   # max-lease-time表示服务器可以接受客户端请求的最大租约时间。
}

预留IPv6地址

与用于IPv4地址的DHCPv4一样,您可以为特定的系统分配固定的IPv6地址。然而,与DHCPv4不同的是,DHCPv6不使用客户端MAC地址进行关联;它依赖客户端的DHCP唯一标识符(DUID)。

DHCP将DUID表示为一系列以冒号分隔的字节,如下所示:

默认情况下,NetworkManager根据/etc/machine-id中唯一的机器ID计算DUID

重要:

当您从同一个磁盘映像部署多个虚拟系统时,请确保在第一次引导之后重新生成/etc/machine-id文件。否则,所有这些系统将获得相同的机器ID,因此也将获得相同的DUID。要生成一个新的机器ID,使用以下命令:

[root@host ~]# rm /etc/machine-id
[root@host ~]# systemd-machine-id-setup
[root@host ~]# systemctl restart NetworkManager

没有简单的方法来检索NetworkManager在客户机系统本身上生成的DUID。一种方法是临时配置DHCPv6的客户端网络接口。在DHCPv6服务器,systemd-journald服务捕获客户机的DUID。使用journalctl -u dhcpd6.service命令访问该信息的:

[root@host ~]# journalctl -u dhcpd6.service
...output omitted...
Apr 03 02:52:27 host dhcpd[1992]: Advertise NA: address fde2:6494:1e09:2::60 to
client with duid 00:04:cf:e4:cf:3b:19:63:60:27:08:e8:d5:67:58:e8:57:00 iaid =
1079403426 valid for 600 seconds
...output omitted...

生成一个DUID

作为替代方案,您可以在客户机系统上强制使用DUID,而不是让NetworkManager计算它。您可以使用uuidgen命令,然后重新格式化生成的字符串以生成DUID。

[user@host ~]$ uuidgen
6857c6fd-5b9b-4a51-8840-6f4b23e6c34a
[user@host ~]$ echo 6857c6fd-5b9b-4a51-8840-6f4b23e6c34a | sed -e 's/-//g' -e 's/\(..\)/:\1/g' -e 's/^://'
68:57:c6:fd:5b:9b:4a:51:88:40:6f:4b:23:e6:c3:4a

然后,当您使用nmcli命令创建NetworkManager连接时,使用ipv6.dhcp-duid选项如下:
[root@host ~]# nmcli con add con-name dhcp-conn type ethernet ifname eth0 \
ipv6.dhcp-duid "68:57:c6:fd:5b:9b:4a:51:88:40:6f:4b:23:e6:c3:4a" \
ipv6.method auto

配置DHCP服务器

有了DUID,可以在/etc/dhcp/dhcpd6.conf配置文件中添加一个主机声明,为客户端分配一个固定的IPv6地址。

在以下示例中,服务器总是以00:04:cf:e4:cf:3b:19:63:60:27:08:e8:d5:67:58:e8:57:00 DUID为系统分配地址fde2:6494:1e09:2::0451。

authoritative;

subnet6 fde2:6494:1e09:2::/64 {
...output omitted...
}
host web {
  host-identifier option
	dhcp6.client-id 00:04:cf:e4:cf:3b:19:63:60:27:08:e8:d5:67:58:e8:57:00;
  fixed-address6 fde2:6494:1e09:2::0451;
}

验证配置

在启动dhcpd6 systemd服务之前,请使用dhcpd -t -6 -cf /etc/dhcp/dhcpd6.conf命令测试配置。当检测到错误时,该命令返回一个非零值。

[root@host ~]# dhcpd -t -6 -cf /etc/dhcp/dhcpd6.conf
Internet Systems Consortium DHCP Server 4.3.6
Copyright 2004-2017 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
ldap_gssapi_principal is not set,GSSAPI Authentication for LDAP will not be used
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not
specified in the config file
Config file: /etc/dhcp/dhcpd6.conf
Database file: /var/lib/dhcpd/dhcpd6.leases
PID file: /var/run/dhcpd6.pid

[root@host ~]# echo $?
0

使用systemctl命令启动并启用服务。

[root@host ~]# systemctl enable --now dhcpd6

5. 配置地址自动分配方式

如果需要在客户端配置接口进行自动配置,请使用nmcli命令的ipv6.method参数。

[root@host ~]# nmcli con add con-name dhcp-connection type ethernet \
ifname eth0 ipv6.method auto

要自动配置客户端网络接口,您必须在ipv6.method参数的两个选项中进行选择:

auto

auto方法使用IPv6无状态地址自动配置(SLAAC)。接口发送Router Solicitation消息,然后处理产生的Router Advertisement消息,以设置其IPv6前缀和默认网关。如果Router Advertisement消息中设置了AdvManagedFlag或AdvotherconfiqFlaq参数为on,则客户端发送aDHCPv6请求配置接口ID和其他网络参数。

dhcp

对于dhcp方式,客户端直接发送DHCPv6请求来配置自己的接口。它不发送任何路由器请求消息,也不处理路由器通告消息。这种方法在路由器没有配置NDP时很有用,不推荐使用。请记住,DHCPv6不向客户机系统提供默认网关参数。

6. 课本练习

[student@workstation ~]$ lab dhcp-ipv6config start

在本练习中,您将在servera上部署DHCPv6服务器,为连接到辅助网络的系统提供IPv6网络配置。

DHCPv6服务器管理fde2:6494:1e09:2::/64前缀,将fde2:6494:1e09:2::20到fde2:6494:1e09:2::60范围内的IPv6地址进行分发。它还向客户机系统提供DNS参数。

lab命令将server配置为通过邻居发现协议(NDP)提供前缀和默认网关,并指示客户端查询DHCPv6服务器以获得其他配置。

1. 准备部署前的前期工作。

在部署DHCPv6服务器之前,需要在服务器上配置一个网口,网口地址为静态IPv6,前缀为DHCPv6服务器所管理的IPv6地址。

[root@servera ~]# nmcli con add con-name ge-conn type ethernet ifname eth1 ipv6.addresses fde2:6494:1e09:2::a/64 ipv6.method manual
Connection 'ge-conn' (fab73faa-f7e0-496f-8c14-3de740aa727e) successfully added.

[root@servera ~]# nmcli con up ge-conn
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

[root@servera ~]# ip -6 addr show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fde2:6494:1e09:2::a/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::ba51:41f:5ebe:61b9/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

2. 设置获取NDP通告。

在部署DHCP服务器之前,需要对网络进行监控,获取IPv6路由器定期发送的NDP通告。
[root@servera ~]# yum -y install radvd

使用radvdump命令捕获路由器正在发送的NDP通告。您可能需要等待一分钟才能捕获消息。
[root@servera ~]# radvdump
#
# radvd configuration generated by radvdump 2.17
# based on Router Advertisement from fe80::23d7:22c9:c317:b038
# received by interface eth1
#

interface eth1
{
	AdvSendAdvert on;
	# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
	AdvManagedFlag on;
	AdvOtherConfigFlag on;
	AdvReachableTime 0;
	AdvRetransTimer 0;
	AdvCurHopLimit 64;
	AdvDefaultLifetime 180;
	AdvHomeAgentFlag off;
	AdvDefaultPreference medium;
	AdvSourceLLAddress on;
}; # End of interface definition

3. 安装dhcp-server软件包。

[root@servera ~]# yum -y install dhcp-server

4. 请按下表配置DHCPv6服务器。

DHCPv6服务器参数

若编写有问题,可参考/root/dhcp-ipv6config/dhcpd-1.conf 里面的配置。

[root@servera ~]# vim /etc/dhcp/dhcpd6.conf 
#
# DHCPv6 Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd6.conf.example
#   see dhcpd.conf(5) man page
#
authoritative;

subnet6 fde2:6494:1e09:2::/64 {
  range6 fde2:6494:1e09:2::20 fde2:6494:1e09:2::60;
  option dhcp6.name-servers fde2:6494:1e09:2::d;
  option dhcp6.domain-search "backend.lab.example.com";
  default-lease-time 600;
  max-lease-time 7200;
}

[root@servera ~]# dhcpd -t -6 -cf /etc/dhcp/dhcpd6.conf
[root@servera ~]# echo $?
0

5. 开启并启动dhcpd6服务,并打开防火墙端口。

[root@servera ~]# systemctl enable --now dhcpd6
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpd6.service → /usr/lib/systemd/system/dhcpd6.service.
[root@servera ~]# systemctl status dhcpd6
● dhcpd6.service - DHCPv6 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd6.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-06-16 14:44:45 CST; 15s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 2588 (dhcpd)
   Status: "Dispatching packets..."
    Tasks: 1 (limit: 11251)
   Memory: 2.8M
   CGroup: /system.slice/dhcpd6.service
           └─2588 /usr/sbin/dhcpd -f -6 -cf /etc/dhcp/dhcpd6.conf -user dhcpd -group dhcpd --no-pid
…………

[root@servera ~]# firewall-cmd --permanent --add-service=dhcpv6
success
[root@servera ~]# firewall-cmd --reload
success

6. 按要求创建NetworkManager连接。

为第二个网络接口创建一个NetworkManager连接。该连接必须使用NDP和DHCPv6从运行在服务器上的路由器和运行在服务器上的DHCPv6服务器检索IPv6网络配置参数。

[root@serverb ~]# nmcli con add con-name dhcp-conn type ethernet ifname eth1 ipv6.method auto
Connection 'dhcp-conn' (e48ce158-f6d0-44e5-b2f4-78589150630f) successfully added.
[root@serverb ~]# nmcli con up dhcp-conn
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)

[root@serverb ~]# ip -6 addr show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fde2:6494:1e09:2::60/128 scope global dynamic noprefixroute 
       valid_lft 570sec preferred_lft 345sec
    inet6 fe80::23ae:a48f:bf1b:c17c/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

[root@serverb ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search lab.example.com example.com backend.lab.example.com
nameserver 172.25.250.254
nameserver fde2:6494:1e09:2::d

[root@serverb ~]# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
fde2:6494:1e09:2::60 dev eth1 proto kernel metric 101 pref medium
fe80::/64 dev eth0 proto kernel metric 100 pref medium
fe80::/64 dev eth1 proto kernel metric 101 pref medium
default via fe80::23d7:22c9:c317:b038 dev eth1 proto ra metric 101 pref medium

[root@serverb ~]# ssh student@serverd ip -6 addr show
The authenticity of host 'serverd (172.25.250.13)' can't be established.
ECDSA key fingerprint is SHA256:RcLr4lV8JX3u7iIrNgTu3mxUMUuyoW9+4WGie6luifw.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'serverd,172.25.250.13' (ECDSA) to the list of known hosts.
student@serverd's password: student
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::7456:b637:8a78:4120/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fde2:6494:1e09:2::d/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::23d7:22c9:c317:b038/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

在练习的第二部分中,您将修改DHCPv6服务器的配置,为serverc分配一个固定的IPv6地址。为客户端分配固定的IPv6地址时,DHCPv6通过其DHCP唯一标识符(DUID)来标识该客户端。获取serverc的DUID的一种方法是为DHCPv6临时配置serverc,并在servera上检查DHCPv6服务器的日志。

7. 按要求为第二个网络接口创建一个NetworkManager连接。

[root@serverc ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:00:fa:0c brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:01:fa:0c brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:02:fa:0c brd ff:ff:ff:ff:ff:ff

[root@serverc ~]# nmcli con add con-name dhcp-conn type ethernet ifname eth1 ipv6.method auto
Connection 'dhcp-conn' (9c09b795-c7c7-4ab0-a6ee-3d006c5bc340) successfully added.
[root@serverc ~]# nmcli con up dhcp-conn
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)

[root@serverc ~]# ip -6 addr show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fde2:6494:1e09:2::4f/128 scope global dynamic noprefixroute 
       valid_lft 589sec preferred_lft 364sec
    inet6 fe80::9ba:ae07:513e:3359/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

8. 修改DHCPv6服务器的配置,为serverc分配固定的IPv6地址。

[root@servera ~]# journalctl -u dhcpd6.service | grep duid
Jun 16 15:22:06 servera.lab.example.com dhcpd[2588]: Advertise NA: address fde2:6494:1e09:2::4f to client with duid 00:04:59:ad:fe:7c:d9:cb:58:37:bc:c3:9c:4f:10:44:a8:48 iaid = 713252315 valid for 600 seconds
Jun 16 15:22:07 servera.lab.example.com dhcpd[2588]: Reply NA: address fde2:6494:1e09:2::4f to client with duid 00:04:59:ad:fe:7c:d9:cb:58:37:bc:c3:9c:4f:10:44:a8:48 iaid = 713252315 valid for 600 seconds
回显信息中的IPv6地址为上一步中DHCPv6服务器分配给serverc的地址。

[root@servera ~]# vim /etc/dhcp/dhcpd6.conf 
#
# DHCPv6 Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd6.conf.example
#   see dhcpd.conf(5) man page
#
authoritative;

subnet6 fde2:6494:1e09:2::/64 {
  range6 fde2:6494:1e09:2::20 fde2:6494:1e09:2::60;
  option dhcp6.name-servers fde2:6494:1e09:2::d;
  option dhcp6.domain-search "backend.lab.example.com";
  default-lease-time 600;
  max-lease-time 7200;
}

host serverc {
  host-identifier option dhcp6.client-id 00:04:59:ad:fe:7c:d9:cb:58:37:bc:c3:9c:4f:10:44:a8:48;
  fixed-address6 fde2:6494:1e09:2::0451;
}

[root@servera ~]# dhcpd -t -6 -cf /etc/dhcp/dhcpd6.conf
[root@servera ~]# echo $?
0

[root@servera ~]# systemctl restart dhcpd6

9. 在serverc上,停止然后启动dhcp-conn NetworkManager连接。

确认网口已配置固定IPv6地址。

[root@serverc ~]# nmcli con down dhcp-conn
Connection 'dhcp-conn' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/18)
[root@serverc ~]# nmcli con up dhcp-conn
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/19)

[root@serverc ~]# ip -6 addr show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fde2:6494:1e09:2::451/128 scope global dynamic noprefixroute 
       valid_lft 563sec preferred_lft 338sec
    inet6 fe80::9ba:ae07:513e:3359/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

完成实验。

[student@workstation ~]$ lab dhcp-ipv6config finish

总结

  • 介绍Pv6地址自动配置概述。
  • 如何实施DHCPv6。
  • 配置地址自动分配方式。
  • 若喜欢小女子的文章,顺手点个赞。


这篇关于RH358管理DHCP和IP地址分配--配置分配IPv6地址的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程