nat用来将一个IP地址转换成另一个IP地址,一般是将私网地址转换成公网地址。本实验采用地址池方式。
拓扑图如下:
首先在S1上划分vlan:
[S1]vlan 10
[S1]int vlan 10
[S1-Vlan-interface10]ip add 192.168.10.254 24
[S1-Vlan-interface10]quit
[S1]vlan 20
[S1-vlan20]int vlan 20
[S1-Vlan-interface20]ip add 192.168.20.254 24
[S1-Vlan-interface20]quit
[S1]int g1/0/1
[S1-GigabitEthernet1/0/1]port link-type access
[S1-GigabitEthernet1/0/1]port access vlan 10
[S1-GigabitEthernet1/0/1]int g1/0/2
[S1-GigabitEthernet1/0/2]port link-type access
[S1-GigabitEthernet1/0/2]port access vlan 20
除了vlan 10 1和 vlan 20,还要在出接口准备一个vlan,用作GE_0/3的ip地址:
[S1]vlan 2
[S1-vlan2]int vlan 2
[S1-Vlan-interface2]ip add 192.168.1.1 24
[S1-Vlan-interface2]quit
[S1]int g1/0/3
[S1-GigabitEthernet1/0/3]port link-type access
[S1-GigabitEthernet1/0/3]port access vlan 2
为了与外界通信,需要设置默认路由,将收到报文传给R1:
[S1]ip route-static 0.0.0.0 0.0.0.0 192.168.1.2
//下一跳192.168.1.2 是R1接口GE_0/1的IP地址
然后,配置R1的接口ip:
[R1]int g0/1
[R1-GigabitEthernet0/1]ip add 192.168.1.2 24
[R1]int g0/2
[R1-GigabitEthernet0/2]ip add 202.169.10.1 24
在R1上配置nat,实现地址转换。nat一般与acl一起使用:
[R1]acl number 2000
[R1-acl-ipv4-basic-2000]rule 5 permit source 192.168.10.0 0.0.0.255
//允许vlan 10 的ip通过,后面nat会用到
[R1-acl-ipv4-basic-2000]acl number 2001
[R1-acl-ipv4-basic-2001]rule 5 permit source 192.168.20.0 0.0.0.255
//允许vlan 20 的ip通过,后面nat会用到
[R1-acl-ipv4-basic-2001]quit
[R1]nat address-group 1
//设置nat地址池组 1
[R1-address-group-1]address 202.169.10.100 202.169.10.200
//地址池1范围为202.169.10.100 ~ 202.169.10.200
[R1-address-group-1]quit
[R1]nat address-group 2
//设置地址池组 2
[R1-address-group-2]address 202.169.10.10 202.169.10.50
//地址池2范围为202.169.10.10 ~ 202.169.10.50
[R1-address-group-2]quit
[R1]int g0/2
[R1-GigabitEthernet0/2]nat outbound 2000 address-group 1 no-pat
[R1-GigabitEthernet0/2]nat outbound 2001 address-group 2 no-pat
关于命令 [R1-GigabitEthernet0/2]nat outbound 2000 address-group 1 no-pat的解释如下:
在R1的接口G0/2上,使用nat,并运用在出方向上(outbound),匹配acl 2000,在acl 2000 规则下的IP地址(本实验即为vlan 10 中的ip地址),如果从G0/2口出去,那么将该IP地址换成地址池1(address-group 1)中的任意一个IP地址。因为可能会有多个来自acl 2000的IP地址,为了防止IP地址冲突,设置为不允许重复(no-pat)。
为了使来自vlan 10 和 vlan 20 的数据能够与外面通信,还要在R1上配置默认路由,并且R1还要知道如何去往两个vlan的网段,所以还需要一条静态路由:
[R1]ip route-static 0.0.0.0 0.0.0.0 202.169.10.2
[R1]ip route-static 192.168.0.0 255.255.0.0 192.168.1.1
R2配置接口ip地址:
[R2]int g0/1
[R2-GigabitEthernet0/1]ip add 202.169.10.2 24
配置完成,现在各网段可以互通。
可以用 display nat session 来查看地址转换。
首先用PC1 ping R2:
然后在R1上执行以上命令:
在R1接口G0/2抓个包:
可以看到,源ip不是192.168.10.1,而是变成了202.169.10.111。