ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Архивные статьи в категории ‘Сетевое оборудование’

Задача

Ограничить клиента (блок IP адресов) по полосе на пограничном BGP маршутизаторе  Juniper M7i.

Готовых решений в интернете и в доках не нашел, скомпилировал свое на базе найденного и док.

Решение

Создаем полисер на нужную полосу пропускания (5Mbit в данном случае) и правила firewall`а для выделения нужной сетки по образцу:

http://www.juniper.net/techpubs/software/junos/junos42/swconfig-interfaces42/html/firewall-config18.html

получилось примерно так:

policer 5mp {
   if-exceeding {
      bandwidth-limit 5m;
      burst-size-limit 100k;
   }
   then discard;
}
family inet {
    filter lokalka-in {
        term 5mshape {
            from {
                source-address {
                    x.x.x.x/28;
                }
            }
            then policer 5mp;
        }
        term 5mshape2 {
            from {
                destination-address {
                    x.x.x.x/28;
                }
            }
            then policer 5mp;
        }
        term normal {
            then accept;
        }
    }

    filter lokalka-out {
        term 5mshape {
            from {
                destination-address {
                    x.x.x.x/28;
                }
            }
            then policer 5mp;
        }
        term 5mshape2 {
            from {
                source-address {
                    x.x.x.x/28;
                }
            }
            then policer 5mp;
        }
        term normal {
            then accept;
        }
    }
}

Добавил его на  смотрящий внутрь интерфейс Juniper`а :

ge-0/3/0 {
    vlan-tagging;
    unit 0 {
        vlan-id 1025;
        family inet {
            filter {
                    input lokalka-in;
                    output lokalka-in;
            }
            address myIPaddress/27;
        }
    }
}

Все 🙂

может быть можно сделать красивее,или менее напряжно для Juniper’a — коментарии приветсвуются.

Автор:  stalex

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 7, среднее: 4,71 из 5)
Загрузка...
Отправить на почту Отправить на почту

Засада

Столкнулись тут с засадой на одном из серверов.

В сервер вставили дуальную карту Intel Gigabit ET Dual Port Server Adapter, сервер работает шлюзом.

pciconf -lv

igb0@pci0:4:0:0: card=0xa03c8086 chip=0x10c98086 rev=0x01 hdr=0x00
vendor = ‘Intel Corporation’
class = network
subclass = ethernet
igb1@pci0:4:0:1: card=0xa03c8086 chip=0x10c98086 rev=0x01 hdr=0x00
vendor = ‘Intel Corporation’
class = network
subclass = ethernet

Что получили ? А получили вместо ожидаемого улучшения, т.к. встроенные карточки похуже будут, тотальное ухудшение.

Если качать с самого сервера, то закачка идет в полную скорость канала (т.е. можно и более 20 МБ/с выжать),

