Chúng tôi có một số bộ định tuyến Cisco 891 được cấu hình với các liên kết WAN kép. Tất cả các bộ định tuyến này đang chạy Cisco IOS 15.x Trong một số trường hợp, chúng tôi sử dụng định tuyến dựa trên chính sách để buộc lưu lượng truy cập cụ thể xuống một liên kết.
Tôi sử dụng PBR rất nhiều với các thiết lập Dual WAN, vì khách hàng thường muốn lưu lượng truy cập nhất định đi qua một liên kết cụ thể. Ví dụ: tôi thường sẽ cần có lưu lượng truy cập thời gian thực như VOIP đi qua một liên kết, sau đó internet chung để đi qua một liên kết khác và thường sẽ sử dụng PBR để định tuyến lưu lượng theo IP nguồn / đích, Vlan hoặc bất cứ điều gì phù hợp .
Rõ ràng, tốt nhất là vẫn cung cấp dịch vụ xuống cấp nếu liên kết thoại chuyên dụng nên ngoại tuyến. Tôi có xu hướng sử dụng set next-hop verify-availability
với một đối tượng theo dõi SLA IP để cho phép lưu lượng truy cập vẫn chuyển sang mạng WAN khác, nếu cần.
Câu hỏi của tôi là: Có khả năng thực hiện cùng một cấu hình (với một đối tượng theo dõi để xác minh tính khả dụng) khi sử dụng PBR để đặt giao diện, thay vì bước tiếp theo không?
Có một vài lý do cho việc này:
Chúng tôi tự động đàm phán cài đặt IP và định tuyến trong tất cả giao diện Trình quay số PPPoE của chúng tôi. Một trong các ISP bên thứ ba của chúng tôi đã đi trước và thay đổi tuyến đường mặc định cho tất cả các kết nối DSL của họ. Điều này có nghĩa là, vì tôi đã mã hóa bước tiếp theo vào cấu hình PBR, nó đã ngừng hoạt động. May mắn thay, PBR đã thất bại so với mạng WAN khác, nhưng trong mọi trường hợp, tôi đã tìm cách tránh sự phụ thuộc vào mã hóa IP bất cứ nơi nào tôi có thể, tương tự như cách tôi thực hiện các tuyến mặc định:
ip route 0.0.0.0 0.0.0.0 Dialer0 10 track 1
Hôm nay tôi đã được yêu cầu định cấu hình mạng WAN kép trên một số CPE mới và sẽ sử dụng PBR để buộc lưu lượng VOIP của chúng tôi xuống một đường chuyên dụng, không quay lại liên kết internet nếu cần. Điều hấp dẫn là khách hàng này đang sử dụng hai đường DSL từ cùng một ISP và do đó, bước nhảy tiếp theo sẽ giống nhau trong cả hai trường hợp. Vì vậy, rõ ràng những gì tôi sẽ làm tiếp theo là thiết lập giao diện thay thế, nhưng điều này có nghĩa là tôi mất khả năng xác minh.
Hy vọng ai đó biết cấu hình PBR nào tôi có thể sử dụng để đạt được điều này khi thiết lập giao diện.
Để tham khảo, đây là cách tôi hiện đang làm, với next-hop
:
EDIT: Bao gồm ví dụ chi tiết hơn.
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
!