မာတိကာ သို့ သွားရန်

🧪 Lab 01 · IPv6 Neighbor Discovery (ND) & SLAAC / DHCPv6

Validated on Arista cEOS 4.32.0F. All outputs captured live from fabric in OrbStack.

Time: ~40 minutes · Nodes: 4 (2 Routers, 2 Leafs)

Quick Start — Step-by-Step Execution Guide (Location: labs/ipv6-lab/)

Step 1 · Deploy the Lab Fabric (if not already running)

cd labs/ipv6-lab
sudo containerlab deploy -t topology.clab.yml --max-workers 1

Step 2 · Launch the Fully Guided Interactive Walkthrough

./run.sh --guided

Alternative Execution Options (Automated Push or Manual CLI)
  • Fast Automated Script Push:
    ./run.sh 01          # apply + verify step 01 automatically
    ./run.sh --all       # run all steps in order
    
  • Manual Line-by-Line CLI Execution: Interactive CLI shell on any container node:
    docker exec -it clab-ipv6-lab-r1-v6 Cli
    

🧠 Technology Deep Dive: IPv6 Neighbor Discovery (ND)

IPv6 replaces IPv4 ARP (Address Resolution Protocol) broadcasts with ICMPv6 Neighbor Discovery (ND): - Neighbor Solicitation (NS / Type 135): Multicast request sent to a Solicited-Node Multicast Address (ff02::1:ffxx:xxxx) asking for a target node's MAC address. - Neighbor Advertisement (NA / Type 136): Unicast reply returning the link-layer MAC address. - Router Advertisement (RA / Type 134): Periodic router broadcasts announcing default gateway and IPv6 network prefixes (2001:db8:1::/64) for SLAAC (Stateless Address Autoconfiguration).


Step 1 · Configure IPv6 Dual-Stack Interfaces

Configure IPv6 global unicast addresses (2001:db8::/64) and OSPF Area 0 on r1-v6, r2-v6, leaf1-v6, and leaf2-v6.

configure
hostname r1-v6
!
service routing protocols model multi-agent
!
ipv6 unicast-routing
!
interface Loopback0
   ip address 10.255.0.1/32
   ipv6 address 2001:db8:ffff::1/128
   ip ospf area 0.0.0.0
!
interface Ethernet1
   no switchport
   ip address 10.0.1.1/30
   ipv6 address 2001:db8:1::1/64
   ip ospf area 0.0.0.0
!
interface Ethernet2
   no switchport
   ip address 10.0.1.5/30
   ipv6 address 2001:db8:2::1/64
   ip ospf area 0.0.0.0
!
router ospf 100
   router-id 10.255.0.1
   passive-interface Loopback0
configure
hostname r2-v6
!
service routing protocols model multi-agent
!
ipv6 unicast-routing
!
interface Loopback0
   ip address 10.255.0.2/32
   ipv6 address 2001:db8:ffff::2/128
   ip ospf area 0.0.0.0
!
interface Ethernet1
   no switchport
   ip address 10.0.2.1/30
   ipv6 address 2001:db8:3::1/64
   ip ospf area 0.0.0.0
!
interface Ethernet2
   no switchport
   ip address 10.0.2.5/30
   ipv6 address 2001:db8:4::1/64
   ip ospf area 0.0.0.0
!
router ospf 100
   router-id 10.255.0.2
   passive-interface Loopback0
configure
hostname leaf1-v6
!
service routing protocols model multi-agent
!
ipv6 unicast-routing
!
interface Loopback0
   ip address 10.255.0.11/32
   ipv6 address 2001:db8:ffff::11/128
   ip ospf area 0.0.0.0
!
interface Ethernet1
   no switchport
   ip address 10.0.1.2/30
   ipv6 address 2001:db8:1::2/64
   ip ospf area 0.0.0.0
!
interface Ethernet2
   no switchport
   ip address 10.0.2.2/30
   ipv6 address 2001:db8:3::2/64
   ip ospf area 0.0.0.0
!
router ospf 100
   router-id 10.255.0.11
   passive-interface Loopback0
configure
hostname leaf2-v6
!
service routing protocols model multi-agent
!
ipv6 unicast-routing
!
interface Loopback0
   ip address 10.255.0.12/32
   ipv6 address 2001:db8:ffff::12/128
   ip ospf area 0.0.0.0
!
interface Ethernet1
   no switchport
   ip address 10.0.1.6/30
   ipv6 address 2001:db8:2::2/64
   ip ospf area 0.0.0.0
!
interface Ethernet2
   no switchport
   ip address 10.0.2.6/30
   ipv6 address 2001:db8:4::2/64
   ip ospf area 0.0.0.0
!
router ospf 100
   router-id 10.255.0.12
   passive-interface Loopback0

Step 2 · Production Verification

Verify IPv6 ping reachability from r1-v6 to leaf1-v6:

docker exec -i clab-ipv6-lab-r1-v6 Cli -p 15 <<'EOF'
enable
ping ipv6 2001:db8:1::2 repeat 2
EOF
PING 2001:db8:1::2(2001:db8:1::2) 72 bytes of data.
80 bytes from 2001:db8:1::2: icmp_seq=1 ttl=64 time=0.421 ms
80 bytes from 2001:db8:1::2: icmp_seq=2 ttl=64 time=0.380 ms

--- 2001:db8:1::2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1ms

DONE when ping ipv6 2001:db8:1::2 succeeds with 0% packet loss.


Clean up

sudo containerlab destroy -t topology.clab.yml