• 一、策略路由是什么?

  • 二、配置H3C双出口。
    (1)配置Easy_IP映射
    (2)配置策略路由
    (3)配置NAT Server映射

一、策略路由是什么?

在H3C设备上,谈到双出口,那么就避免不了策略路由这个概念,那么策略路由又是个什么鬼呢?

它与单纯依照IP报文的目的地址查找路由表进行转发不同,策略路由是一种依据用户制定的策略进行路由选择的机制。策略路由是在路由表已经产生的情况下,不按照路由表进行转发,而是根据需要,依照某种策略改变其转发路径的方法。

路由策略的操作对象是“路由”信息,主要通过对路由的过滤和对路由属性或参数的设置来间接影响数据转发。策略路由的操作对象是“数据包”,主要通过设定的策略直接指导数据的转发。

策略路由通常分为两种:IP单播策略路由和IP组播策略路由。

不管是单播策略路由还是组播策略路由,其配置都需要做两方面的工作:一是定义哪些需要使用策略路由的报文;二是为这些报文指定路由,这可以通过对一个Route-policy的定义来实现。

这里主要说一下单播策略路由,关于组播策略路由可以参考文档: IP组播策略路由

IP单播策略路由可以分为接口策略路由和本地策略路由两种。

  • 接口策略路由:在接口视图下配置(应用于报文到达的接口上),作用于到达该接口的报文。

  • 本地策略路由:在系统视图下配置,对本机产生的报文进行策略路由。

策略路由可用于安全、负载分担等目的。对于一般转发和安全等方面的使用需求,大多数情况下使用的是接口策略路由。

二、配置H3C双出口

下面通过一个模拟的网络环境,配置一下策略路由。

网络环境如下:

H3C设备校园网双出口配置_H3C配置策略路由

环境分析:

该拓扑图中的校园网内部分为两个网段:一个为学生校舍网段(192.168.2.0),主要访问电信提供的internet服务器;另外一个网段为校园办公和教学用网段(192.168.3.0),主要访问教育网。校园网出口路由器连接了电信提供的internet20m光纤,同时也连接了教育网的20m光纤(由于H3C的模拟器无法模拟出PC和server,所以只好使用路由器来代替了)。

需求如下:

1)路由器配置要求:当其中任意一条外部光纤中断时,另一条光纤可备份其下属的网段访问internet服务或教育网资源。
2)Nat配置要求:出口路由器的两个出口都能同时使用校园内网的私有网段做nat后访问外部资源。教育网出口接口处还配置了nat server,使内部的教学网段的某个ip服务器对教育网提供telnet访问服务。
3)策略路由配置要求:校园网内的教学用网段192.168.3.0/24主要通过教育网访问外部资源,而校舍网段192.168.2.0/24主要通过电信出口访问Internet资源。当教育专网的光纤故障时,校舍网段可以通过电信出口访问相关教育网资源,当电信的光纤线路故障时,校舍网段可以通过专网出口访问相关资源。

开始配置:

1、R2路由器配置如下(相关的基础配置就不注释了):

<H3C>sys
[H3C]in g0/1
[H3C-GigabitEthernet0/1]ip add 222.222.222.1 30
[H3C-GigabitEthernet0/1]in g0/0
[H3C-GigabitEthernet0/0]ip add 202.202.202.1 30
[H3C-GigabitEthernet0/0]int loop 0
[H3C-LoopBack0]ip add 202.202.0.1 32
[H3C-LoopBack0]ospf 1           //配置OSPF
[H3C-ospf-1]area 0
[H3C-ospf-1-area-0.0.0.0]net 0.0.0.0 255.255.255.255    
//该声明方式是将本设备的所有网段都声明一下

2、R3路由器配置如下:

<H3C>sys
[H3C]in g0/1
[H3C-GigabitEthernet0/1]ip add 222.222.222.2 30
[H3C-GigabitEthernet0/1]in g0/0
[H3C-GigabitEthernet0/0]ip add 200.200.200.1 29
[H3C-GigabitEthernet0/0]in g0/2
[H3C-GigabitEthernet0/2]ip add 202.1.1.1 24
[H3C-GigabitEthernet0/2]quit
[H3C]ospf 1       //配置OSPF
[H3C-ospf-1]area 0
[H3C-ospf-1-area-0.0.0.0]net 0.0.0.0 255.255.255.255

3、PC3配置如下:

