Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1338041
  • 博文数量: 464
  • 博客积分: 9399
  • 博客等级: 中将
  • 技术积分: 6364
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-19 09:15
文章分类

全部博文(464)

文章存档

2014年(12)

2013年(123)

2012年(173)

2011年(156)

我的朋友

分类: 系统运维

2011-08-10 16:05:15

要想正确地理解单物理NAT,需要正确地理解NAT条件和处理顺序。以下配置引用了坛子里的内容,对被引用内容的原作者表示感谢。

一:从inside到outside的NAT

1.有inside和outside接口
2.inside接口接收到NAT“感兴趣的包”(由ACL定义)
3.检查是否有经过outside接口到外网的路由(先策略路由后常规路由)。
4.执行NAT,源地址被NAT转换。
5.被转换的包经outside接口转发出去。

二:从outside到inside的NAT

1.NAT表中是否有相应的NAT纪录
2.执行NAT,目的地址被转换
3.执行路由(先策略路由后常规路由)
4.被转换的包经inside接口转发出去。

三:配置实例1分析:

特点是: loopback0做outside接口

interface Loopback0
address 172.16.2.254 255.255.255.252
ip nat outside
!
interface Ethernet0
ip address 192.168.0.1 255.255.255.248 sec
ip address 172.16.1.254 255.255.255.0
ip nat inside
ip policy route-map nat
!
ip nat pool pool1 192.168.0.2 192.168.0.3 prefix-length 29
ip nat inside source list 10 pool pool1 overload
ip classless
ip route 0.0.0.0 0.0.0.0 192.168.0.6
ip route 172.16.1.0 255.255.255.0 Ethernet0
access-list 10 permit 172.16.1.0 0.0.0.255
access-list 101 permit ip 172.16.1.0 0.0.0.255 any
access-list 101 permit ip any 192.168.0.0 0.0.0.7
!
route-map nat permit 10
match ip address 101
set interface loopback0

(一):源地址=172.16.1.0/24的包到达E0接口时:

1.E0接口是inside接口
2.包是NAT感兴趣的包(ACL 10定义)
3.检查路由,先执行策略路由nat,有set interface loopback0,即有经outside接口loopback0到达外网的路由,因此满足NAT执行的条件
4.执行NAT,源=172.16.1.0/24被转换为=192.168.0.2~3(地址池pool1定义)。
5.从outside接口loopback0转发出去。
6.loopback0是逻辑环路接口,因此应用ip route 0.0.0.0 0.0.0.0 192.168.0.6,192.168.0.6是ISP端地址。
7.被转换的包就经E0接口转发到ISP路由器。

(二):返回包(目的地址=192.168.0.2~3)到达E0接口时

1.返回包不是NAT感兴趣的包,因此按常规包处理
2.执行策略路由nat,set interface loopback0,即路由到outside接口。
3.NAT有相应的NAT纪录,
4.执行NAT,目的地址192.168.0.2~3被转换为172.16.1.0/24
5.执行路由,loopback0接口上无策略路由,因此执行常规路由。
6.被转换的包经E0接口转发出去。

四:配置2实例

特点是:loopback0做inside接口。

interface Loopback0
ip address 172.16.1.1 255.255.255.248
ip nat inside
ip policy route-map rm_nat
!
interface FastEthernet0/0
ip address 172.16.0.1 255.255.255.0 secondary
ip address 192.168.0.1 255.255.255.252
ip nat outside
ip policy route-map no_route
!
ip nat pool st_pool 61.233.13.193 61.233.13.198 netmask 255.255.255.248
ip nat inside source list 10 pool st_pool
ip classless
ip route 0.0.0.0 0.0.0.0 Loopback0
access-list 10 permit 172.16.0.0 0.0.0.255
access-list 101 permit ip any any
access-list 102 permit ip 172.16.0.0 0.0.0.255 any
route-map no_route permit 10
match ip address 102
set interface Loopback0
!
route-map rm_nat permit 10
match ip address 101
set ip next-hop 192.168.0.2

该实例的主要区别是采用了2个策略路由,其目的都是实现使包到达inside接口或outside接口,且满足NAT转换的路由条件。

需要注意的是:NAT地址池的地址不必非要与ISP端路由器地址同一网段,可以是公网IP,也可以是私网地址。只要ISP能区分就行。且ISP必须有到达NAT地址池的路由(静态或动态都行)。

对于NAT路由器来说,只需要有“ip route 0.0.0.0 0.0.0.0 ISP端IP地址”这条命令即可
阅读(719) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~