NAT(网络地址转换)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

一、     概念

 

1、 NAT是为了解决IP V4地址被日益消耗而出现的一个技术,在所有的CCNA技术当中,我个人觉得NAT是我们最常用的一种技术

2、 NAT的分类:

NAT可以分为三类:静态NAT、动态NATNAT复用

Ø  静态NAT:一个单一的公网IP地址对映一个单一的私有地址,或者一个单一的公网IP地址对应一个单一的私有IP地址的多个不同的端口

Ø  动态NAT:一组公网IP地址对应一组私有IP地址(一般用于两个合并公司之间互访)

Ø  NAT复用:这也是NAT赖以成名的一个技术,多个私有IP地址对应一个单一的公网IP地址

3、 NAT的配置命令

Ø  首先第一步,定义NAT的入口和出口

In f0/1

Ip nat inside

Exit

In s0/0/0

Ip nat outside

Exit

Ø  接下来,配置每一种NAT,他们的命令是大同小异

l  静态NAT

Ip nat inside source static 192.168.1.1 10.0.0.10

(将192.168.1.1NAT10.0.0.10

Ip nat inside source static 192.168.1.1 interface serial 0

(当不知道serial0端口的IP时,比如serial0端口的IP是自动获取,那么可以用serial 0这个端口来代替IP地址)

Ip nat inside source static tcp 192.168.1.1 80 10.0.0.10 80

(将192.168.1.180端口NAT10.0.0.1080端口上)

l  动态NAT

Ip nat pool test1 10.0.0.10 prefix-length 24(定义一个需要互相NAT地址池)

Ip nat pool test2 20.0.0.10 prefix-length 24

Access-list 10 permit 192.168.1.0 0.0.0.255(建立访问列表)

Access-list 20 permit 192.168.2.0 0.0.0.255

Ip nat inside source list 10 pool test1(设置NAT

ip nat outside source list 20 pool test2

最后的意思就是:将访问表10中定义的内部地址转换成网络2NAT池中定义的地址

l  NAT复用

Access-list 10 permit 192.168.1.0 0.0.0.255

Ip nat inside source list 10 interface serial0 overload

Ip nat inside source list 10 pool test overload(当内部全局地址只允许用公网IP时不允许用端口代替时,此时需要先将公网IP地址建立一个地址池)

Ø  最后,如果要想检验所配置的NAT,可以用命令

Show ip nat statistics

Show ip nat translations

Debug ip nat

二、     实验

 

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

环境:现在这两家合作公司之间各有一个路由器R1R2,两个路由器用的是背靠背连接,每个公司各有一个公网IP,其中R2所在的公司有一台邮件服务器,它的IP192.168.2.10

要求:两个公司的员工都可以上网,并且要保证外面的人可以访问邮件服务器

先配置R1

Router>enable

Router#config ter

Enter configuration commands, one per line.  End with CNTL/Z.

Router(config)#hostname R1

R1(config)#no ip domain-lookup

R1(config)#line con 0

R1(config-line)#no exec-timeout 0 0

R1(config-line)#logging synchronous

R1(config-line)#exit

R1(config)#in s0/0/0

R1(config-if)#ip address 202.96.209.133 255.255.255.0

R1(config-if)#clock rate 64000

R1(config-if)#no shutdown

 

%LINK-5-CHANGED: Interface Serial0/0/0, changed state to down

R1(config-if)#exit

R1(config)#in f0/1

R1(config-if)#ip address 192.168.1.1 255.255.255.0

R1(config-if)#no shutdown

 

 

%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to upR1(config-if)#

R1(config-if)#exit

R1(config)#ip dhcp pool xinyu

R1(dhcp-config)#network 192.168.1.0 255.255.255.0

R1(dhcp-config)#default-route 192.168.1.1

R1(dhcp-config)#exit

R1(config)#access-list 10 permit 192.168.1.0 0.0.0.255

R1(config)#in f0/1

R1(config-if)#ip nat inside

R1(config-if)#exit

R1(config)#in s0/0/0

R1(config-if)#ip nat outside

R1(config-if)#exit

R1(config)#ip nat inside source list 10 interface serial0/0/0 overload

接下来,配置R2

Router>

Router>enable

Router#config ter

Enter configuration commands, one per line.  End with CNTL/Z.

Router(config)#no ip domain-lookup

Router(config)#line con 0

Router(config-line)#no exec-timeout 0 0

Router(config-line)#logging syn

Router(config-line)#exit

Router(config)#hostname R2

R2(config)#in s0/0/0

R2(config-if)#ip address 202.96.209.134 255.255.255.0

R2(config-if)#no shutdown

 

%LINK-5-CHANGED: Interface Serial0/0/0, changed state to down

R2(config-if)#exit

R2(config)#in f0/1

R2(config-if)#ip address 192.168.2.1 255.255.255.0

R2(config-if)#no shutdown

 

 

%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to upR2(config-if)#

R2(config-if)#exit

R2(config)#ip dhcp pool xinyu1

R2(dhcp-config)#network 192.168.2.0 255.255.255.0

R2(dhcp-config)#default-route 192.168.2.1

R2(dhcp-config)#dns-server 1.1.1.1

R2(dhcp-config)#exit

 

      

R2(config)#ip access-list standard xinyu10

R2(config-std-nacl)#permit 192.168.2.0 0.0.0.255

R2(config-std-nacl)#exit

R2(config)#in f0/1

R2(config-if)#ip nat inside

R2(config-if)#exit

R2(config)#in s0/0/0

R2(config-if)#ip nat outside

R2(config-if)#exit

R2(config)#ip nat inside source list xinyu10 interface s0/0/0 overload

 

      

R2(config)#ip nat inside source static tcp 192.168.2.10 110 202.96.209.134 110

R2(config)#ip nat inside source static tcp 192.168.2.10 25 202.96.209.134 25

R2(config)#

最后,用两个局域网的PC机互相ping一下对方的路由器的s0/0/0上端口的公网IP,发现是可以ping通的,并且在用任意一台机器访问一下http://202.96.209.134:110http://202.96.209.134:25,发现是都可以通的

此时,在分别在两台路由器上运行一下show ip nat translations