[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 202.1.1.2 24
[H3C-GigabitEthernet0/0]quit
[H3C]ip route 0.0.0.0 0.0.0.0 202.1.1.1

4、R1路由器配置如下:

[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 202.202.202.2 30
[H3C-GigabitEthernet0/0]in g0/1
[H3C-GigabitEthernet0/1]ip add 200.200.200.2 29
[H3C-GigabitEthernet0/1]in vlan 1    //需要配置vlan的IP,将其当做G0/2的接口IP
[H3C-Vlan-interface1]ip add 192.168.1.1 24
[H3C-Vlan-interface1]in g0/2
[H3C-GigabitEthernet0/2]port link-mode bridge   //将该接口改为网桥模式
//所有接口默认属于vlan1,所以相当于G0/2的接口IP已经是vlan 1的IP地址了
[H3C]ip route 192.168.2.0 24 192.168.1.2
[H3C]ip route 192.168.3.0 24 192.168.1.2
[H3C]ospf 1           //配置OSPF
[H3C-ospf-1]area 0
[H3C-ospf-1-area-0.0.0.0]net 202.202.202.0 0.0.0.3
[H3C-ospf-1-area-0.0.0.0]net 200.200.200.0 0.0.0.7

5、SW1配置如下:

[H3C]vlan 2 to 3             //创建vlan
[H3C]in vlan 1
[H3C-Vlan-interface1]ip add 192.168.1.2 24
[H3C-Vlan-interface1]in vlan 2
[H3C-Vlan-interface2]ip add 192.168.2.1 24
[H3C-Vlan-interface2]in vlan 3
[H3C-Vlan-interface3]ip add 192.168.3.1 24
//将接口添加到vlan中
[H3C-Vlan-interface3]in g1/0/2
[H3C-GigabitEthernet1/0/2]port link-type access
[H3C-GigabitEthernet1/0/2]port access vlan 2
[H3C-GigabitEthernet1/0/2]in g1/0/3
[H3C-GigabitEthernet1/0/3]port link-type access
[H3C-GigabitEthernet1/0/3]port access vlan 3
[H3C-GigabitEthernet1/0/3]in g1/0/4
[H3C-GigabitEthernet1/0/4]port link-type access
[H3C-GigabitEthernet1/0/4]port access vlan 3
[H3C]ip route 0.0.0.0 0.0.0.0 192.168.1.1      //配置一个到外网的默认路由1

6、PC1配置如下:

[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 192.168.2.100 24
[H3C-GigabitEthernet0/0]ip route 0.0.0.0 0.0.0.0 192.168.2.1      //相当于配置默认网关

7、PC2配置如下:

[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 192.168.3.100 24
[H3C-GigabitEthernet0/0]ip route 0.0.0.0 0.0.0.0 192.168.3.1

8、Server的配置如下:

[H3C]in g0/0
[H3C-GigabitEthernet0/0]ip add 192.168.3.250 24
[H3C-GigabitEthernet0/0]ip route 0.0.0.0 0.0.0.0 192.168.3.1

经过上述配置,R1已经可以ping通PC3,PC1、PC2及server都可互通,但ping外网的话ping不通,只能ping到192.168.1.1这个地址,公网地址都ping不同,是因为还没做nat映射,接下来在R1配置Easy_IP映射。

(1)配置Easy_IP映射

1、R1上配置Easy_IP:

//创建ACL
[H3C]acl basic 2001
[H3C-acl-ipv4-basic-2001]rule 0 per source 192.168.2.0 0.0.0.255
[H3C-acl-ipv4-basic-2001]rule 5 per source 192.168.3.0 0.0.0.255
[H3C-acl-ipv4-basic-2001]rule 10 deny
//将ACL应用到两个出接口上,匹配到ACL2001的,都进行nat转换
[H3C-acl-ipv4-basic-2001]in g0/0
[H3C-GigabitEthernet0/0]nat outbound 2001
[H3C-GigabitEthernet0/0]in g0/1
[H3C-GigabitEthernet0/1]nat outbound 2001
[H3C-GigabitEthernet0/1]quit

配置NAT之后,已经实现了全网互通。

在pc1上测试ping pc3进行测试:
H3C设备校园网双出口配置_H3C配置策略路由_02

在pc2上测试ping pc3进行测试:
H3C设备校园网双出口配置_H3C配置策略路由_03

在R1上查看nat转换关系,查看流量分别从什么接口出去的。

<H3C>dis nat sess ver //可以看到下面生成了两个nat转换表,每个转换表又包含正向和反向
Slot 0:
Total sessions found: 0<H3C>dis nat sess ver
Slot 0:
Initiator:
  Source      IP/port: 192.168.2.100/44032     //源地址是192.168.2.100
  Destination IP/port: 202.1.1.2/2048  //目标地址是202.1.1.2
  DS-Lite tunnel peer: -
  ××× instance/VLAN ID/VLL ID: -/-/-
  Protocol: ICMP(1)
  Inbound interface: Vlan-interface1
Responder:
  Source      IP/port: 202.1.1.2/6       //202.1.1.2的返回流量
  Destination IP/port: 200.200.200.2/0    //200.200.200.2接口进入内网
  DS-Lite tunnel peer: -
  ××× instance/VLAN ID/VLL ID: -/-/-
  Protocol: ICMP(1)
  Inbound interface: GigabitEthernet0/1
State: ICMP_REPLY
Application: OTHER
Start time: 2019-08-10 02:18:54  TTL: 19s
Initiator->Responder:            0 packets          0 bytes
Responder->Initiator:            0 packets          0 bytes

Initiator:
  Source      IP/port: 192.168.3.100/43008     //源地址是192.168.3.100
  Destination IP/port: 202.1.1.2/2048  //目标地址是202.1.1.2
  DS-Lite tunnel peer: -
  ××× instance/VLAN ID/VLL ID: -/-/-
  Protocol: ICMP(1)
  Inbound interface: Vlan-interface1
Responder:
  Source      IP/port: 202.1.1.2/7      //202.1.1.2的返回流量
  Destination IP/port: 200.200.200.2/0    //200.200.200.2接口进入内网
  DS-Lite tunnel peer: -
  ××× instance/VLAN ID/VLL ID: -/-/-
  Protocol: ICMP(1)
  Inbound interface: GigabitEthernet0/1
State: ICMP_REPLY
Application: OTHER
Start time: 2019-08-10 02:19:00  TTL: 25s
Initiator->Responder:            0 packets          0 bytes
Responder->Initiator:            0 packets          0 bytes

Total sessions found: 2

可以发现现在所有内网的流量都是从200.200.200.2这个接口出去及返回的,也就是说202.202.202.0这条链路处于闲置状体,那么现在配置策略路由,以实现需求。

(2)配置策略路由

//定义一个高级ACL,用来关联vlan  3的流量
[H3C]acl advanced 3000
[H3C-acl-ipv4-adv-3000]rule 0 per ip sou
[H3C-acl-ipv4-adv-3000]rule 0 per ip source 192.168.3.0 0.0.0.255
[H3C-acl-ipv4-adv-3000]quit
[H3C]policy-based-route al permit node 10    //配置策略路由
[H3C-pbr-al-10]if-match acl 3000    //如果匹配ACL  3000
[H3C-pbr-al-10]apply next-hop 202.202.202.1    //则下一跳指向202.202.202.1
[H3C-pbr-al-10]quit
[H3C]policy-based-route al per node 20  空节点,放行其他未匹配流量
[H3C-pbr-al-20]int vlan 1
[H3C-Vlan-interface1]ip policy-based-route al
//在此接口下应用路由策略,因为需要做策略路由的数据包都是从这个接口下转发过来的
[H3C-Vlan-interface1]quit

自行使用PC1和PC2分别ping一下PC3,并查看R1的nat转换表:

[H3C-pbr-al-10]dis nat sess ver
Slot 0:
Total sessions found: 0
[H3C-pbr-al-10]dis nat sess ver
Slot 0:
Initiator:
  Source      IP/port: 192.168.2.100/46336
  Destination IP/port: 202.1.1.1/2048
  DS-Lite tunnel peer: -
  ××× instance/VLAN ID/VLL ID: -/-/-
  Protocol: ICMP(1)
  Inbound interface: Vlan-interface1
Responder:
  Source      IP/port: 202.1.1.1/11
  Destination IP/port: 200.200.200.2/0
  DS-Lite tunnel peer: -
  ××× instance/VLAN ID/VLL ID: -/-/-
  Protocol: ICMP(1)
  Inbound interface: GigabitEthernet0/1
State: ICMP_REPLY
Application: OTHER
Start time: 2019-08-10 02:34:56  TTL: 18s
Initiator->Responder:            0 packets          0 bytes
Responder->Initiator:            0 packets          0 bytes

Initiator:
  Source      IP/port: 192.168.3.100/45056
  Destination IP/port: 202.1.1.2/2048
  DS-Lite tunnel peer: -
  ××× instance/VLAN ID/VLL ID: -/-/-
  Protocol: ICMP(1)
  Inbound interface: Vlan-interface1
Responder:
  Source      IP/port: 202.1.1.2/1
  Destination IP/port: 202.202.202.2/0
  DS-Lite tunnel peer: -
  ××× instance/VLAN ID/VLL ID: -/-/-
  Protocol: ICMP(1)
  Inbound interface: GigabitEthernet0/0
State: ICMP_REPLY
Application: OTHER
Start time: 2019-08-10 02:35:04  TTL: 27s
Initiator->Responder:            0 packets          0 bytes
Responder->Initiator:            0 packets          0 bytes

Total sessions found: 2

OK,可以看到策略路由已经生效了,并且现在关闭R1路由器的G0/0和G0/1中的任何一个接口,都不会影响内网与外网的通信,可自行测试。

下面开始做NAT Server,使PC3可以使用Telnet连接到内网中的Server服务器:

(3)配置NAT Server映射:

R1上配置nat server:

[H3C-GigabitEthernet0/0]in g0/1
[H3C-G0/1]nat server protocol tcp global 200.200.200.3 23 inside 192.168.3.250 231

Server上配置Telnet:

[H3C]telnet server enable
[H3C]local-user admin    //telnet登录时的用户名
New local user added.
[H3C-luser-manage-admin]password simple pwd123    //admin的密码
[H3C-luser-manage-admin]service-type telnet
[H3C-luser-manage-admin]authorization-attribute user-role level-15
[H3C-luser-manage-admin]quit
[H3C]user-interface vty 0
[H3C-line-vty0]authentication-mode scheme
[H3C-line-vty0]protocol inbound telnet
[H3C-line-vty0]quit

验证:

H3C设备校园网双出口配置_H3C配置策略路由_04

可以看到,输入相应的用户名和密码即可Telnet成功,Telnet登录后,可以通过查看当前接口的IP地址,来区分是否登录到server上。