Setting up ipv6/dhcp with duid

2

I've got an online.net dedicated server which runs fedora 22, KVM and a few other things, so I currently have it setup with a bridged network connection.

My provider has given me a duid, and I'm using a /56 in this case, since I intend to use the rest of my allocations on a dualstack, and some ipv6 only VMs. Online.net's documentation is here - however it uses a traditional init script rather than the style fedora uses and I'm not sure how it translates. I'd like to set this up using nmcli and dhclient, without affecting my current setup, which is set up so that I can passthrough a IP address to a VM through the bridged connection.

I've got dhclient setup and working as per instructions but how do I set up the interface?

The current network scripts look like this - eth0 is the physical connection I'm using and br0 is the bridge. My current configuration is as follows and I used nmcli to set it up.

[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 output looks like this

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]#

Journeyman Geek

Posted 2015-07-26T00:42:40.553

Reputation: 119 122

Looks like online.net updated instructions. I'll try it over the weekend and self post an answer. – Journeyman Geek – 2015-08-04T02:59:49.850

Answers

1

online.net's documentation's been updated. Its partially in french so its probably worth going through what I did.

I'm planning on messing with ipv6 VMs so I ended up creating a series of /56 subnets, and generating DUIDs for them

Open up /etc/dhcp/dhclient6.conf and add your duid there

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

As mentioned, I'm using br0 as my adaptor. Adjust the config script as follows

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

I've added a line with my IPv6 address (2001:DB8:2033:101::) and my subnet (/64)

Make sure dhclient is running with dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v br0 and tell your network stack to add your ip address with /sbin/ifconfig br0 inet6 add 2001:bc8:2033:101::/64. Test with ping6.

Journeyman Geek

Posted 2015-07-26T00:42:40.553

Reputation: 119 122