а вот если качать как клиент (через этот сервер), то скорость закачки 50 килобайт и выше ну никак не идет :(((((

Пробовали драйвера и самой FreeBSD 7.2 так и дрова от Yandex, так и дрова с официального сайта Intel.

Но ситуация не изменялась ни на грамм………

Чего мы тока не делали…… даже бубном стучали админским 🙂 ничего не помогало, даже накатили сервер до  FreeBSD 7.3 PRERELEASE — результат тот же.

Трындец подумали мы……. но:

Сами понимаете, гуглили мы изрядно и вот появился луч надежды, наткнулись на описание той же проблемы на lists.freebsd.org, которая датируется аж:

Mon Jun 8 10:53:08 UTC 2009

Где человек пишет, что ему помогло. А именно:

в /etc/sysctl.conf пишем:

dev.igb.0.enable_lro=0
dev.igb.1.enable_lro=0
dev.igb.0.rx_processing_limit=2048
dev.igb.1.rx_processing_limit=2048

Затем перегружаем сервер, а не правим это налету через sysctl, а иначе не заработает, у нас не заработало, как чел и писал.

И вауля ! Сервер возвращается из ребута и наконец то  все становится как надо ! А именно получаем нормальную скорость через него как клиент.

Если по команде:

sysctl dev.igb.0.enable_lro=0
Вылезает:

sysctl: unknown oid ‘dev.igb.0.enable_lro’

Тогда попробуйте так:

ifconfig igb0 -lro

Итог:

  1. Драйвера с сайта Intel
  2. правка переменных sysctl

Ссылки:

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА ! Пожалуйста, уважайте чужой труд.

Авторы: Панфилов Алексей (lehis (at) subnets.ru), Николаев Дмитрий (virus (at) subnets.ru), Будимиров Максим (madmax (at) subnets.ru)

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 4, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту

Дано:

  • маршрутизатор Cisco 2801, IOS 12.4(13)
  • приходит два канала Интернет от двух разных ISP

Необходимо организовать резервирование Интернет канала. Если живы оба провайдера, то выпускаем через ISP#1, соответственно, если ISP#1 упал, выходим через IPS#2.

Схема:

схема #1

Затем появилась ещё одна задача:

  • Выпустить в Интернет офис №2 и учесть резервирование

Новая схема:

схема #2

Конфигурация Cisco 1841:

!
track 123 ip sla 1 reachability
!
interface FastEthernet0/0
description ISP#1
ip address 85.0.0.242 255.255.255.248
ip nat outside
!
interface FastEthernet0/1
description ISP#2
ip address 84.0.0.242 255.255.255.248
ip nat outside
!
interface FastEthernet0/3/0
description OFFICE#1
switchport access vlan 10
!
interface FastEthernet0/3/1
switchport access vlan 20
!
interface FastEthernet0/3/2
switchport access vlan 30
!
!
interface Vlan10
description OFFICE#1
ip address 192.168.168.29 255.255.255.0
ip nat inside
!
interface Vlan20
description Link-to-Office#2-primary
ip address 192.168.0.2 255.255.255.248
ip nat inside
!
interface Vlan30
description Link-to-Office#2-backup
ip address 10.10.10.2 255.255.255.248
ip nat inside
!
ip local policy route-map LocalPolicy
ip route 0.0.0.0 0.0.0.0 85.0.0.241 track 123
ip route 0.0.0.0 0.0.0.0 84.0.0.241 254
!
ip nat inside source route-map ISP#1 interface FastEthernet0/0 overload
ip nat inside source route-map ISP#2 interface FastEthernet0/1 overload
!
ip sla 1
icmp-echo 85.0.0.241 source-interface FastEthernet0/0
timeout 1000
threshold 40
frequency 3
ip sla schedule 1 life forever start-time now
!
ip access-list extended PingISP#1
permit icmp host 85.0.0.242 host 85.0.0.241
!
access-list 104 remark OFFICE#1
access-list 104 permit ip 192.168.168.0 0.0.0.255 any
access-list 104 permit ip host 192.168.0.2 any
access-list 104 permit ip host 10.10.10.2 any
access-list 104 deny ip any any
!
route-map ISP#1 permit 10
match ip address 104
match interface FastEthernet0/0
!
route-map ISP#2 permit 10
match ip address 104
match interface FastEthernet0/1
!
route-map LocalPolicy permit 10
match ip address PingISP#1
set ip next-hop 85.0.0.241
set interface FastEthernet0/0
!

Конфигирация Cisco 870:

!
ip sla 1
icmp-echo 192.168.0.2 source-ip 192.168.0.4
timeout 1000
threshold 40
frequency 3
ip sla schedule 1 life forever start-time now
!
track 123 rtr 1 reachability
!
interface FastEthernet0
description Link-to-Office#1-primary
switchport access vlan 20
!
interface FastEthernet1
description Link-to-Office#1-backup
switchport access vlan 30
!
interface FastEthernet3
switchport access vlan 10
!
interface Vlan10
description OFFICE#2
ip address 192.168.123.29 255.255.255.0
!
interface Vlan20
ip address 192.168.0.4 255.255.255.248
!
interface Vlan30
ip address 10.10.10.4 255.255.255.248
!
ip route 0.0.0.0 0.0.0.0 192.168.0.2 track 123
ip route 0.0.0.0 0.0.0.0 10.10.10.2 254
!

Обсуждалось тут: subnets.ru/forum

Автор:  msergey

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 1, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту

Коммутатор и Access Lists

Для фильтрации трафика коммутатор может использовать следующие типы ACL:

  • Router ACL
  • Port ACL
  • VLAN ACL
  • MAC ACL

Router ACL

Как и подразумевается в названии, Router ACL подобны на IOS ACL и используются для фильтрации сетевого трафика на SVI (интерфейсы SVI это Layer 3 на VLAN, физические Layer 3 интерфейсы и Layer 3 интерфейсы EtherChannel). Поддерживаются как стандартные, так и расширенные ACL. Для получения более детальной информации по Router ACL, обратитесь к соответствующей документации.

Port ACL

Port ACL подобны Router ACL, но работают на физических интерфейсах и интерфейсах Layer 2 коммутатора. Port ACL поддерживают фильтрацию только входящего трафика. Port ACL могут быть расширенного, стандартного и MAC-extended типа.

Обработка Port ACL подобна Router ACL: коммутатор проверяет ACL, назначенный данному интерфейсу и разрешает или блокирует пакет.

Когда ACL наложен на транковый порт, проверяется трафик всех проходящих через транк VLAN-ов — как данные, так и голос.

Основная прелесть Port ACL состоит в том, что может фильтроваться как IP трафик (используя IP access lists) так и non-IP трафик (используя MAC access list).

Внимание: Port ACLs не поддерживается на интерфейсах EtherChannel.

VLAN ACL (VACL)

VLAN ACL (так же известные как VLAN map) осуществляют пакетную фильтрацию всех типов трафика внутри VLAN или входящих/выходящих из него. В отличие от Router ACL, VACL не определяет направление трафика (input или output). Все пакеты находящиеся в VLAN (маршрутизируемые или внутренние) проверяются VACL. Для пакетной фильтрации в зависимости от направления трафика есть возможность использовать комбинацию VACL и Private VLAN.

VACL обрабатываются на аппаратном уровне, не оказывая влияния на производительность коммутатора. Производительность так же не зависит от объема VACL. Поэтому они упоминаются также как wire-speed ACL.

VACL на порту Layer 2

На рисунке ниже показана работа VACL на briged интерфейсе для Host A в VLAN 5 передающего данные на Host B в VLAN 10.

ns080402

VACL маршрутизируемом порту

На рисунке ниже показана работа IOS ACL и VACL на маршрутизируемом интерфейсе. Порядок выполнения определяется следующим образом:

1. VACL для input VLAN
2. Input IOS ACL
3. Output IOS AC
4. VACL для output VLAN

ns080403

Конфигурирование VACL

Для конфигурирования VACL (VLAN access map) необходимо выполнить следующие действия:

1. Определить стандартный или расширенный ACL, который будет использоваться на VACL.
2. Определить VLAN access map.
3. Описать критерий попадания
4. Описать выполняемое действие при попадании
5. Наложить VLAN access map на соответствующий VLAN.
6. Посмотреть, а что же у нас получилось?

В данном примере мы определяем и накладываем VACL, который будет отбрасывать пакеты, попадающие в access list 1 из сети 192.168.1.0/24, при этом все остальные пакеты, попадающие в access list 2 будут переданы. VACL применяется к VLAN-ам с 5 по 10.

Switch(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Switch(config)#access-list 2 permit any
Switch(config)#vlan access-map mymap 10
Switch(config-access-map)#match ip address 1
Switch(config-access-map)#action drop
Switch(config-access-map)#exit
Switch(config)#vlan access-map mymap 20
Switch(config-access-map)#match ip address 2
Switch(config-access-map)#action forward
Switch(config-access-map)#exit
Switch(config)# vlan filter mymap vlan-list 5-10
Switch(config-access-map)#end

Switch# show vlan access-map
Vlan access-map «mymap» 10
Match clauses:
ip address: 1
Action:
drop
Vlan access-map «mymap» 20
Match clauses:
ip address: 2
Action:
Forward

Switch# show vlan filter
VLAN Map mymap is filtering VLANs:
5-10

MAC ACL

MAC ACL, также известный как Ethernet ACL предназначен для фильтрации non-IP трафика на VLAN или физических интерфейсах Layer 2 используя MAC адреса в именованном расширенном MAC extended ACL.

Шаги по конфигурации MAC ACL подобны обычным именованным расширенным ACL. MAC ACL могут применяться только для фильтрации входящего трафика.

Для определения MAC Extended ACL используется команда mac access-list extended.

После того, как MAC ACL будет создан, его необходимо наложить на интерфейс Layer 2 используя команду mac access-group [acl-name] in

В примере ниже мы покажем, как создать и применить MAC ACL для блокировки всех пакетов AppleTalk Address Resolution Protocol (AARP), пропуская отсальной трафик

Switch(config)# mac access-list extended my-mac-acl
Switch(config-ext-macl)# deny any any aarp
Switch(config-ext-macl)# permit any any
Switch(config-ext-macl)# exit
Switch(config)# interface Fastethernet0/10
Switch(config-if)# mac access-group my-mac-acl in
Switch(config-if)# end
Switch#

Оригинал:   http://dreamcatcher.ru/cisco/003_switches.html

Ссылки:

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 3, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту

Пишу заметочку себе, но м.б. кому нить ещё пригодится.

История

Сижу, конфигурю себе джуник, никого не трогаю 🙂

Закончил делать конфиг, выполняю:

virus@juniper# commit check

и… и получаю сей конфуз:

error: init: write failed: No space left on device
error: configuration check-out failed: daemon file propagation failed

или такой вариант конфуза:

virus@juniper# commit check

error: init: write failed: Unknown error: 0
error: init: write failed: No space left on device
error: write failure for file ttys
error: configuration check-out failed: daemon file propagation failed

Почесав репу 🙂 полез смотреть, что же у меня там со свободным местом то происходит:

virus@juniper# run show system storage

Filesystem              Size       Used      Avail  Capacity   Mounted on
/dev/ad0s1a             885M       142M       672M       17%  /
devfs                   1.0K       1.0K         0B      100%  /dev
devfs                   1.0K       1.0K         0B      100%  /dev/
/dev/md0                 30M        30M         0B      100%  /packages/mnt/jbase
/dev/md1                179M       179M         0B      100%  /packages/mnt/jkernel-9.4R1.8
/dev/md2                 31M        31M         0B      100%  /packages/mnt/jpfe-M7i-9.4R1.8
/dev/md3                4.8M       4.8M         0B      100%  /packages/mnt/jdocs-9.4R1.8
/dev/md4                 48M        48M         0B      100%  /packages/mnt/jroute-9.4R1.8
/dev/md5                 32M        32M         0B      100%  /packages/mnt/jpfe-common-9.4R1.8
/dev/md6                2.0G       8.0K       1.8G        0%  /tmp
/dev/md7                2.0G       2.0G    -160.8M      109%  /mfs
/dev/ad0s1e              98M        26K        90M        0%  /config
procfs                  4.0K       4.0K         0B      100%  /proc
/dev/ad1s1f              34G       470M        31G        1%  /var

мдаааа…. подумал я, минус 160 метров это круто……

начал поиски, куда же все место подевалось ? и нашел таки куда:

virus@juniper# run file list detail /mfs/var/lpdfd/

/mfs/var/lpdfd/:
total 4120268
-rw-r-----  1 root  wheel      24576 May 7  12:16 __db.001
-rw-r-----  1 root  wheel      49152 May 7  12:16 __db.002
-rw-r-----  1 root  wheel     270336 May 7  12:16 __db.003
-rw-r-----  1 root  wheel    1146880 May 7  12:16 __db.004
-rw-r-----  1 root  wheel     475136 May 7  12:16 __db.005
-rw-r-----  1 root  wheel      49152 May 7  12:16 __db.006
-rw-r-----  1 root  wheel         25 May 7  12:17 __db.register
-rw-------  1 root  wheel          4 May 7  12:16 __db.rep.egen
-rw-------  1 root  wheel          4 May 7  12:16 __db.rep.gen
-rw-r-----  1 root  wheel   10485760 May 7  18:41 log.0000000001
-rw-r-----  1 root  wheel   10485760 May 8  01:15 log.0000000002
-rw-r-----  1 root  wheel   10485760 May 8  07:49 log.0000000003
-rw-r-----  1 root  wheel   10485760 May 8  14:23 log.0000000004
-rw-r-----  1 root  wheel   10485760 May 8  20:57 log.0000000005
-rw-r-----  1 root  wheel   10485760 May 9  03:31 log.0000000006
-rw-r-----  1 root  wheel   10485760 May 9  10:05 log.0000000007
-rw-r-----  1 root  wheel   10485760 May 9  16:39 log.0000000008
-rw-r-----  1 root  wheel   10485760 May 9  23:13 log.0000000009
-rw-r-----  1 root  wheel   10485760 May 10 05:47 log.0000000010
-rw-r-----  1 root  wheel   10485760 May 10 12:20 log.0000000011
-rw-r-----  1 root  wheel   10485760 May 10 18:54 log.0000000012
-rw-r-----  1 root  wheel   10485760 May 11 01:28 log.0000000013
-rw-r-----  1 root  wheel   10485760 May 11 08:02 log.0000000014
.................................................................
-rw-r-----  1 root  wheel   10485760 Jun 28 11:29 log.0000000190
-rw-r-----  1 root  wheel   10485760 Jun 28 18:03 log.0000000191
-rw-r-----  1 root  wheel   10485760 Jun 29 00:37 log.0000000192
-rw-r-----  1 root  wheel   10485760 Jun 29 07:11 log.0000000193
-rw-r-----  1 root  wheel   10485760 Jun 29 13:45 log.0000000194
-rw-r-----  1 root  wheel   10485760 Jun 29 20:19 log.0000000195
-rw-r-----  1 root  wheel   10485760 Jun 30 02:53 log.0000000196
-rw-r-----  1 root  wheel   10485760 Jun 30 09:26 log.0000000197
-rw-r-----  1 root  wheel   10485760 Jun 30 16:00 log.0000000198
-rw-r-----  1 root  wheel   10485760 Jun 30 22:34 log.0000000199
-rw-r-----  1 root  wheel   10485760 Jul 1  05:08 log.0000000200
-rw-r-----  1 root  wheel   10485760 Sep 17 15:53 log.0000000201
-rw-r-----  1 root  wheel     131072 May 7  12:16 lpdfd.db

Я ессно сократил вывод, иначе много места займет :), вообщем файлов с log.0000000001 по log.0000000201 включительно.

Полез в Google, долго рылся в кучи всяких линков ниочем прежде чем найти всего одну путную ссылку, в которой чел рассказывал хоть о чем то похожем.

Почитал что люди пишут, посмотрел на версию софта на этом маршрутизаторе:

virus@juniper> show version

Hostname: juniper
Model: m7i
JUNOS Base OS boot [9.4R1.8]
JUNOS Base OS Software Suite [9.4R1.8]
JUNOS Kernel Software Suite [9.4R1.8]
JUNOS Packet Forwarding Engine Support (M/T Common) [9.4R1.8]
JUNOS Packet Forwarding Engine Support (M7i/M10i) [9.4R1.8]
JUNOS Online Documentation [9.4R1.8]
JUNOS Voice Services Container package [9.4R1.8]
JUNOS Services AACL Container package [9.4R1.8]
JUNOS Services LL-PDF Container package [9.4R1.8]
JUNOS AppId Services [9.4R1.8]
JUNOS IDP Services [9.4R1.8]
JUNOS Routing Software Suite [9.4R1.8]

пробуем удалить:
virus@juniper# run file delete /mfs/var/lpdfd/log.0000000201

и ессно хрен там:

rm: /mfs/var/lpdfd/log.0000000201: Permission denied

Стало понятно что я не удалю файлы из под своего аккаунта и нуна войти под root.

Консольный кабель подключен к COM порту и я полез через него, набрав в консоле, своей любимой OS FreeBSD, команду:
cu -l /dev/cuad0

Ну что ж, под root`ом я вошел, пробуем удалить файл снова:

root@juniper% cd /mfs/var/lpdfd/
root@juniper% rm log.0000000201

Отлично ! Файл спокойно удалился. Таким образом я потер все остальные файлы с логами, оставив тока с 10-к.

Смотрим что у нас там с местом ?

root@juniper% df -h

Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a    885M    142M    672M    17%    /
devfs          1.0K    1.0K      0B   100%    /dev
devfs          1.0K    1.0K      0B   100%    /dev/
/dev/md0        30M     30M      0B   100%    /packages/mnt/jbase
/dev/md1       179M    179M      0B   100%    /packages/mnt/jkernel-9.4R1.8
/dev/md2        31M     31M      0B   100%    /packages/mnt/jpfe-M7i-9.4R1.8
/dev/md3       4.8M    4.8M      0B   100%    /packages/mnt/jdocs-9.4R1.8
/dev/md4        48M     48M      0B   100%    /packages/mnt/jroute-9.4R1.8
/dev/md5        32M     32M      0B   100%    /packages/mnt/jpfe-common-9.4R1.8
/dev/md6       2.0G    8.0K    1.8G     0%    /tmp
/dev/md7       2.0G    100M    1.7G     5%    /mfs
/dev/ad0s1e     98M     26K     90M     0%    /config
procfs         4.0K    4.0K      0B   100%    /proc
/dev/ad1s1f     34G    470M     31G     1%    /var

С местом у нас теперь все путем ! Ну что ж, пробую откоммитить, для этого захожу в CLI:
root@juniper% cli
и чекаем конфиг:
root@juniper> commit check
и наконец получаем искомое:
configuration check succeeds

Ссылки

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Николаев Дмитрий (virus (at) subnets.ru)

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 2, среднее: 4,50 из 5)
Загрузка...
Отправить на почту Отправить на почту