关于NAT+双出口的两种配置

本文探讨了在NAT网络环境中如何实现双出口配置,包括两种不同的实施方案,旨在提高网络连接的稳定性和效率。详细内容可在ITPUB博客查看。
目的:模拟拥有双出口链路情况下基于原地址策略路由功能,实现不同原内部地址从不同出口对外部网络的访问,由于多数实际情况下路由器在外部端口使用NAT对内网地址进行翻译,所以本试验也使用双NAT对内部地址进行翻译,实现通过多ISP访问Internet功能。[@more@]环境描述:使用设备为Cisco2621XM + NE-1E模块,该配置拥有两个FastEthernet以及一个Ethernet端口。
现使用Ethernet 1/0 端口连接内部局域网,模拟内部拥有100.100.23.0 255.255.0.0 与100.100.24.0 255.255.0.0 两组客户机情况下基于原地址的策略路由。
Fastethernet 0/0 模拟第一个ISP接入端口,Fastethernet 0/1模拟第二个ISP接入端口,地址分别为 Fastethernet 0/0 的ip地址192.168.1.2 255.255.255.0 对端ISP地址192.168.1.1 255.255.255.0
Fastethernet 0/1 的ip地址192.168.2.2 255.255.255.0 对端ISP地址192.168.2.1 255.255.255.0
通过策略路由后对不同原地址数据流量进行分流,使得不同原地址主机通过不同ISP接口访问Internet,并为不同原地址主机同不同NAT地址进行转换。

具体配置:

hostname Router
interface FastEthernet0/0 --------------------假设该端口为ISP 1接入端口
ip address 192.168.1.2 255.255.255.0 --------分配地址
ip nat outside --------指定为NAT Outside端口
no shut
interface FastEthernet0/1 --------------------假设该端口为ISP 2接入端口
ip address 192.168.2.2 255.255.255.0 --------分配地址
ip nat outside --------指定为NAT Outside端口
no shut
interface Ethernet1/0 --------------------假设该端口为内部网络端口
ip address 100.100.255.254 255.255.0.0 --------分配地址
ip nat inside --------指定为NAT Inside端口
ip policy route-map t0 --------在该端口上使用route-map t0进行策略控制

ip nat inside source list 1 interface FastEthernet0/0 overload ------Nat转换,指定原地址为100.100.23.0的主机使用Fastethernet 0/0的地址进行转换

ip nat inside source list 2 interface FastEthernet0/1 overload ------Nat转换,指定原地址为100.100.24.0的主机使用Fastethernet 0/1的地址进行转换

ip route 0.0.0.0 0.0.0.0 192.168.2.1 ------静态路由,对Internet的访问通过192.168.2.1(ISP2)链路

ip route 0.0.0.0 0.0.0.0 192.168.1.1 ------静态路由,对Internet的访问通过192.168.1.1(ISP1)链路

access-list 1 permit 100.100.23.0 0.0.0.255 ----访问控制列表1,用于过滤原地址,允许100.100.23.0网段主机流量通过

access-list 2 permit 100.100.24.0 0.0.0.255 ----访问控制列表2,用于过滤原地址,允许100.100.23.0网段主机流量通过

route-map t0 permit 10 ----定义route-map t0,permit序列为10
match ip address 1 ----检查原地址,允许100.100.23.0 网段地址

set interface FastEthernet0/0 ----指定出口为Fastethetnet 0/0

route-map t0 permit 20 ----定义route-map t0,permit序列为20
match ip address 2 ----检查原地址,允许100.100.24.0 网段地址
set interface FastEthernet0/1 ----指定出口为Fastethetnet 0/1

察看路由表
Router#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

100.0.0.0/16 is subnetted, 1 subnets
C 100.100.0.0 is directly connected, Ethernet1/0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/1
S* 0.0.0.0/0 [1/0] via 192.168.1.1
[1/0] via 192.168.2.1
发现静态路由存在两条路径!


察看ip Nat translations
Router#sho ip nat translations

Pro Inside global Inside local Outside local Outside global
icmp 192.168.1.2:1024 100.100.23.23:1024 1.1.1.1:1024 1.1.1.1:1024
icmp 192.168.2.2:1280 100.100.24.23:1280 1.1.1.1:1280 1.1.1.1:1280

由于路由器外部存在1.1.1.1的地址,用于模拟Internet公网地址,发现不同网段内部主机流量确实已经从不同出口访问外部资源,并且使用了不同Nat进行地址转换!


