デュアルWANリンクで構成されたCisco 891ルーターがいくつかあります。これらのルーターはすべてCisco IOS 15.xを実行しています。場合によっては、ポリシーベースのルーティングを使用して、特定のトラフィックを1つのリンクに強制的にダウンさせます。
お客様は通常、特定のトラフィックが特定のリンクを通過することを望んでいるため、デュアルWANセットアップでPBRをよく使用します。たとえば、VOIPなどのリアルタイムトラフィックが1つのリンクを通過し、次に一般的なインターネットが別のリンクを通過する必要があることがよくあります。通常、PBRを使用して、送信元/宛先IP、VLAN、またはそれに適合するものに従ってトラフィックをルーティングします。 。
もちろん、専用の音声リンクをオフラインにする必要がある場合は、サービスの品質を下げることをお勧めします。set next-hop verify-availability
必要に応じて、トラフィックが他のWANにフェールオーバーできるようにするために、IP SLAトラッキングオブジェクトを使用する傾向があります。
私の質問は、ネクストホップではなくPBRを使用してインターフェイスを設定するときに、同じ構成(可用性を確認するために追跡オブジェクトを使用)を実行することはまったく可能ですか?
これにはいくつかの理由があります。
すべてのPPPoEダイヤラインターフェイスでIPおよびルーティング設定を自動ネゴシエートします。サードパーティのISPの1つが先に進み、すべてのDSL接続のデフォルトルートを変更しました。これは、ネクストホップをPBR構成にハードコードしていたため、機能しなくなったことを意味します。幸運なことに、PBRは他のWANにフェールオーバーしましたが、いずれにせよ、デフォルトルートを実行する方法と同様に、できる限りIPをハードコーディングする必要がないようにしています。
ip route 0.0.0.0 0.0.0.0 Dialer0 10 track 1
今日、私はいくつかの新しいCPEでデュアルWANを構成するように求められ、PBRを使用してVOIPトラフィックを専用回線に送り、必要に応じてインターネットリンクにフェイルバックします。問題は、この顧客が同じISPからの2つのDSL回線を使用しているため、ネクストホップがどちらの場合でも同じになることです。したがって、明らかに次に行うのは代わりにインターフェースを設定することですが、これはつまり、検証可能性を失うことを意味します。
インターフェイスを設定するときに、これを実現するために使用できるPBR構成を知っている人がいることを願っています。
参考までに、ここで私が現在それを行う方法を以下に示しますnext-hop
。
編集:より詳細な例が含まれています。
track 1 ip sla 1
delay down 20 up 10
!
track 2 ip sla 2
delay down 20 up 10
!
interface FastEthernet8
description PPPoE ADSL2+ VOIP
no ip address
ip nat outside
ip virtual-reassembly in
duplex auto
speed auto
pppoe enable group global
pppoe-client dial-pool-number 1
interface GigabitEthernet0
description PPPoE ADSL2+ All Internet Traffic
no ip address
ip nat outside
ip virtual-reassembly in
duplex auto
speed auto
pppoe enable group global
pppoe-client dial-pool-number 2
interface Vlan1
description $ETH_LAN$
ip address 192.168.1.254 255.255.255.0
ip nat inside
ip virtual-reassembly in
ip tcp adjust-mss 1452
ip policy route-map PBR-LAN
interface Dialer0
description VOIP ADSL2+ Dialer Interface
bandwidth 1024
bandwidth receive 20480
ip address negotiated
no ip redirects
no ip proxy-arp
ip mtu 1492
ip nat outside
ip virtual-reassembly in
encapsulation ppp
ip tcp adjust-mss 1452
dialer pool 1
dialer-group 1
ppp authentication chap pap callin
ppp chap hostname xxxx@cust.example.com
ppp chap password 0 yyyy
ppp pap sent-username xxxx@cust.example.com password 0 yyyy
no cdp enable
interface Dialer1
description Internet ADSL2+ Dialer Interface
bandwidth 1024
bandwidth receive 20480
ip address negotiated
no ip redirects
no ip proxy-arp
ip mtu 1492
ip nat outside
ip virtual-reassembly in
encapsulation ppp
ip tcp adjust-mss 1452
dialer pool 2
dialer-group 2
ppp authentication chap pap callin
ppp chap hostname zzz@cust2.example.com
ppp chap password 0 aaa
ppp pap sent-username zzz@cust2.example.com password 0 aaa
no cdp enable
ip local policy route-map PBR-LOCAL
ip nat inside source route-map DSL2-DATA-NAT interface Dialer1 overload
ip nat inside source route-map DSL2-VOIP-NAT interface Dialer0 overload
ip route 0.0.0.0 0.0.0.0 Dialer0 10 track 1
ip route 0.0.0.0 0.0.0.0 Dialer1 track 2
ip access-list extended NAT-POOL
remark Be sure to exclude remote LANs in this ACL
deny ip 192.168.1.0 0.0.0.255 192.168.7.0 0.0.0.255
permit ip 192.168.1.0 0.0.0.255 any
ip access-list extended PBR-DSL-DATA
remark Match local traffic with DSL DATA src IP
permit ip host 89.123.45.67 any
ip access-list extended PBR-DSL-VOIP
remark Match local traffic with DSL VOIP src IP
permit ip host 89.123.45.70 any
ip access-list extended VOIP-PBX
remark Match traffic to/from our VOIP PBX so it can use dedicated link.
permit ip host 89.123.45.10 any
permit ip any host 89.123.45.10
! For the IP SLAs I simply ping the gateway of the circuit
! In this case, we have two DSL links from the same ISP
! So I simply ping the same gateway for both, with different source interfaces.
ip sla 1
icmp-echo 89.123.45.1 source-interface Dialer0
threshold 4000
frequency 5
ip sla schedule 1 life forever start-time now
ip sla 2
icmp-echo 89.123.45.1 source-interface Dialer1
threshold 4000
frequency 5
ip sla schedule 2 life forever start-time now
! These PBR-LOCAL route-maps are used for traffic coming from
! The router itself. (eg. ICMP, IPSec) Allows it to correctly
! Respond on both links, no matter which is the primary/active link.
route-map PBR-LOCAL permit 10
description Route traffic with src IP VOIP DSL
match ip address PBR-DSL-VOIP
set interface Dialer0
!
route-map PBR-LOCAL permit 20
description Route traffic with src IP DATA DSL
match ip address PBR-DSL-DATA
set interface Dialer1
!
route-map PBR-LAN permit 1
description This route map is to match all VOIP traffic and force it over the correct ADSL line
match ip address VOIP-PBX
! Using next-hop is how I would typically do this sort of thing.
! However - in this case since both links are from the same ISP, the next-hop is the same in both cases.
! So, although I haven't tried it, I am sure the router would have no way to know exactly which link I mean.
!
! In this example, I've used 89.123.45.1 as the gateway IP for both DSL links.
!
!
! Try using VOIP Link
! set ip next-hop verify-availability 89.123.45.1 1 track 1
! If that fails, try the DATA link
! set ip next-hop verify-availability 89.123.45.1 2 track 2
!
!
! Because of this, my work-around has been to simply specify the Dialer interface
! of the link I want to use. But this also means no failover to the data link.
! Hope this makes sense.
!
!
set interface Dialer0
route-map DSL2-VOIP-NAT permit 10
description This route match is to match NAT traffic for the VOIP ADSL2+ Connection
match ip address NAT-POOL
match interface Dialer0
!
route-map DSL2-DATA-NAT permit 10
description This route match is to match NAT traffic for the DATA ADSL2+ Connection
match ip address NAT-POOL
match interface Dialer1
!