The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Настройка route-map, TCL, BGP, !*! Egenius, 30-Сен-13, 11:58  [смотреть все]
Добрый день.

Схема сети.

Cisco 3825
2 провайдера, интернет от которых получаем по BGP.
Своя автономка.


Интернет клиентам раздаётся путём выделения каждому своего vlan-а.

На просторах интернета найден скрипт, забирающий и парсящий реестр раз в сутки и создающий на его основе два access-листа. Один для nginx, второй для cisco.
На cisco создан access-list "rzs" а так же route-map на основе данного листа, заворачивающий весть трафик до определённых IP на хост с nginx, который выступает прокси-сервером.


# show route-map rzs
route-map rzs, permit, sequence 1
  Match clauses:
    ip address (access-lists): rzs
  Set clauses:
    ip next-hop 1.2.3.4
  Policy routing matches: 0 packets, 0 bytes

# show ip access-lists rzs
Extended IP access list rzs
    10 permit tcp any host 103.31.186.56 eq www 443
    20 permit tcp any host 103.31.186.73 eq www 443
    30 permit tcp any host 108.162.192.166 eq www 443
....


Задача.
Ограничить всем клиентам доступ к определённым ресурсам(реестр запрещённых сайтов).
Пробовал вешать данный route-map на интерфейсы провайдеров и на BGP-пиров, но результата не получил.
Необходимо из под линукс, при помощи TCL или expect повесить route-map на все существующие клиентские интерфейсы(Gi0/1.XXX), а так же автоматизировать пере-генерацию access-list.
Вариант с "interface range" не подходит, т.к. клиентские vlan-ы идут не по порядку и в результате выполнения этой команды создаются недостающие интерфейсы.
Перечитал много форумов и примеров tcl-скриптов, но сделать то что нужно не получается.
Если поможете повесить route-map на BGP, буду очень благодарен.
Останется тогда лишь автоматизировать пере-генерацию access-list на cisco.