注:大部分多ISP情况下都要使用NAT地址转换功能,但有些特殊情况下不需使用NAT功能,如果不是用NAT,就将配置中的有关NAT的配置去掉,
如此配置中去掉 ip nat inside source list 1 interface FastEthernet0/0 overload 和ip nat inside source list 2 interface FastEthernet0/1 overload
以及在端口上去掉ip Nat outside和ip nat inside的配置,就可以实现不用NAT的策略路由。


以上试验可以实现基于原地址的策略路由功能,可以根据内网原地址进行不同流量通过不同ISP接口访问Internet的功能,但仍没有实现双链路相互备份的功能,即当任意一条链路出现故障的时候无法自动使用另一条链路进行备份,造成一部分相应的内网主机无法访问外网的情况。

望各位Fans进行讨论,希望找到可行性的方法,即能解决策略路由问题,又能实现双链路的自动备份功能!

注(不同者意见):
1、自动备份加负载均衡是很困难的,特别是对常规的路由协议来说, 包括BGP. MPLS TE 有一些解决方法,但只适用于特殊的核心环境,这个问题已经讨论很久了, 现在还没有完美的解决方法, 至少只依靠路由协议来说。

2、偶前一段时间就是用的类似这种负载均衡,但感觉不如指定出口,负载均衡似乎并不好用,还增加无用数据。

3、偶在想有没有办法实现两种很实用的功能:
   (1)、从内网访问ispA的IP段,会自动从NAT池中选择ispA的IP转换.访问ispB的网段则同理.这样对于两个isp商互相限制的情况下会大大提高网速.(两个ISP互相限制的情况在各地都不同程度的存在的)-----这个问题,CISCO是可以实现的。

(2)、实现不受DNS解析影响,自动选择最优路由路径.如外网访问内网服务器,客护端为ispA的网段,则自动从ispA的IP访问服务器,而不管DNS解析出的是ispA的IP还是ispB的IP.(不知道一个域名绑顶两个IP可以吗?如果可以那就好办多了.服务器用双网卡各自帮顶一个ISP的IP自然就实现最优选择了.有人提出在内网做DNS服务器,现在bind9有一种叫做的智能dns功能。实际上,是应用了view中的match-list功能。就是说,针对来自不同用户的请求地址,同一域名解析出不同的ip。这样,只要你把网通和电信的ip表添加到dns的match-list中就可以实现了) -------这个问题,CISCO目前还实现不了。



第二种是我曾经用过的,要复杂一点,网络结构模仿上例:
interface FastEthernet0/0 --------------------假设该端口为ISP 1接入端口
ip address 192.168.1.2 255.255.255.0 --------分配地址
ip nat outside --------指定为NAT Outside端口

interface FastEthernet0/1 --------------------假设该端口为ISP 2接入端口
ip address 192.168.2.2 255.255.255.0 --------分配地址
ip nat outside --------指定为NAT Outside端口

interface Ethernet1/0 --------------------假设该端口为内部网络端口
ip address 100.100.255.254 255.255.0.0 --------分配地址
ip nat inside --------指定为NAT Inside端口
ip policy route-map t0 --------在该端口上使用route-map t0进行策略控制

ip nat inside source route-map t1 interface FastEthernet0/0 overload --------------- 对满足route-map t1 的数据流在F0/0上做地址转换

ip nat inside source route-map t2 interface FastEthernet0/1 overload --------------- 对满足route-map t1 的数据流在F0/1上做地址转换

access-list 1 permit 100.100.23.0 0.0.0.255 ----访问控制列表1,用于过滤原地址,允许100.100.23.0网段主机流量通过

access-list 2 permit 100.100.24.0 0.0.0.255 ----访问控制列表2,用于过滤原地址,允许100.100.23.0网段主机流量通过
!
route-map t0 permit 10 ----定义route-map t0,permit序列为10
match ip address 1 ----检查原地址,允许100.100.23.0 网段地址
set default next-hop 192.168.1.1 ----指定缺省下一跳
!
route-map t0 permit 20 ----定义route-map t0,permit序列为20
match ip address 2 ----检查原地址,允许100.100.24.0 网段地址
set default next-hop 192.168.2.1 ----指定缺省下一跳

router-map t1 permit 10
match ip address 1
!
router-map t2 permit 20
match ip address 2
!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/262387/viewspace-1015915/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/262387/viewspace-1015915/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值