Example: source port randomization¶
r1
hostname r1
vrf def v1
rd 1:1
exit
int eth1
vrf for v1
ipv4 addr 1.1.1.1 255.255.255.252
ipv6 addr 1234:1::1 ffff:ffff::
exit
server telnet tel
vrf v1
port 666
exit
r2
hostname r2
vrf def v1
rd 1:1
exit
int eth1
vrf for v1
ipv4 addr 1.1.1.2 255.255.255.252
ipv6 addr 1234:1::2 ffff:ffff::
exit
int eth2
vrf for v1
ipv4 addr 1.1.1.5 255.255.255.252
ipv6 addr 1234:2::1 ffff:ffff::
exit
access-list test4
permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all
exit
access-list test6
permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all
exit
ipv4 nat v1 seq 10 srclist test4 interface ethernet1
ipv4 nat v1 seq 10 random 1024 2048
ipv6 nat v1 seq 10 srclist test6 interface ethernet1
ipv6 nat v1 seq 10 random 1024 2048
r3
hostname r3
vrf def v1
rd 1:1
exit
int eth1
vrf for v1
ipv4 addr 1.1.1.6 255.255.255.252
ipv6 addr 1234:2::2 ffff:ffff::
exit
ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5
ipv6 route v1 :: :: 1234:2::1
r2 tping 100 5 1.1.1.1 vrf v1
r2 tping 100 5 1234:1::1 vrf v1
r2 tping 100 5 1.1.1.6 vrf v1
r2 tping 100 5 1234:2::2 vrf v1
r3 send telnet 1.1.1.1 666 vrf v1
r3 tping 100 5 1.1.1.1 vrf v1
r3 send exit
r3 read closed
r3 send telnet 1234:1::1 666 vrf v1
r3 tping 100 5 1234:1::1 vrf v1
r3 send exit
r3 read closed
r2 output show ipv4 nat v1 tran
r2 output show ipv6 nat v1 tran
- Install ContainerLab as described here
- Fetch crypt-nat11 file
- Launch ContainerLab
crypt-nat11.yml
topology:
containerlab deploy --topo crypt-nat11.yml
crypt-nat11.yml
topology:
containerlab destroy --topo crypt-nat11.yml