|
Автор |
Сообщение |
Fedia
Супермодератор
Зарегистрирован: 01 окт 2008, 12:24 Сообщения: 4434
|
Что-то давно не брал я в руки шашек! (с) И тут вдруг придумалась задачка. Она совсем не жизненная, но тем интереснее ход ваших мыслей Итак: Представьте себе, что вы хитроумный и коварный провайдер в интернете. У вас в управлении 2 маршрутизатора (пусть cisco). Они соединены кабелем ethernet. Задача: заставить все пакеты, которые идут через вас, пройти через ваши маршрутизаторы 3 раза (вот такой петелькой, как указано на рисунке). Предложите ваши решения. ЗЫ Мне кажется, что я знаю 2 решения. Однако, ни одно из них я не проверял - все умозрительно.
Вложения:
Петля_3_раза.jpg [ 13.09 КБ | Просмотров: 65046 ]
|
15 авг 2012, 23:39 |
|
|
1021
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 37
|
На каждом маршрутизаторе по 3 loopback'а, на которые у них есть маршруты. Сделать PBR по каким-либо меткам в пакете, например DSCP. На R1 пришло с 0 DSCP - значит next hop будет loopback 1 R2. На R2 видим что пришло с 0, ставим AF11, отправляем на loopback 1 R1. На R1 видим что пришло с AF11, отправляем на loopback 2 R2. R2 перебивает на AF21, отправляет на loopback 2 R1. И т.д.
Другое решение будет с саб интерфейсами и VLAN тегами.
|
16 авг 2012, 06:26 |
|
|
imperorr
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 4519
|
На loopback-и NAT NVI =)
|
16 авг 2012, 08:31 |
|
|
Fedia
Супермодератор
Зарегистрирован: 01 окт 2008, 12:24 Сообщения: 4434
|
С метками не очень понял: в условии есть "любой пакет". Значит и меткп DSCP может быть любая
ПРо VLAN поподробнее, можно?
Про NAT NVI: решение задачки принимается только с объяснениями и в идеале конфигом. Иначе похоже на сотрясание воздуха
|
16 авг 2012, 13:38 |
|
|
imperorr
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 4519
|
Ха :) занимаюсь воплощением идеи в жизнь =Р
|
16 авг 2012, 16:43 |
|
|
Lomax
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 1834
|
На каждом маршрутизаторе 3 VRF , соединить последовательно "лесенкой" 5-ю vlan
|
17 авг 2012, 08:36 |
|
|
real1st
Зарегистрирован: 04 окт 2011, 19:33 Сообщения: 1314
|
Наверное, можно примерно так еще: - на левом маршрутизаторе помечаем пакет (match interface + match ACL any any) tag = 1 и отправляем направо - на правом матчим tag = 1, перемечаем на tag = 2 и отправляем влево - на левом матчим tag = 2, перемечаем на tag = 3 и отправляем вправо ...
Второй вариант, как уже озвучили - бьем интерфейсы на сабы, каждый пихаем в разную VRF и получаем некую цепочку на пути пакета
|
17 авг 2012, 10:11 |
|
|
Fedia
Супермодератор
Зарегистрирован: 01 окт 2008, 12:24 Сообщения: 4434
|
Да, с ВРФами засчитывается, если в управлении оба маршрутизатора.
Наиболее "нетравмирующий пакеты" метод..
Давайте усложним: пусть в управлении только правый рутер. Так смогем?
|
17 авг 2012, 12:24 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
Пишу по памяти (или как говорит мой дед "без памяти"), можно попробовать повесить такой PBR
route-map TEST permit 9 match ip address ACL_WITH_DSCP_MATCH_ZZZ set ip next-hop NEXT_IP route-map TEST permit 9 match ip address ACL_WITH_DSCP_MATCH_YYY set set ip dscp ZZZ set ip next-hop BACK_IP route-map TEST permit 9 match ip address ACL_WITH_DSCP_MATCH_XXX set set ip dscp YYY set ip next-hop BACK_IP route-map TEST permit 10 match ip address PERMIT-ANY set set ip dscp XXX set ip next-hop BACK_IP
|
17 авг 2012, 16:20 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
Наврал с номерами seq PBR, но думаю смысл и так ясен
route-map TEST permit 7 match ip address ACL_WITH_DSCP_MATCH_ZZZ set ip next-hop NEXT_IP route-map TEST permit 8 match ip address ACL_WITH_DSCP_MATCH_YYY set set ip dscp ZZZ set ip next-hop BACK_IP route-map TEST permit 9 match ip address ACL_WITH_DSCP_MATCH_XXX set set ip dscp YYY set ip next-hop BACK_IP route-map TEST permit 10 match ip address PERMIT-ANY set set ip dscp XXX set ip next-hop BACK_IP
|
17 авг 2012, 16:21 |
|
|
Lomax
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 1834
|
В уточнении ТЗ есть замечание про "любые пакеты". а тут изначально имеющие XXX YYY ZZZ пройдут по кругу меньше трех раз.
|
17 авг 2012, 19:11 |
|
|
real1st
Зарегистрирован: 04 окт 2011, 19:33 Сообщения: 1314
|
Илья, да и кто даст гарантию, что на левом раутере dscp не сбросятся в нуль? )
А мой коварный пост с решением был потерт? :)
|
17 авг 2012, 19:27 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
Да, очевидно что если сбрасывается или приелает описанные в правилах до 10 то сразу проплывает мимо.
По поводе tag, насколько мне известно это для маршрутов, но никак не для пакетов, трафик эта команда не маркирует никоим образом.
|
17 авг 2012, 20:02 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
Сергей, могу ошибаться но кажется вот что вы хотели увидеть:
ip nat pool ONE 10.0.0.1 10.0.0.255 prefix-length /24 type match-host ip nat pool TWO 11.0.0.1 11.0.0.255 prefix-length /24 type match-host ip nat pool THREE 12.0.0.1 12.0.0.255 prefix-length /24 type match-host ip nat pool ORIGINAL x.x.x.x x.x.x.x prefix-length /24 type match-host ! routes AS1
ip access-list TEST permit ip AS-1-routes AS-2-routes
route-map NAT-NVI permit 10 match ip address TEST set interface loopback1
route-map NAT-NVI permit 20 match ip address ONE_POOL set interface loopback2
route-map NAT-NVI permit 30 match ip address TWO_POOL set interface loopback3
route-map NAT-NVI permit 40 match ip address THREE_POOL set interface loopback4
route-map BACK permit 10 set ip next-hop left_router_ip
int fa0/0 ip policy route-map NAT-NVI
int lo1 ip nat enable ip address x.x.x.x ip policy route-map BACK
int lo2 ip nat enable ip address x.x.x.x ip policy route-map BACK
int lo3 ip nat enable ip address x.x.x.x ip policy route-map BACK
int lo4 ip nat enable ip address x.x.x.x
access-list 1 permit ip AS-1-routes access-list 2 permit ip 10.0.0.0 0.0.0.255 access-list 3 permit ip 11.0.0.0 0.0.0.255 access-list 3 permit ip 12.0.0.0 0.0.0.255
ip nat source list 1 pool ONE ip nat source list 2 pool TWO ip nat source list 3pool THREE ip nat source list 4 pool ORIGINAL
|
17 авг 2012, 21:02 |
|
|
real1st
Зарегистрирован: 04 окт 2011, 19:33 Сообщения: 1314
|
Илья,
под термином "tag" имелось ввиду некое значение, которым можно маркировать конкретный IP-пакет. И Ваш конфиг - кстати, продолжение моей мысли о НАТе...я парвда здесь почему-то своего сообщения не вижу :(
|
17 авг 2012, 23:01 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
Ну так какое значение то ? Про метки qos сами сказали, что такого решение не подходит (ну и оно не полное, в принципе, я с самого начала это осознавал, но момент занимательный однако) так как может сбрасываться, известных мне аналогов в рамках решения данной задачи нет, при решении опираемся на то, что существует а не гипотетически возможно :)
Про NAT я тоже к сожалению тоже не вижу сообщения, но у меня у самого сайт плохо открывается. Ближе всех к решению возможно еще подобрался господин imperorr, но воплощение в жизнь у него занимает не разумное время )
В общем приятная задача, но Сергей – желаю чтобы в следующий раз критерии были более детально описаны :)
|
17 авг 2012, 23:19 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
Забыл сказать, VRF самое очевидное решение в данном случае конечно же, но оно не спортивное получается :)
|
17 авг 2012, 23:21 |
|
|
1021
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 37
|
Насчет тегов - а чем вас не устраивает vlan тег? Если даже провайдеру приходят уже помеченные, можно сделать двойную инкапсуляцию, чем все провайдеры и пользуются.
|
18 авг 2012, 21:38 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
To nihilo666:
Вы простите о чем вообще ? Мое сообщение было адресовано не вам, а fantas1st0. Имелось ввиду, то что через PBR нет известных меток которые можно было бы выставить к пакету идущему через IP сеть кроме меток qos (именно вставить через PBR). Вы моего комментария просто совершенно не поняли. То что вы предложили по поводу "бить на сабы" – работать будет, это очевидная вещь, но под управлением один маршрутизатор (Сергей уточнил это позже).. Про то что такое dot1q-tunnel я в курсе. В целом ваш комментарий не по делу, что ? откуда ? куда ? какие метки ? к какому провайдеру ? почему ? По задаче пакет нужно заставить ходить между двумя маршрутизаторами одного провайдера, т.е. исходя из логической схемы, пришел пакет с левой стороны, левый роутер сделал l3, отдал правому напрямую (что между левым и правым пофигу совершенно, одна метка, две или нет их вовсе) и так далее..
ps Засовывать сабы в VRF не обязательно, хватит и простого PBR на них :)
|
18 авг 2012, 23:30 |
|
|
1021
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 37
|
Я вас отлично понял. [quote]через PBR нет известных меток которые можно было бы выставить к пакету идущему через IP сеть кроме меток qos (именно вставить через PBR).[/quote] Вот на это я и ответил, что всегда для этой цели есть хотя бы vlan тег. Хотя вставить его напрямую командой set в route-map'е нельзя, достаточно отправить на требуемый next hop, маршрутизатор сам поменяет метку. Что vlan что dscp, суть одна - использование меток. Как вы правильно заметили, VRF делать не обязательно. В качестве такой метки также можно использовать mpls label по тому же принципу.
|
19 авг 2012, 13:59 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
Вы предлагаете мне с вами письками померяться чтоли ? Вы себе задачи на ходу сочиняете, вам пишут "именно вставить через PBR", то что вы пишите мне про VLAN ID вещи очевидные но c PBR связаны косвенно, я об этом даже не парюсь, но вы не учитываете что задача решается в рамках одного маршрутизатора, как минимум. Я и что такое MPLS в курсе и работал с ним долго, по этому в сообщении адресованном вам подчеркнул специально "IP сети", а не IP/MPLS сети.
|
19 авг 2012, 14:57 |
|
|
Fedia
Супермодератор
Зарегистрирован: 01 окт 2008, 12:24 Сообщения: 4434
|
Вижу, Илья, ты действительно не сдержан.
Надеюсь, это преходящее, т.к. специалист ты прекрасные, мыслишь глубоко. Просто перестань видеть по ту сторону экрана врагов. Удалять я это не буду, тебя удалять - тоже. Со всеми бывает. Я помнится на заре туманной юности и не такие копья ломал по вовсе несущественным темам.
По делу: да, NAT NVI - это первое решение, пришедшее в голову. Твое решение имеет косяяк в том, что 11 и 12 сети - глобально маршрутизируются (т.е. не отработает "для всех пакетов"). Но это ты легко поправишь.
Расскажи, зачем тебе понадобилось делать match-host? ПРосто для красоты? Но для всех может не хватить. Я бы делал РАТ в большой пул. Но тогда не отработает для не TCP/UDP/ICMP.
Решение с VRF (VLAN) по сути - одно и то же. Туда же можно добавить про int tunnel. Оно работает и в случае, если у нас в управлении один рутер.
ЗЫ А задачка просто родилась из головы, ИМХО никакого реального применения, кроме разве что заворота трафика на какую-нить очистку, она не имеет.
|
20 авг 2012, 11:08 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
Сергей,
Не понял про маршрутизацию серой сети. Я предложил сначало сделать NAT в сеть 10.0.0.0/24, вернуть пакет обратно, пришедший пакет пронатить в 11.0.0.0/24, вернуть обратно, пришедший пакет пронатить в 12.0.0.0/24, вернуть обратно, пришедший пакет пронатить в ORIGIN (исходный адрес который был до NAT в 10.0.0.0/24), почему будет проблема с маршрутизацией ?
По поводу match-host - нужно для ната один в один, размер пулов ONE/TWO/TRHREE должен совпадать с размером сети за AS1 (в примере я отталкивался от того что за AS1 один блок /24). Таким образом мы получаем конфиг при котором не только пакет крутится три раза, но и хост находящийся в AS2 получает пакет с тем же source адресом который и был :)
|
20 авг 2012, 13:09 |
|
|
998
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 258
|
ыы, понял, понял )
|
20 авг 2012, 13:53 |
|
|
imperorr
Зарегистрирован: 01 янв 1970, 03:00 Сообщения: 4519
|
NAT NVI это мое решение :) в данный момент занимаюсь реализацией =P
|
20 авг 2012, 16:01 |
|
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|
|