Предполагая, что я подключаюсь к двум провайдерам diff и настраиваю их как избыточные соединения, одно из которых имеет больший вес, чем другое. Могу ли я сказать, что любой маршрут к какому-то парню в Испании должен использовать более медленное соединение вместо основного?
Спасибо W
Да, для этого можно использовать карты маршрутов.
У Cisco даже есть конкретный пример:
http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a00800c95bb.shtml#weight
Короче говоря, если бы в сети в Испании был AS100:
ip as-path access-list 5 permit ^100$
route-map setweightin permit 10
match as-path 5
set weight 200
neighbor x.x.x.x route-map setweightin in
Измените вес на желаемый.
Имейте в виду, что это изменяет только путь трафика от вашего маршрутизатора к AS в Испании. Это НЕ меняет путь ОТ AS в Испании ДО вас. Это невозможно с BGP (за исключением особых случаев, когда вы можете использовать сообщества BGP).
Еще одна вещь: если вы хотите, чтобы трафик в основном приходил к вам через вашего основного интернет-провайдера, вам следует добавить путь AS к резервному интернет-провайдеру.
Эта статья объясняет это довольно хорошо:
http://blog.ioshints.info/2008/02/bgp-essentials-as-path-prepending.html
Лучше всего будет установить local-pref для каждого префикса, чтобы отправлять ваш трафик по определенной ссылке. Это предполагает, что вы берете полные таблицы маршрутизации BGP от обоих поставщиков. Это можно сделать с помощью карты маршрутов, применяемой для входящего трафика для желаемого провайдера.
! First, create a prefix-list to match the traffic you want to send out a non-default ISP
ip prefix-list pfl-target-prefix permit 1.2.3.0/24
! create a route-map to match that prefix-list and set the local-pref
route-map rm-bgp-isp-in permit 10
match ip address prefix pfl-target-prefix
set local-preference 150
route-map rm-bgp-isp-in permit 1000
! apply the route-map inbound to your isp
router bgp 1234
neighbor 1.2.3.4 route-map rm-bgp-isp-in in
Преимущество использования local-pref over weight в том, что вес применяется только к локальному маршрутизатору. Вы можете указать локальному маршрутизатору всегда использовать ISP2 в качестве префикса, но это не значит, что остальная часть вашей сети тоже будет. Local-pref будет распространен на все ваши узлы iBGP, и все они предпочтут рассматриваемый маршрут. Если оба провайдера подключены к одному и тому же граничному маршрутизатору, то подойдет либо local-pref, либо weight.
Если вы используете только маршруты по умолчанию, вам нужно будет проделать несколько уловок, чтобы заново создать маршрут назначения внутри вашей собственной сети, чтобы устройства следовали конкретному интернет-провайдеру. Самый простой способ, который я могу придумать, - это создать статический маршрут, указывающий на ISP, к которому должен идти трафик, а затем перераспределить его в ваш локальный BGP или IGP.
ip route <target prefix> <wildcard mask> <isp next-hop>
router ospf 1
redistribute static subnets
Опять же, если оба провайдера находятся на одном маршрутизаторе, перераспределение в IGP не требуется - статика будет указывать вашему пограничному маршрутизатору всегда использовать второго провайдера, пока доступен следующий переход.
Как упоминал другой плакат, ничто из этого не повлияет на то, как удаленный префикс достигает вас. Вам нужно будет добавить as-path к вашей вторичной ссылке, чтобы попытаться повлиять на это, но все еще нет гарантии, что она действительно пойдет по пути, который вы ожидаете.
Надеюсь это поможет.
-Келлер
Вы можете делать то, что вы просите, используя BGP, не так уж сложно поднять предпочтение на определенных маршрутах. Проблема заключается в том, чтобы определить, что вы хотите поднять. В вашем примере вы хотите поднять предпочтение «какой-то парень из Испании» на другую ссылку. Как вы определяете, что находится в Испании? Это то, что ты действительно хотеть? Некоторые маршруты, которые находятся в Испании, недоступны напрямую из остальной части Испании (подумайте о спутниковой связи с удаленными местами, идущей к базовой станции во Франции). Будьте очень осторожны с тем, что именно вы пытаетесь сделать, и убедитесь, что вы делаете то, что влияет на вашу производительность так, как вы хотите.