Прошу помощи.

  • Настройка route-map, TCL, BGP, !*! Egenius, 13:22 , 01-Окт-13 (1)
    Как работать с expect разобрался.

    set timeout 5
    set hostname "1.2.3.4"

    set username "user"
    set password "pass"

    spawn ssh $username@$hostname

      expect "Password:" {
      send "$password\n"
      expect "#"
      send "terminal width 0\n"
      expect "#"
      send "terminal length 0\n"
      expect "#"
      send "sh int | i GigabitEthernet0/1.\n"
      expect "#"
      send "q\n"

    Нужна только помощь в инструкции для expect которая бы из запhоса "sh int" выуживала бы только имена интерфейсов и создавала бы файлик с именами этих интерфейсов.

    • Настройка route-map, TCL, BGP, !*! anonymous, 10:12 , 03-Окт-13 (3)
      • Настройка route-map, TCL, BGP, !*! Egenius, 08:58 , 04-Окт-13 (5)
        > Добрый день!
        > Мне кажется, Вы нашли несколько нетривиальный подход к этой задаче.

        Нашёл то что лежало на поверхности.
        Если есть более удобный и простой способ решить поставленную задачу, буду благодарен за совет.

        > Однако, если хочется сделать именно так, то данные, полученные expect'ом, сохраняются в
        > массиве expect_out - элементы массива expect_out(buffer) (вся полученная/отброшенная
        > инфа, в завимости от выражения), expect_out(1,string) (соответствие первому подшаблону
        > регулярки), и так 2..9,string.
        > Подробнее в man expect.
        > Еще - парсить удобнее построчный вывод, к примеру, после вывода команды show
        > interfaces description.

        Если не трудно, приведите пример исходя из приведённого выше скрипта.

        Спасибо!

  • Настройка route-map, TCL, BGP, !*! QRSa, 14:21 , 02-Окт-13 (2)
    • Настройка route-map, TCL, BGP, !*! Egenius, 08:48 , 04-Окт-13 (4)
      >> Ограничить всем клиентам доступ к определённым ресурсам(реестр запрещённых сайтов).
      > Добрый день.
      > Фильтрация контента может выполняться с помощью NBAR в конструкциях service-policy output
      > (на внешнем интерфейсе) или ZBFW.

      NBAR не подошёл, т.к. сильно тормозит и имеет свои ограничения.
      К примеру для блокировки всего URL "domain.tld/test/index.php?jksvhb"
      Нужно разделять доменную часть и сам запрос, создавая при этом 2 правила.
      Плюс cisco при этом сильно тормозит.
      По поводу ZBFW хотелось бы подробнее и с примерным конфигом, если можно.

      > Не понятно зачем Вы постоянно (!) применяете route-map на внутренних интерфейсах -
      > они же там уже должны быть?!

      Пользователи то появляются новые то отключаются, так что прописать разом на всех не получается. Плюс при перегенерации access-листа если route-map будет висеть на интерфейсе, клиент будет иметь проблемы с доступностью сети. Так что по мне лучше перед перегенерацией удалить route-map, а затем повесить его вновь.


      • Настройка route-map, TCL, BGP, !*! QRSa, 09:32 , 04-Окт-13 (6)
        • Настройка route-map, TCL, BGP, !*! Egenius, 07:52 , 07-Окт-13 (10)
          > Добрый день.
          > Тогда я не понял, как Вы определяете список запрещенных сайтов? По IP-адресу?

          Список запрещённых сайтов парсится из дампа реестра и на его основе создаётся access-list, точнее rewrite-list для nginx. Пример:

          if ($url ~* "0chan.hk/h/"){rewrite ^(.*)$ /403.html;}

          Из того же дампа вытягивается список доменов и резолвятся их IP, на основе которых строится access=list для route-map-а. Именно трафик, идущий на эти IP роутится на машину с nginx и там уже nginx блокирует совпадающие URL, остальные проксирует как есть.

          > Я полагаю, что если Вы фильтруете по URL - то NBAR единственный
          > приемлемый вариант.
          > ZBFW также использует NBAR, т.ч. в плане производительности не поможет.
          > Как Вы определили, что NBAR "сильно тормозит"?

          Просто циска повисла когда применил несколько правил используя NBAR.

          > Видимо я все же не вполне понимаю в чем задача... почему не
          > ограничивать доступ на прокси? А на него заворачивать весь нелокальный http-траффик...

          В принципе идея как раз в этом, только в качестве прокси nginx как более легкий.

          • Настройка route-map, TCL, BGP, !*! QRSa, 12:33 , 07-Окт-13 (11)
            • Настройка route-map, TCL, BGP, !*! Egenius, 08:52 , 09-Окт-13 (14)
              > Так почему не заворачивать весь трафик?

              Ради пары десятков сайтов ?
              Не вижу смысла.

              > Чините: может прошивка старая, может памяти мало?!!
              > Просто так Cisco не зависает на NBAR; можно show ver ?


              #show version
              Cisco IOS Software, 3800 Software (C3825-ADVIPSERVICESK9-M), Version 12.4(19), RELEASE SOFTWARE (fc1)
              Technical Support: http://www.cisco.com/techsupport
              Copyright (c) 1986-2008 by Cisco Systems, Inc.
              Compiled Sat 01-Mar-08 01:27 by prod_rel_team

              ROM: System Bootstrap, Version 12.4(13r)T, RELEASE SOFTWARE (fc1)

              R1 uptime is 19 hours, 39 minutes
              System returned to ROM by power-on
              System restarted at 15:12:20 Ural Tue Oct 8 2013
              System image file is "flash:c3825-advipservicesk9-mz.124-19.bin"


              This product contains cryptographic features and is subject to United
              States and local country laws governing import, export, transfer and
              use. Delivery of Cisco cryptographic products does not imply
              third-party authority to import, export, distribute or use encryption.
              Importers, exporters, distributors and users are responsible for
              compliance with U.S. and local country laws. By using this product you
              agree to comply with applicable laws and regulations. If you are unable
              to comply with U.S. and local laws, return this product immediately.

              A summary of U.S. laws governing Cisco cryptographic products may be found at:
              http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

              If you require further assistance please contact us by sending email to
              export@cisco.com.

              Cisco 3825 (revision 1.2) with 749568K/36864K bytes of memory.
              Processor board ID FCZ113170RL
              2 Gigabit Ethernet interfaces
              1 Virtual Private Network (VPN) Module
              DRAM configuration is 64 bits wide with parity enabled.
              479K bytes of NVRAM.
              62720K bytes of ATA System CompactFlash (Read/Write)

              Configuration register is 0x2102

  • Настройка route-map, TCL, BGP, !*! IZh, 14:01 , 07-Окт-13 (12)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру