Difference between revisions of "Stateless Autoconfiguration IPv6 Cisco IOS"
m (→Turning off Periodically send Router Advertisement) |
m (→Example) |
||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
See [[ICMPv6]] and [[IPv6 Stateless Autoconfiguration]] for background information. | See [[ICMPv6]] and [[IPv6 Stateless Autoconfiguration]] for background information. | ||
=Advertised Prefix= | =Advertised Prefix= | ||
+ | For stateless autoconfiguration to work properly, the advertised prefix length in RA messages must always be 64 bits. | ||
<source lang=cli> | <source lang=cli> | ||
− | + | R1#<input>show ipv6 interface fastEthernet 0/1 prefix</input> | |
IPv6 Prefix Advertisements FastEthernet0/1 | IPv6 Prefix Advertisements FastEthernet0/1 | ||
Codes: A - Address, P - Prefix-Advertisement, O - Pool | Codes: A - Address, P - Prefix-Advertisement, O - Pool | ||
Line 9: | Line 10: | ||
PD default [LA] Valid lifetime 2592000, preferred lifetime 604800 | PD default [LA] Valid lifetime 2592000, preferred lifetime 604800 | ||
− | AD 2001:16D8:DD85:4::/64 [LA] Valid lifetime 2592000, preferred lifetime 604800 | + | <notice>AD 2001:16D8:DD85:4::/64</notice> [LA] Valid lifetime 2592000, preferred lifetime 604800 |
</source> | </source> | ||
+ | |||
=Showing Connected Routers Advertising= | =Showing Connected Routers Advertising= | ||
<source lang=cli> | <source lang=cli> | ||
− | + | R1#<input>show ipv6 routers</input> | |
Router FE80::128C:CFFF:FE96:F76F on Vlan1, last update 0 min | Router FE80::128C:CFFF:FE96:F76F on Vlan1, last update 0 min | ||
Hops 64, Lifetime 1800 sec, AddrFlag=0, OtherFlag=0, MTU=1500 | Hops 64, Lifetime 1800 sec, AddrFlag=0, OtherFlag=0, MTU=1500 | ||
Line 33: | Line 35: | ||
*Lifetime range: 0 - 9000 seconds | *Lifetime range: 0 - 9000 seconds | ||
<source lang=cli> | <source lang=cli> | ||
− | + | R1(config)#<input>int fa0/1</input> | |
− | + | R1(config-if)#<input>do show ipv6 int fa0/1</input> | |
FastEthernet0/1 is up, line protocol is up | FastEthernet0/1 is up, line protocol is up | ||
IPv6 is enabled, link-local address is FE80::21B:D4FF:FE0F:8CA3 | IPv6 is enabled, link-local address is FE80::21B:D4FF:FE0F:8CA3 | ||
Line 42: | Line 44: | ||
ND advertised default router preference is Medium | ND advertised default router preference is Medium | ||
Hosts use stateless autoconfig for addresses. | Hosts use stateless autoconfig for addresses. | ||
− | + | R1(config-if)#<input>ipv6 nd ra lifetime 0</input> | |
− | + | R1(config-if)#<input>do show ipv6 int fa0/1</input> | |
FastEthernet0/1 is up, line protocol is up | FastEthernet0/1 is up, line protocol is up | ||
IPv6 is enabled, link-local address is FE80::21B:D4FF:FE0F:8CA3 | IPv6 is enabled, link-local address is FE80::21B:D4FF:FE0F:8CA3 | ||
Line 51: | Line 53: | ||
Hosts use stateless autoconfig for addresses. | Hosts use stateless autoconfig for addresses. | ||
</source> | </source> | ||
− | ==Router Preference== | + | ==Default Router Preference (DRP)== |
− | The Preference of a Router can be set as Low, Medium or High. The information is carried in the [[IPv6 Stateless Autoconfiguration]] [[ICMP]] Type 134 message. | + | The Preference of a Default Router can be set as Low, Medium or High. The information is carried in the [[IPv6 Stateless Autoconfiguration]] [[ICMP]] Type 134 message. |
<source lang=cli> | <source lang=cli> | ||
− | + | R1(config-if)#<input>ipv6 nd router-preference ?</input> | |
High High default router preference | High High default router preference | ||
Low Low default router preference | Low Low default router preference | ||
Medium Medium default router preference | Medium Medium default router preference | ||
</source> | </source> | ||
+ | ;Notice | ||
+ | :The Host need to understand and interpret the DRP bits. | ||
+ | |||
==Router Advertisment Interval== | ==Router Advertisment Interval== | ||
Router Advertisements are default sent every 200 seconds. | Router Advertisements are default sent every 200 seconds. | ||
Line 99: | Line 104: | ||
When using [[DHCPv6 Cisco IOS|DHCPv6]] you send a Router Advertisment with the M-bit (Managed-Config-Flag) set. See [[ICMPv6]]. This will tell the host to use [[DHCPv6 Cisco IOS|DHCPv6]]. | When using [[DHCPv6 Cisco IOS|DHCPv6]] you send a Router Advertisment with the M-bit (Managed-Config-Flag) set. See [[ICMPv6]]. This will tell the host to use [[DHCPv6 Cisco IOS|DHCPv6]]. | ||
<source lang=cli> | <source lang=cli> | ||
− | + | R1(config)#<input>int fa0/1</input> | |
− | + | R1(config-if)#<input>ipv6 nd managed-config-flag</input> | |
− | + | R1(config-if)#<input>do show ipv6 int fa0/1</input> | |
FastEthernet0/1 is up, line protocol is up | FastEthernet0/1 is up, line protocol is up | ||
<notice>...OUTPUT OMITTED...</notice> | <notice>...OUTPUT OMITTED...</notice> | ||
Line 113: | Line 118: | ||
It is possible to use Stateless Autoconfiguration to configure IPv6 address and Default Gateway and using [[DHCPv6 Cisco IOS|DHCPv6]] to configure other configuration fx. DNS server. The Router will send Router Advertisements with the O-Bit (other-config-flag) set. | It is possible to use Stateless Autoconfiguration to configure IPv6 address and Default Gateway and using [[DHCPv6 Cisco IOS|DHCPv6]] to configure other configuration fx. DNS server. The Router will send Router Advertisements with the O-Bit (other-config-flag) set. | ||
<source lang=cli> | <source lang=cli> | ||
− | + | R1(config)#<input>int fa0/1</input> | |
− | + | R1(config-if)#<input>ipv6 nd other-config-flag</input> | |
IPv6(config-if)#<input>do show ipv6 int fa0/1</input> | IPv6(config-if)#<input>do show ipv6 int fa0/1</input> | ||
FastEthernet0/1 is up, line protocol is up | FastEthernet0/1 is up, line protocol is up | ||
Line 122: | Line 127: | ||
Hosts use DHCP to obtain other configuration. | Hosts use DHCP to obtain other configuration. | ||
</source> | </source> | ||
− | =Turning off Router Advertisement= | + | =Turning off Periodically send Router Advertisement= |
+ | ;Notice: The Router will still respond to "Router Solicitation" packets and inform the Node of it's prefix on that link. | ||
+ | <source lang=cli> | ||
+ | R1(config)#<input>int fa0/1</input> | ||
+ | R1(config-if)#<input>ipv6 nd ra suppress</input> | ||
+ | R1(config-if)#<input>do show ipv6 int fa0/1</input> | ||
+ | <notice>...OUTPUT OMITTED...</notice> | ||
+ | ND reachable time is 30000 milliseconds (using 30000) | ||
+ | ND RAs are suppressed (periodic) | ||
+ | Hosts use stateless autoconfig for addresses. | ||
+ | </source> | ||
+ | |||
+ | =Turning off all Router Advertisements= | ||
To turn of Periodically and answers to "Router Solicitation" packets. As seen in the picture below, RA is turned off on three of the interfaces. | To turn of Periodically and answers to "Router Solicitation" packets. As seen in the picture below, RA is turned off on three of the interfaces. | ||
[[Image:IPv6 Router Advertisement turn off.png|400px|Turning off Router Advertisements on unwanted interfaces]] | [[Image:IPv6 Router Advertisement turn off.png|400px|Turning off Router Advertisements on unwanted interfaces]] | ||
+ | ;Notice | ||
+ | :The ''ipv6 nd ra suppress'' option ''all'' was introduced in IOS 12.4T<ref>http://www.cisco.com/en/US/docs/ios/ipv6/command/reference/ipv6_07.html#wp2336679</ref> | ||
+ | :Seen on 2801 Routers with ''c2801-advipservicesk9-mz.124-9.T.bin'' - '''all''' option is '''not''' supported! | ||
+ | :Seen on 1841 Routers with ''c1841-adventerprisek9-mz.151-4.M.bin'' - '''all''' option is supported | ||
<source lang=cli> | <source lang=cli> | ||
R1(config)#<input>int fa0/1</input> | R1(config)#<input>int fa0/1</input> | ||
R1(config-if)#<input>ipv6 nd ra suppress all</input> | R1(config-if)#<input>ipv6 nd ra suppress all</input> | ||
+ | R1(config-if)#<input>do show ipv6 int fa0/1</input> | ||
+ | <notice>...OUTPUT OMITTED...</notice> | ||
+ | ND reachable time is 30000 milliseconds (using 30000) | ||
+ | ND RAs are suppressed (all) | ||
+ | Hosts use stateless autoconfig for addresses. | ||
</source> | </source> | ||
− | |||
=Prefix renumbering= | =Prefix renumbering= | ||
Line 141: | Line 166: | ||
<source lang=cli> | <source lang=cli> | ||
interface FastEthernet0/0 | interface FastEthernet0/0 | ||
− | description Inside - Advertise new prefix 21:26::1/64 | + | description Inside - Advertise new prefix 21:26::1/64 decommission 2001:1::/64 |
− | ipv6 address 21:26::1/64 | + | ipv6 address 21:26::1/64 eui-64 |
ipv6 address 2001:1::/64 eui-64 | ipv6 address 2001:1::/64 eui-64 | ||
ipv6 nd prefix 2001:1::/64 at 12 Dec 2011 03:00 12 Dec 2011 02:59 | ipv6 nd prefix 2001:1::/64 at 12 Dec 2011 03:00 12 Dec 2011 02:59 | ||
ipv6 nd ra interval 60 | ipv6 nd ra interval 60 | ||
</source> | </source> | ||
+ | |||
+ | =References= | ||
+ | <references/> | ||
[[Category:IPv6]][[Category:CiscoIPv6]][[Category:IOS]] | [[Category:IPv6]][[Category:CiscoIPv6]][[Category:IOS]] |
Latest revision as of 18:41, 29 July 2011
See ICMPv6 and IPv6 Stateless Autoconfiguration for background information.
Contents
Advertised Prefix
For stateless autoconfiguration to work properly, the advertised prefix length in RA messages must always be 64 bits.
R1#<input>show ipv6 interface fastEthernet 0/1 prefix</input>
IPv6 Prefix Advertisements FastEthernet0/1
Codes: A - Address, P - Prefix-Advertisement, O - Pool
U - Per-user prefix, D - Default
N - Not advertised, C - Calendar
PD default [LA] Valid lifetime 2592000, preferred lifetime 604800
<notice>AD 2001:16D8:DD85:4::/64</notice> [LA] Valid lifetime 2592000, preferred lifetime 604800
Showing Connected Routers Advertising
R1#<input>show ipv6 routers</input>
Router FE80::128C:CFFF:FE96:F76F on Vlan1, last update 0 min
Hops 64, Lifetime 1800 sec, AddrFlag=0, OtherFlag=0, MTU=1500
HomeAgentFlag=0, Preference=Medium
Reachable time 0 (unspecified), Retransmit time 0 (unspecified)
Prefix <notice>2001:16D8:DD85:4::/64</notice> onlink autoconfig
Valid lifetime 2592000, preferred lifetime 604800
Router FE80::218:18FF:FE7C:B440 on Vlan1, last update 0 min
Hops 64, Lifetime 1800 sec, AddrFlag=0, OtherFlag=0, MTU=1500
HomeAgentFlag=0, Preference=Medium
Reachable time 0 (unspecified), Retransmit time 0 (unspecified)
Prefix <notice>2001:16D8:DD85:4::/64</notice> onlink autoconfig
Valid lifetime 2592000, preferred lifetime 604800
Router Advertisement Parameters
Router Lifetime
The lifetime of the Default Router when using IPv6 Stateless Autoconfiguration. if this field is set to zero, the Router is not a candidate for Default Router.
- Lifetime range: 0 - 9000 seconds
R1(config)#<input>int fa0/1</input>
R1(config-if)#<input>do show ipv6 int fa0/1</input>
FastEthernet0/1 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::21B:D4FF:FE0F:8CA3
<notice>...OUTPUT OMITTED...</notice>
ND router advertisements are sent every 200 seconds
ND router advertisements live for 1800 seconds
ND advertised default router preference is Medium
Hosts use stateless autoconfig for addresses.
R1(config-if)#<input>ipv6 nd ra lifetime 0</input>
R1(config-if)#<input>do show ipv6 int fa0/1</input>
FastEthernet0/1 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::21B:D4FF:FE0F:8CA3
<notice>...OUTPUT OMITTED...</notice>
ND router advertisements are sent every 200 seconds
ND is not advertising as a default router
Hosts use stateless autoconfig for addresses.
Default Router Preference (DRP)
The Preference of a Default Router can be set as Low, Medium or High. The information is carried in the IPv6 Stateless Autoconfiguration ICMP Type 134 message.
R1(config-if)#<input>ipv6 nd router-preference ?</input>
High High default router preference
Low Low default router preference
Medium Medium default router preference
- Notice
- The Host need to understand and interpret the DRP bits.
Router Advertisment Interval
Router Advertisements are default sent every 200 seconds.
R1(config-if)#<input>do show ipv6 int fa0/0</input>
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::F225:72FF:FE3B:D6D2
No Virtual link-local address(es):
Description: Inside: Internal LAN
Global unicast address(es):
21:26::1, subnet is 21:26::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:1
FF02::1:FF3B:D6D2
MTU is 1500 bytes
ICMP error messages limited to one every 100 milliseconds
ICMP redirects are enabled
ICMP unreachables are sent
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds (using 30000)
ND advertised reachable time is 0 (unspecified)
ND advertised retransmit interval is 1000 milliseconds
<notice>ND router advertisements are sent every 200 seconds</notice>
ND router advertisements live for 1800 seconds
ND advertised default router preference is Medium
Hosts use stateless autoconfig for addresses.
Changing Router Advertisement interval
Changing to sending 10 packets pr. second. (Not advisable though - too much traffic generated)
R1(config)#<input>interface fastEthernet 0/0</input>
R1(config-if)#<input>ipv6 nd ra interval msec 100</input>
Router Advertisement bit flags
M-Bit: Using DHCPv6 instead
When using DHCPv6 you send a Router Advertisment with the M-bit (Managed-Config-Flag) set. See ICMPv6. This will tell the host to use DHCPv6.
R1(config)#<input>int fa0/1</input>
R1(config-if)#<input>ipv6 nd managed-config-flag</input>
R1(config-if)#<input>do show ipv6 int fa0/1</input>
FastEthernet0/1 is up, line protocol is up
<notice>...OUTPUT OMITTED...</notice>
ND advertised default router preference is Medium
Hosts use DHCP to obtain routable addresses.
O-Bit: Using Autoconfig and DHCPv6 simultaneously
It is possible to use Stateless Autoconfiguration to configure IPv6 address and Default Gateway and using DHCPv6 to configure other configuration fx. DNS server. The Router will send Router Advertisements with the O-Bit (other-config-flag) set.
R1(config)#<input>int fa0/1</input>
R1(config-if)#<input>ipv6 nd other-config-flag</input>
IPv6(config-if)#<input>do show ipv6 int fa0/1</input>
FastEthernet0/1 is up, line protocol is up
<notice>...OUTPUT OMITTED...</notice>
ND advertised default router preference is Medium
Hosts use stateless autoconfig for addresses.
Hosts use DHCP to obtain other configuration.
Turning off Periodically send Router Advertisement
- Notice
- The Router will still respond to "Router Solicitation" packets and inform the Node of it's prefix on that link.
R1(config)#<input>int fa0/1</input>
R1(config-if)#<input>ipv6 nd ra suppress</input>
R1(config-if)#<input>do show ipv6 int fa0/1</input>
<notice>...OUTPUT OMITTED...</notice>
ND reachable time is 30000 milliseconds (using 30000)
ND RAs are suppressed (periodic)
Hosts use stateless autoconfig for addresses.
Turning off all Router Advertisements
To turn of Periodically and answers to "Router Solicitation" packets. As seen in the picture below, RA is turned off on three of the interfaces.
- Notice
- The ipv6 nd ra suppress option all was introduced in IOS 12.4T[1]
- Seen on 2801 Routers with c2801-advipservicesk9-mz.124-9.T.bin - all option is not supported!
- Seen on 1841 Routers with c1841-adventerprisek9-mz.151-4.M.bin - all option is supported
R1(config)#<input>int fa0/1</input>
R1(config-if)#<input>ipv6 nd ra suppress all</input>
R1(config-if)#<input>do show ipv6 int fa0/1</input>
<notice>...OUTPUT OMITTED...</notice>
ND reachable time is 30000 milliseconds (using 30000)
ND RAs are suppressed (all)
Hosts use stateless autoconfig for addresses.
Prefix renumbering
With Autoconfiguration, it's quite easy to change to a new prefix in-flight.
Example
Changing to a new ISP will give you a new prefix
- Existing network: 2001:1::/64
- Last Router Advertising is December 12. 2011 at 02:59.
- New subnet 21:26::1/64 is advertised all along
- Advertise subnets every 60 seconds during transit to new prefix
interface FastEthernet0/0
description Inside - Advertise new prefix 21:26::1/64 decommission 2001:1::/64
ipv6 address 21:26::1/64 eui-64
ipv6 address 2001:1::/64 eui-64
ipv6 nd prefix 2001:1::/64 at 12 Dec 2011 03:00 12 Dec 2011 02:59
ipv6 nd ra interval 60