Quagga OSPF



  • Ребята, помогите плз…чего-то я вообще не пойму что происходит, ни при каких вариантах...
    Что имеем:
    1. Шлюз_1
    WAN: 94.27.XX.X1/29
    LAN: 192.168.2.0/24
    2. Шлюз_2
    WAN: 94.27.XX.X2/29
    LAN: 192.168.3.0/24
    Оба шлюза стоят рядышком и подключены в тупой свитч от одного провайдера.
    На обоих стоит pfSense 2.0.2-RELEASE (amd64) и пакет Quagga OSPF (из Packages, хотя из портов тоже пробывал ставить, и нифига, ситуЁвина та же) и настроено согласно вот этого топика: http://forum.pfsense.org/index.php/topic,58846.0.html. OSFP поднимается, все замечательно, а попингуя нет и доступа между сетями тоже, и в чем причина никак не могу понять!!!
    В фаерволе разрешил WAN подсети ходить как угодно и куда угодно, так же добавил правило для локальных сетей, снял галочки на в настройках WAN интерфейса "Block private networks" и "Block bogon networks". Где гоню, подскажите пожалуйста.
    HELP ME PLEASE!!! А то скоро шарики за ролики заедут совсем…

    ЗюЫю: Так же к прочтены были следующие доки:
    1. http://myfreebsd.ru/network/ospf-osnovy-dinamicheskoj-marshrutizacii
    2. http://subnets.ru/wrapper.php?p=36
    3. http://www.freebsd.org/cgi/man.cgi?query=ospfd&sektion=8&apropos=0&manpath=FreeBSD+Ports+9.0-RELEASE
    4. http://www.hilik.org.ua/настраиваем-ospf-в-quagga/ - это собственно мой вариант, только 2 сервака и шлюз прова.
    5. http://forum.lissyara.su/viewtopic.php?f=14&t=14464
    6. http://muff.kiev.ua/content/quagga-prevrashchenie-servera-v-polnofunktsionalnyi-marshrutizator



  • Ваши локальные сети идут наружу через NAT, они как бы скрыты за ним. Т.е. представьте, первый шлюз знает, что сеть 192.168.3.х находится за вторым и шлет в нее пинг. Пусть даже провайдер не режет серые сети на своем оборудовании (хотя, в общем случае это не так) и пинг приходит в сеть за вторым шлюзом. Ответ от хоста во второй сети NATится на выходе из шлюза 2 в его внешний адрес и закономерно отбрасывается первым шлюзом так как он ждет ответа от 192.168.3.3, а вовсе не от 94.27.XX.X2.
    Совсем по-другому обстоят дела, когда у вас есть туннель между сетями. В этом случае по сути на каждом из концов у вас как бы добавляется еще одна локальная сеть, в которую есть доступ без NATа (чисто роутинг), и о которой провайдер ничего не может знать в принципе. В итоге все работает.



  • @rubic:

    Ваши локальные сети идут наружу через NAT, они как бы скрыты за ним. Т.е. представьте, первый шлюз знает, что сеть 192.168.3.х находится за вторым и шлет в нее пинг. Пусть даже провайдер не режет серые сети на своем оборудовании (хотя, в общем случае это не так) и пинг приходит в сеть за вторым шлюзом. Ответ от хоста во второй сети NATится на выходе из шлюза 2 в его внешний адрес и закономерно отбрасывается первым шлюзом так как он ждет ответа от 192.168.3.3, а вовсе не от 94.27.XX.X2.
    Совсем по-другому обстоят дела, когда у вас есть туннель между сетями. В этом случае по сути на каждом из концов у вас как бы добавляется еще одна локальная сеть, в которую есть доступ без NATа (чисто роутинг), и о которой провайдер ничего не может знать в принципе. В итоге все работает.

    Я правильно понимаю, если я в свою "конструкцию сети добавлю еще 1 маршрутизатор на базе pfSense и сделаю следующую схему:
    1. Шлюз_1
    WAN: 94.27.XX.X5/29
    LAN: 94.27.XX.X4/29
    GW: 94.27.XX.X1/29
    2. Шлюз_2
    WAN: 94.27.XX.X2/29
    LAN: 192.168.2.0/24
    GW: 94.27.XX.X4/29
    2. Шлюз_2
    WAN: 94.27.XX.X3/29
    LAN: 192.168.3.0/24
    GW: 94.27.XX.X4/29
    Исходя из этого WAN Шлюз_1 подключу напрямую к провайдеру, LAN подключу в тупой свитч, WAN Шлюз_2 и Шлюз_3 подключаю в этот же тупой свитч, LAN соответственно в локалку.
    На всех 3-х Шлюзах настрою OSPF и после этого все должно заработать, да?



  • Попробуйте просто перевести Firewall -> NAT Outbound в Manual режим и сделать наверху правила NO-NAT для общения между двумя вашими шлюзами. Т.е. чтобы травик из 192.168.3.х в 192.168.2.х не NAT-ился, и наоборот. Третий шлюз вам не поможет, причина в NAT.



  • @rubic:

    Попробуйте просто перевести Firewall -> NAT Outbound в Manual режим и сделать наверху правила NO-NAT для общения между двумя вашими шлюзами. Т.е. чтобы травик из 192.168.3.х в 192.168.2.х не NAT-ился, и наоборот. Третий шлюз вам не поможет, причина в NAT.

    Как должно выглядеть правило?
    А то я чуть не уложил 2 Шлюза с настройками ната…
    Interface WAN
    Source ВНЕШНИЙ IP
    Source Port ANY
    Destination ВНУТРЕННИЙ IP
    Destination Port ANY
    NAT Address ANY
    NAT Port ANY
    Static Port NO

    Таким образом?



  • @VOLKOV:

    Как должно выглядеть правило?

    http://forum.pfsense.org/index.php/topic,54771.0.html



  • @dr.gopher:

    @VOLKOV:

    Как должно выглядеть правило?

    http://forum.pfsense.org/index.php/topic,54771.0.html

    Для того что бы поставить галочку на нужном правиле, его надо сначала правильно написать, вопрос на текущий момент именно в этом.



  • На обоих шлюзах переводите NAT-Outbound в Manual
    на первом делаете правило:

    Do not NAT X
    Interface WAN
    Source  192.168.2.0/24
    Destination  192.168.3.0/24

    на втором:

    Do not NAT X
    Interface WAN
    Source  192.168.3.0/24
    Destination  192.168.2.0/24

    и на обоих шлюзах ставите это правило первым по списку



  • @rubic:

    На обоих шлюзах переводите NAT-Outbound в Manual
    на первом делаете правило:

    Do not NAT X
    Interface WAN
    Source   192.168.2.0/24
    Destination   192.168.3.0/24

    на втором:

    Do not NAT X
    Interface WAN
    Source   192.168.3.0/24
    Destination   192.168.2.0/24

    и на обоих шлюзах ставите это правило первым по списку

    Щас проверю, отпишусь…



  • @rubic:

    На обоих шлюзах переводите NAT-Outbound в Manual
    на первом делаете правило:

    Do not NAT X
    Interface WAN
    Source   192.168.2.0/24
    Destination   192.168.3.0/24

    на втором:

    Do not NAT X
    Interface WAN
    Source   192.168.3.0/24
    Destination   192.168.2.0/24

    и на обоих шлюзах ставите это правило первым по списку

    Не заработало! :( Всиравно идет на прова…где-то глюк...



  • Трабла все же я так понимаю в нате…вообщем снес я пакедж, и поставился из портов, пакет quagga-re, настроил конфиги, получил что надо, все ок, "НО"...попингуев всиравно нет...соответственно есть необходимость настроить нат...вопрос как?!?!?!?!?! :-\



  • Diagnostics -> Routes приведите с обоих шлюзов для уверенности



  • @rubic:

    Diagnostics -> Routes приведите с обоих шлюзов для уверенности

    Вот привожу, в прикреплении 2 файла, один со скрином от сервака 192.168.2.0/24, второй 192.168.3.0/24.






  • Ээ.. в общем забудьте. Вспомнил, что pfSense не поддерживает несколько шлюзов на одном интерфейсе. В этом и вся проблема. Странно конечно, но это так. Непонятный косяк на L2. Вот Packet capture с WAN шлюза 2 (машина за шлюзом 2 пингует машину за шлюзом 1):

    16:54:34.324876 00:0c:29:9e:40:54 > 00:0c:29:4a:b4:4b, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 127, id 1432, offset 0, flags [none], proto ICMP (1), length 60)
       192.168.3.2 > 192.168.2.2: ICMP echo request, id 512, seq 20224, length 40

    Здесь все нормально, в частности 00:0c:29:9e:40:54 - MAC WAN второго шлюза, 00:0c:29:4a:b4:4b - MAC WAN первого шлюза. Но ответы не приходят. А почему? Потому, что на первом шлюзе:

    16:54:34.341104 00:0c:29:9e:40:54 > 00:0c:29:4a:b4:4b, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 127, id 1432, offset 0, flags [none], proto ICMP (1), length 60)
       192.168.3.2 > 192.168.2.2: ICMP echo request, id 512, seq 20224, length 40
    16:54:34.341663 00:0c:29:4a:b4:4b > 00:0c:29:70:d9:9e, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 127, id 6541, offset 0, flags [none], proto ICMP (1), length 60)
       192.168.2.2 > 192.168.3.2: ICMP echo reply, id 512, seq 20224, length 40

    где левый 00:0c:29:70:d9:9e - MAC провайдерского шлюза, на который и летит в результате ответ. Все тем более загадочно, что со второго шлюза все летит четко по MAC-ам, а обратно - уже нет))

    Вывод: если вам так принципиален OSPF, делайте VLAN между шлюзами (не факт, что даже тупой свитч порежет метки), либо поднимайте между ними туннель.



  • @rubic:

    Ээ.. в общем забудьте. Вспомнил, что pfSense не поддерживает несколько шлюзов на одном интерфейсе. В этом и вся проблема. Странно конечно, но это так. Непонятный косяк на L2. Вот Packet capture с WAN шлюза 2 (машина за шлюзом 2 пингует машину за шлюзом 1):

    Вывод: если вам так принципиален OSPF, делайте VLAN между шлюзами (не факт, что даже тупой свитч порежет метки), либо поднимайте между ними туннель.

    Обнадеживающе…ладно...буду экспериментировать с чистой FreeBSD...Спасибо за помощь...


Locked