一、动态NAT
动态NAT:是将内部本地地址与内部全局地址实现一对一的不固定的动态映射
NAT的配置语法:
1.配置NAT地址池
Router(config)#ip nat pool name start-ip end-ip netmask
name:名称,用来定义nat地址池名称;
start-ip:开始地址,定义地址池开始地址;
end-ip:结束地址,定义地址池结束地址;
netmask:子网掩码,定义地址池中的IP子网掩码;
Router(config)#access-list access-list-number permit source [source-wildcard]
配置标准访问列表,允许应转换的地址。
Router(config)#ip nat inside source list access-list-number pool name
通过绑定已定义的访问列表和地址池,实现动态源地址转换。
Router(config-if)#ip nat { inside | outside }
inside | outside:内部或外部接口,定义nat的应用方向。
配置动态nat,实现内外网访问
R1配置:
Router(config)#ho R1 更改设备名为R1
R1(config)#no ip domain l
R1(config)#
R1(config)#
R1(config)#in f 0/0
R1(config-if)#no sh
R1(config-if)#ip add 172.16.10.1 255.255.255.0
R1(config-if)#in s 2/0
R1(config-if)#no sh
R1(config-if)#ip add 197.12.16.1 255.255.255.252
R1(config-if)#
R1(config)#ip route 0.0.0.0 0.0.0.0 197.12.16.2
//配置一跳静态 默认路由,默认指向ISP
R1(config)#ip nat pool dizhici 218.8.1.1 218.8.1.4 netmask 255.255.255.0
//在R1上创建一个地址池 ,里面包含了四个公网IP,在外网主机想要访问主机的时候提供公网地址使用,在访问过后会自动收回
R1(config)#ip nat in s l 1 pool dizhici //在R1上绑定这个地址池
R1(config)#access-list 1 permit 172.16.10.0 0.0.0.255 //创建一条ACL,可以被地址池识别到
R1(config)#in f 0/0
R1(config-if)#ip nat in
R1(config-if)#in s 2/0
R1(config-if)#ip nat o
R1(config-if)#ip nat outside
//定义内外网接口
R1#sho ip nat tr
Pro Inside global Inside local Outside local Outside global
icmp 218.8.1.1:1 172.16.10.2:1 218.8.8.2:1 218.8.8.2:1
icmp 218.8.1.1:2 172.16.10.2:2 218.8.8.3:2 218.8.8.3:2
//可以使用这条命令查看一下nat地址池的使用情况,
可以看到两条来自外网的icmp流量218.1.1.0使用了刚刚配置的地址池,这里是使用了两个
R1#
ISP配置:
接口配置省略
ISP(config)#ip route 218.8.1.0 255.255.255.0 197.12.16.1
//配置下一跳路由,下一跳路由默认指向公网路由,因为想要实现外网主机访问内网主机,
或者内网主机访问外网主机的话需要R1上的地址池公网地址,
所以这里直接指向公网地址就行了,指定完之后就可以实现内外网主机互相访问了
在内网主机上ping一下外网主机,这个时候会发现是可以通的
二、配置动态PAT
动态PAT是一种是一种基于动态NAT的一种配置,又称NAT过载,因为在IPV4中IP地址是紧缺的,有时候没有那么多地址可以供我们使用,所以会采用通过内部地址映射到外部地址的不同端口上实现内外网访问,动态NAT就是一对一进行访问的,动态PAT是多对一进行访问的。
R1配置:
R1(config)#ip route 0.0.0.0 0.0.0.0 197.12.16.2 //创建一个静态默认路由,默认指向ISP
R1(config)#access-list 1 permit 172.16.10.0 0.0.0.255 //创建一个ACL 供动态PAT进行访问
R1(config)#ip nat pool PAT 218.8.1.1 218.8.1.10 netmask 255.255.255.0 //这里创建一个地址池,尽量不要创建只有一个地址的,因为在创建1个地址的时候,可能是地址不够用,然后内外网无法实现通信,这里我试了好多次,也排了错但就是不通,我估计是版本的问题,所以还是多分配几个就行了,给他范围搞得大一点就可以了
R1(config)#ip nat in s l 1 pool PAT overload //这里用ACL和地址池进行转换,端口复用,建立一个过载访问
基于接口的PAT 转换
R1(config)#ip nat in s l 1 in s 2/0 overload //基于接口的PAT转换
ISP配置:
还是写一条通往公网IP的下一跳路由即可
这里做一下验证,由此可见是可以访问的
三、静态NAT转换
静态NAT ,就是静态网络地址转换的意思:指内网的本地地址和内部的全局地址进行一对一的地址映射
等于就是将内网的PC地址和内部的全局地址做一个转换,对方的路由器写一个下一跳地址指向内网的全局地址,做一个外网的地址和内网全局地址的转换,内网全局地址在和内网主机地址做一个地址的转换,从而实现内外网地址转换。
静态NAT的语法: Router(config)#ip nat inside source static local-ip global-ip
local-ip:本地IP地址,是用于指定地址映射的内部地址;
global-ip:全局IP地址,是用于指定地址映射的外部地址。
Router(config-if)#ip nat { inside | outside }
R1配置:
Router(config)#ho R1 //修改主机名为R1
R1(config)#no ip domain l
R1(config)#in f 1/0
R1(config-if)#no sh
R1(config-if)#ip add 192.168.10.1 255.255.255.0
R1(config-if)#in s 2/0
R1(config-if)#no sh
R1(config-if)#ip add 198.9.30.1 255.255.255.0
R1(config)#ip route 0.0.0.0 0.0.0.0 198.9.30.2 配置一个默认路由,默认指向对面的端口
R1(config)#ip nat in s s 192.168.10.10 216.9.4.10 //配置静态NAT,配置内网IP和内网全局地址的转换,就是说把192.168.10.10转换成216.9.4.10
R1(config)#ip nat in s s 192.168.10.20 216.9.4.20
R1(config)#ip nat in s s 192.168.10.30 216.9.4.30
R1(config)#in s 2/0
R1(config-if)#ip nat o
R1(config-if)#in f 1/0 //定义内外网接口
R1(config-if)#ip nat i
R1#sho ip nat tr //查看静态NAT转换状态
Pro Inside global Inside local Outside local Outside global
--- 216.9.4.10 192.168.10.10 --- ---
--- 216.9.4.20 192.168.10.20 --- ---
--- 216.9.4.30 192.168.10.30 --- ---
ISP配置:
Router(config)#ho ISP //更改设备名字为ISP
ISP(config)#in s 2/0
ISP(config-if)#no sh
ISP(config-if)#ip add 198.9.30.
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to up
2 255.255.255.0
ISP(config)#no ip domain l
ISP(config)#in f 1/0
ISP(config-if)#no sh
ISP(config-if)#ip add 218.8.8.1 255.255.255.0
ISP(config)#ip route 216.9.4.0 255.255.255.0 198.9.30.1 //配置一个下一跳命令,这里指向内网全局地址即可
在PC上进行验证,可以发现内网主机成功访问外网服务器 .
另外,通过外网服务器去访问内网服务器的时候,如果访问原地址会发现访问不了,访问全局地址的时候会发现成功访问
四、配置静态PAT
在配置端口映射的时候需要加端口号,80是http 23 22是ssh
ip nat inside source static tcp 10.1.3.100 80 199.3.3.1 80
ip nat inside source static tcp 10.1.1.200 23 199.3.3.1 23
ip nat inside source static tcp 10.1.3.1 22 199.3.3.1 23
ip nat inside source static tcp 10.1.2.200 22 199.3.3.1 22
各设备配置:
SW1配置:
interface Vlan1
ip address 10.1.1.200 255.255.255.0
!
ip default-gateway 10.1.1.254
line con 0
!
line vty 0 3
password cisco
login
line vty 4
login
line vty 5 15
login
!
R1配置: 接口IP省略
R1(config)#do sh r
hostname R1
!
enable password cisco
!
username R1 password 0 cisco
!
no ip domain-lookup
ip domain-name www.baidu.com
!
ip nat inside source list PAT interface Serial2/0 overload
ip nat inside source static tcp 10.1.3.100 80 199.3.3.1 80
ip nat inside source static tcp 10.1.1.200 23 199.3.3.1 23
ip nat inside source static tcp 10.1.2.200 22 199.3.3.1 22
ip nat inside source static tcp 10.1.3.1 22 199.3.3.1 23
ip classless
ip route 0.0.0.0 0.0.0.0 199.3.3.2
!
ip flow-export version 9
!
!
ip access-list standard PAT
permit 10.1.1.0 0.0.0.255
permit 10.1.2.0 0.0.0.255
permit 10.1.3.0 0.0.0.255
deny any
!
line vty 0 3
login local
transport input ssh
line vty 4
login
SW2配置:
interface Vlan1
ip address 10.1.2.200 255.255.255.0
!
ip default-gateway 10.1.2.254
!
!
!
!
line con 0
!
line vty 0 3
login local
transport input ssh
line vty 4
login
line vty 5 15
login
!
ISP配置:
ip route 10.1.3.0 255.255.255.0 199.3.3.1
!
五、配置由外至内映射的NAT
配置NAT
216.9.4.10是公网IP
(1)在路由器R1上建立内部本地地址与内部全局地址之间的映射关系
R1(config)# ip nat inside source static 192.168.10.1 216.9.4.10
(2)在路由器R1上配置内部接口与外部接口
R1(config)# interface gigabitEthernet 0/0
R1(config-if)#ip nat inside
R1(config)#interface serial 0/0/0
R1(config-if)#ip nat outside
(3)在路由器ISP和R1上配置到达对端的静态路由
ISP(config)# ip route 192.168.10.0 255.255.255.0 198.9.30.1
R1(config)#ip route 0.0.0.0 0.0.0.0 198.9.30.2
版权归原作者 Super鸣_ 所有, 如有侵权,请联系我们删除。