This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ipv6_opnfv_project:vm_as_router [2015/06/23 00:07] Bin Hu |
ipv6_opnfv_project:vm_as_router [2015/10/16 06:27] (current) Bin Hu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Get a Service VM Running as a vRouter ===== | + | ===== Step 4: Option 2: Get a Service VM Running as a vRouter (SLAAC) ===== |
# Current network setup for IPv6 router VM on local virtualbox setup\\ | # Current network setup for IPv6 router VM on local virtualbox setup\\ | ||
Line 42: | Line 42: | ||
# /etc/sysctl.conf Set sysctl to enable IPv6 forwarding\\ | # /etc/sysctl.conf Set sysctl to enable IPv6 forwarding\\ | ||
net.ipv6.conf.all.forwarding=1\\ | net.ipv6.conf.all.forwarding=1\\ | ||
- | net.ipv6.conf.enp0s8.accept_ra=2\\ | + | net.ipv6.conf.enp0s3.accept_ra=2\\ |
- | net.ipv6.conf.enp0s8.accept_ra_defrtr=1\\ | + | net.ipv6.conf.enp0s3.accept_ra_defrtr=1\\ |
- | net.ipv6.conf.enp0s8.router_solicitations=1\\ | + | net.ipv6.conf.enp0s3.router_solicitations=1\\ |
- | # /etc/dhcpd/dhcpd6.conf\\ | + | # /etc/radvd.conf\\ |
- | # DHCP for IPv6 Server Configuration file.\\ | + | 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\\ | ||
+ | |||
+ | ===== Step 4: Option 2: Get 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)\\ | # Enable RFC 5007 support (same than for DHCPv4)\\ | ||
- | allow leasequery;\\ | + | allow leasequery; |
# IPv6 address valid lifetime\\ | # IPv6 address valid lifetime\\ | ||
# (at the end the address is no longer usable by the client)\\ | # (at the end the address is no longer usable by the client)\\ | ||
# (set to 30 days, the usual IPv6 default)\\ | # (set to 30 days, the usual IPv6 default)\\ | ||
- | default-lease-time 2592000;\\ | + | default-lease-time 2592000; |
# IPv6 address preferred lifetime\\ | # IPv6 address preferred lifetime\\ | ||
Line 61: | Line 150: | ||
# other addresses for new connections)\\ | # other addresses for new connections)\\ | ||
# (set to 7 days, the usual IPv6 default)\\ | # (set to 7 days, the usual IPv6 default)\\ | ||
- | preferred-lifetime 604800;\\ | + | preferred-lifetime 604800; |
# T1, the delay before Renew\\ | # T1, the delay before Renew\\ | ||
# (default is 1/2 preferred lifetime)\\ | # (default is 1/2 preferred lifetime)\\ | ||
# (set to 1 hour)\\ | # (set to 1 hour)\\ | ||
- | option dhcp-renewal-time 3600;\\ | + | option dhcp-renewal-time 3600; |
# T2, the delay before Rebind (if Renews failed)\\ | # T2, the delay before Rebind (if Renews failed)\\ | ||
# (default is 3/4 preferred lifetime)\\ | # (default is 3/4 preferred lifetime)\\ | ||
# (set to 2 hours)\\ | # (set to 2 hours)\\ | ||
- | option dhcp-rebinding-time 7200;\\ | + | option dhcp-rebinding-time 7200; |
# The path of the lease file\\ | # The path of the lease file\\ | ||
- | dhcpv6-lease-file-name "/var/lib/dhcpd/dhcpd6.leases";\\ | + | dhcpv6-lease-file-name "/var/lib/dhcpd/dhcpd6.leases"; |
# Set preference to 255 (maximum) in order to avoid waiting for\\ | # Set preference to 255 (maximum) in order to avoid waiting for\\ | ||
# additional servers when there is only one\\ | # additional servers when there is only one\\ | ||
- | option dhcp6.preference 255;\\ | + | option dhcp6.preference 255; |
# Server side command to enable rapid-commit (2 packet exchange)\\ | # Server side command to enable rapid-commit (2 packet exchange)\\ | ||
- | option dhcp6.rapid-commit;\\ | + | option dhcp6.rapid-commit; |
# The delay before information-request refresh\\ | # The delay before information-request refresh\\ | ||
# (minimum is 10 minutes, maximum one day, default is to not refresh)\\ | # (minimum is 10 minutes, maximum one day, default is to not refresh)\\ | ||
# (set to 6 hours)\\ | # (set to 6 hours)\\ | ||
- | option dhcp6.info-refresh-time 21600;\\ | + | option dhcp6.info-refresh-time 21600; |
# Set this to `interim' when doing ddns updates\\ | # Set this to `interim' when doing ddns updates\\ | ||
- | ddns-update-style interim;\\ | + | ddns-update-style interim; |
- | subnet6 2001:db8:0:2::/64 {\\ | + | subnet6 2001:db8:0:2::/64 { |
- | # Our address range eeff through ffff | + | |
- | range6 | + | |
- | 2001:db8:0:2::1000 | + | |
- | 2001:db8:0:2::1fff; | + | |
option dhcp6.name-servers 2001:db8:0:2::1; | option dhcp6.name-servers 2001:db8:0:2::1; | ||
option dhcp6.domain-search "opnfv.local"; | option dhcp6.domain-search "opnfv.local"; | ||
ddns-hostname = concat(binary-to-ascii(10, 8, "-", leased-address), ".wired"); | ddns-hostname = concat(binary-to-ascii(10, 8, "-", leased-address), ".wired"); | ||
ddns-domainname = "opnfv.local"; | ddns-domainname = "opnfv.local"; | ||
- | }\\ | + | # Our address range 1000 through 1fff |
+ | range6 2001:db8:0:2::1000 2001:db8:0:2::1fff; | ||
+ | } | ||
- | # /etc/radvd.conf\\ | + | # In /etc/sysconfig/network add\\ |
- | interface enp0s8\\ | + | IPV6FORWARDING=yes\\ |
- | {\\ | + | |
- | AdvSendAdvert on; | + | |
- | ### This is the primary "on switch" for RADVd | + | |
- | + | ||
- | #\\ | + | |
- | # These settings determine how offten 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 dhcpd6 and radvd service\\ | + | |
- | systemctl enable dhcpd6.service\\ | + | |
- | systemctl enable radvd\\ | + | |
+ | For reference "How to set up RADVd DHCPv6 and DNS on CentOS 6" refer | ||
+ | [[http://www.percula.info/archives/196]] |