使用 duid 设置 ipv6/dhcp

使用 duid 设置 ipv6/dhcp

我有一个 online.net 专用服务器,运行 fedora 22、KVM 和一些其他东西,所以我目前已使用桥接网络连接对其进行了设置。

我的提供商给了我一个 duid,在这种情况下我使用的是 /56,因为我打算在双栈和一些仅支持 ipv6 的虚拟机上使用其余的分配。Online.net 的文档是这里- 但是它使用传统的 init 脚本,而不是 fedora 使用的样式,我不确定它是如何转换的。我想使用 nmcli 和 dhclient 进行设置,而不影响我当前的设置,该设置是为了让我可以通过桥接连接将 IP 地址传递到 VM。

我已经设置了 dhclient 并且它按照说明运行,但是如何设置界面呢?

当前的网络脚本如下所示 - eth0 是我正在使用的物理连接,br0 是桥接器。我当前的配置如下,我使用 nmcli 进行设置。

[root@Journeymangeek network-scripts]# cat ifcfg-System_eth0

TYPE=Ethernet
NAME="System eth0"
UUID=8043bced-4fb8-4638-9963-345bb93e45cb
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
[root@Journeymangeek network-scripts]# cat ifcfg-br0
DEVICE=br0
STP=no
TYPE=Bridge
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=br0
UUID=2985a05b-1a55-430e-b24c-d8e44ef1d4ac
ONBOOT=yes
DNS1=127.0.0.1
IPADDR=192.0.2.142
PREFIX=24
GATEWAY=192.0.2.1
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
[root@Journeymangeek network-scripts]#

ip addr 输出如下所示

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 0c:c4:7a:4e:69:e0 brd ff:ff:ff:ff:ff:ff
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 0c:c4:7a:4e:69:e1 brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 0c:c4:7a:4e:69:e0 brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.142/24 brd 62.210.108.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:fe4e:69e0/64 scope link
       valid_lft forever preferred_lft forever
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 52:54:00:ed:9c:44 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 500
    link/ether 52:54:00:ed:9c:44 brd ff:ff:ff:ff:ff:ff
7: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 500
    link/ether fe:54:00:00:3f:42 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe00:3f42/64 scope link
       valid_lft forever preferred_lft forever
8: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master virbr0 state UNKNOWN group default qlen 500
    link/ether fe:54:00:4e:d8:9a brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe4e:d89a/64 scope link
       valid_lft forever preferred_lft forever
[root@Journeymangeek network-scripts]#

答案1

online.net 的文档已更新。部分内容为法语,因此可能值得回顾一下我所做的工作。

我打算尝试使用 ipv6 VM,因此我创建了一系列 /56 子网,并为它们生成了 DUID

打开 /etc/dhcp/dhclient6.conf 并在那里添加你的 duid

interface "br0" {
   send dhcp6.client-id 00:00:00:00:00:00:00:00:00:00;
}

如上所述,我使用 br0 作为适配器。按如下方式调整配置脚本

DEVICE=br0
STP=no
TYPE=Bridge
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6ADDR="2001:DB8:2033:101::/64"
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=br0
UUID=2985a05b-1a55-430e-b24c-d8e44ef1d4ac
ONBOOT=yes
DNS1=127.0.0.1
IPADDR=192.0.2.142
PREFIX=24
GATEWAY=192.0.2.1
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

我添加了一行,其中包含我的 IPv6 地址 (2001:DB8:2033:101::) 和我的子网 (/64)

确保 dhclient 正在运行,使用 dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v br0,并告诉您的网络堆栈使用 添加您的 ip 地址 /sbin/ifconfig br0 inet6 add 2001:bc8:2033:101::/64。使用 ping6 进行测试。

相关内容