================================================ Set up a Service VM Running as a vRouter (SLAAC) ================================================ | # Current network setup for IPv6 router VM on local virtualbox setup | # /etc/sysconfig/network-scripts/ifcfg-enp0s3 | # Network interface enp0s3 is IPv4 for public internet access | TYPE="Ethernet" | BOOTPROTO="dhcp" | DEFROUTE="yes" | PEERDNS="yes" | PEERROUTES="yes" | IPV4_FAILURE_FATAL="no" | IPV6INIT="yes" | IPV6_AUTOCONF="yes" | IPV6_DEFROUTE="yes" | IPV6_PEERDNS="yes" | IPV6_PEERROUTES="yes" | IPV6_FAILURE_FATAL="no" | NAME="enp0s3" | UUID="32bad876-680a-4f78-a364-726eae21bfcf" | DEVICE="enp0s3" | ONBOOT="yes" | # /etc/sysconfig/network-scripts/ifcfg-enp0s8 | # Network interface enp0s8 is IPv6 internal interface to provide IPv6 to internal hosts | BOOTPROTO=static | IPV6INIT=yes | IPV6ADDR="2001:db8:0:2::1/64" | NAME=enp0s8 | UUID=e931a806-2f76-425d-b035-d37813b81df5 | DEVICE=enp0s8 | ONBOOT=yes | NM_CONTROLLED=no | # Disable NetworkManager | systemctl disable NetworkManager | # Install dhcp.x86_64, dhcp-common.x86_64, radvd.x86_64 if not already installed | yum install dhcp-common | yum install dhcp | yum install radvd | # /etc/sysctl.conf Set sysctl to enable IPv6 forwarding | net.ipv6.conf.all.forwarding=1 | net.ipv6.conf.enp0s3.accept_ra=2 | net.ipv6.conf.enp0s3.accept_ra_defrtr=1 | net.ipv6.conf.enp0s3.router_solicitations=1 | # /etc/radvd.conf | interface enp0s8 | { | # This is the primary "on switch" for RADVD | AdvSendAdvert on; | # | # These settings determine how often advertisements will be sent every X-Y. | # X and Y are in seconds. | # With these settings you will be sending a advert every 60 seconds | # | MinRtrAdvInterval 60; | MaxRtrAdvInterval 180; | # | # Disable Mobile IPv6 support | # | AdvHomeAgentFlag off; | # | # Here we set our managed flags | # | AdvManagedFlag on; | AdvOtherConfigFlag on; | # | # Enter our IPv6 prefix and CIDR | # | prefix 2001:db8:0:2::/64 | { | AdvOnLink on; | # On link tells the host that the default router is on the same "link" as it is | AdvAutonomous on; | AdvRouterAddr off; | }; | }; # Enable radvd service systemctl enable radvd # In /etc/sysconfig/network add IPV6FORWARDING=yes ================================================================= Set up a Service VM Running as a vRouter (DHCPv6 Stateful Server) ================================================================= | # Current network setup for IPv6 router VM on local virtualbox setup | # /etc/sysconfig/network-scripts/ifcfg-enp0s3 | # Network interface enp0s3 is IPv4 for public internet access | TYPE="Ethernet" | BOOTPROTO="dhcp" | DEFROUTE="yes" | PEERDNS="yes" | PEERROUTES="yes" | IPV4_FAILURE_FATAL="no" | IPV6INIT="yes" | IPV6_AUTOCONF="yes" | IPV6_DEFROUTE="yes" | IPV6_PEERDNS="yes" | IPV6_PEERROUTES="yes" | IPV6_FAILURE_FATAL="no" | NAME="enp0s3" | UUID="32bad876-680a-4f78-a364-726eae21bfcf" | DEVICE="enp0s3" | ONBOOT="yes" | # /etc/sysconfig/network-scripts/ifcfg-enp0s8 | # Network interface enp0s8 is IPv6 internal interface to provide IPv6 to internal hosts | BOOTPROTO=static | IPV6INIT=yes | IPV6ADDR="2001:db8:0:2::1/64" | NAME=enp0s8 | UUID=e931a806-2f76-425d-b035-d37813b81df5 | DEVICE=enp0s8 | ONBOOT=yes | NM_CONTROLLED=no | # Disable NetworkManager | systemctl disable NetworkManager | # Install dhcp.x86_64, dhcp-common.x86_64, radvd.x86_64 if not already installed | yum install dhcp-common | yum install dhcp | yum install radvd | # /etc/sysctl.conf Set sysctl to enable IPv6 forwarding | net.ipv6.conf.all.forwarding=1 | net.ipv6.conf.enp0s3.accept_ra=2 | net.ipv6.conf.enp0s3.accept_ra_defrtr=1 | net.ipv6.conf.enp0s3.router_solicitations=1 | # /etc/dhcp/dhcpd6.conf | # DHCP for IPv6 Server Configuration file. | # Enable RFC 5007 support (same than for DHCPv4) allow leasequery; | # IPv6 address valid lifetime | # (at the end the address is no longer usable by the client) | # (set to 30 days, the usual IPv6 default) | default-lease-time 2592000; | # IPv6 address preferred lifetime | # (at the end the address is deprecated, i.e., the client should use | # other addresses for new connections) | # (set to 7 days, the usual IPv6 default) | preferred-lifetime 604800; | # T1, the delay before Renew | # (default is 1/2 preferred lifetime) | # (set to 1 hour) | option dhcp-renewal-time 3600; | # T2, the delay before Rebind (if Renews failed) | # (default is 3/4 preferred lifetime) | # (set to 2 hours) | option dhcp-rebinding-time 7200; | # The path of the lease file | dhcpv6-lease-file-name "/var/lib/dhcpd/dhcpd6.leases"; | # Set preference to 255 (maximum) in order to avoid waiting for | # additional servers when there is only one | option dhcp6.preference 255; | # Server side command to enable rapid-commit (2 packet exchange) | option dhcp6.rapid-commit; | # The delay before information-request refresh | # (minimum is 10 minutes, maximum one day, default is to not refresh) | # (set to 6 hours) option dhcp6.info-refresh-time 21600; | # Set this to `interim` when doing ddns updates | ddns-update-style interim; | | subnet6 2001:db8:0:2::/64 { | option dhcp6.name-servers 2001:db8:0:2::1; | option dhcp6.domain-search "opnfv.local"; | ddns-hostname = concat(binary-to-ascii(10, 8, "-", leased-address), ".wired"); | ddns-domainname = "opnfv.local"; | # Our address range 1000 through 1fff | range6 2001:db8:0:2::1000 2001:db8:0:2::1fff; | } | | # In /etc/sysconfig/network add | IPV6FORWARDING=yes For reference, refer to `How to set up RADVd DHCPv6 and DNS on CentOS 6`_. .. _`How to set up RADVd DHCPv6 and DNS on CentOS 6`: http://www.percula.info/archives/196