Jump to content
Калькуляторы

mx480 ip-unnumbered и load-balance

Всем ДВС друзья. Есть не сколько вопросов о возможном функционале роутера.

 

1) Подскажите реализацию ip-unnumbered по аналогичной схеме как у FreeBSD ?

 

ifconfig vlan11 inet 1.1.1.1/32
route add 1.1.1.11 –iface vlan11 
ifconfig vlan12 inet 1.1.1.1/32
 

 

На MX такой конфиг:

 

show configuration interfaces irb unit 5000
description Client1;
family inet {
   policer {
       input 6mbps;
       output 6mbps;
   }
   address 1.1.2.209/29;
}
 

 

2) У нас два аплинка с разной полосой, объединены в ae интерфейсы и lacp. От одного принимаем FW, от другого только дефолт 0.0.0.0, балансировка в данный момент осуществляется ручным способом, то есть частым переписыванием префиксов в сторону аплинков. Хотелось бы добиться функционала load-balance в автоматическом режиме, для поиска лучших маршрутов и соответственно их выбора.

 

Прочитано http://subnets.ru/blog/?p=1024, речь идёт об IN трафике, подскажите как такое реализовать примерно под нашу конфигурацию. Благодарю за помощь.

 

Edited by hsvt

Share this post


Link to post
Share on other sites

у нас вот так

XXXX> show configuration interfaces irb.2
family inet {
   filter {
       input VRF-REAL-IP;
   }
   address 1.1.1.1/27;
}

XXXX>

XXXX> show configuration bridge-domains REAL_IP
domain-type bridge;
vlan-id none;
interface ge-1/0/3.851;
routing-interface irb.2;

XXXX> show configuration interfaces ge-1/0/3.851
encapsulation vlan-bridge;
vlan-tags outer 892 inner 851;
family bridge;

Share this post


Link to post
Share on other sites

у нас вот так

XXXX> show configuration interfaces irb.2
family inet {
   filter {
       input VRF-REAL-IP;
   }
   address 1.1.1.1/27;
}

XXXX>

XXXX> show configuration bridge-domains REAL_IP
domain-type bridge;
vlan-id none;
interface ge-1/0/3.851;
routing-interface irb.2;

XXXX> show configuration interfaces ge-1/0/3.851
encapsulation vlan-bridge;
vlan-tags outer 892 inner 851;
family bridge;

 

А что за фильтр VRF-REAL-IP, ваша фильтрация какая то ?

 

У вас адрес абоненту выдается сеткой /27, будет использоваться 30 адресов в том числе клиентские и броадкаст. Я как раз спрашиваю о том, как обойти это и выдавать маску /32 зароутенную на интерфейс VLAN со шлюзом.

Share this post


Link to post
Share on other sites

У вас адрес абоненту выдается сеткой /27, будет использоваться 30 адресов в том числе клиентские и броадкаст. Я как раз спрашиваю о том, как обойти это и выдавать маску /32 зароутенную на интерфейс VLAN со шлюзом.

 

 

1. unnumbered-address

2. клиентам /32 не дают, это нормально не работает, им дают /24 или подобное, /32 означает индивидуальный роут на клиента в данном случае

3. http://data.nag.ru/Juniper%20Networks/Configuration%20Guide/DO_DynamicSubscriberMgmt.pdf - чтиво со всеми ответами

Share this post


Link to post
Share on other sites

примеры примеры, все толкают к этому DSM, но там ни слова о статиках.

я бы тоже посмотрел на пример unnumbered для реальников с защитой от подмены ip

Share this post


Link to post
Share on other sites

У вас адрес абоненту выдается сеткой /27, будет использоваться 30 адресов в том числе клиентские и броадкаст. Я как раз спрашиваю о том, как обойти это и выдавать маску /32 зароутенную на интерфейс VLAN со шлюзом.

 

 

1. unnumbered-address

2. клиентам /32 не дают, это нормально не работает, им дают /24 или подобное, /32 означает индивидуальный роут на клиента в данном случае

3. http://data.nag.ru/Juniper%20Networks/Configuration%20Guide/DO_DynamicSubscriberMgmt.pdf - чтиво со всеми ответами

 

Нам тоже не нужна Customer VLAN model с DHCP на ядре, я как раз и говорю про индивидуальный роут на клиента посредством MX480. Спасибо за документацию, модели слишком усложнены и не совсем подходят. Хотелось бы реализовать функционал 3-мя командами как на FreeBSD.

Edited by hsvt

Share this post


Link to post
Share on other sites

Нам тоже не нужна Customer VLAN model с DHCP на ядре, я как раз и говорю про индивидуальный роут на клиента посредством MX480. Спасибо за документацию, модели слишком усложнены и не совсем подходят. Хотелось бы реализовать функционал 3-мя командами как на FreeBSD.

 

В документации описан принцип работы Subscriber Mgmt, что предполагает наличие автоматизации. Вы хотите выдавать /32 статикой и вписывать руками роут на MX? Для такого даже инструкций не пишут, это же примитив. Или я вас не так понял?

Share this post


Link to post
Share on other sites

DVM-Avgoor, т.е. вы предлагаете раздавать юрикам белые адреса по DHCP? :)

Share this post


Link to post
Share on other sites

DVM-Avgoor, т.е. вы предлагаете раздавать юрикам белые адреса по DHCP? :)

 

Необходимость статики для юриков ничем не обусловлена, кроме традиций. Старинные роутеры не умели дхцп. Да вот только это время уже прошло.

Share this post


Link to post
Share on other sites

Необходимость статики для юриков ничем не обусловлена, кроме традиций. Старинные роутеры не умели дхцп. Да вот только это время уже прошло.

вы пробовали подключать юриков через WI-Fi мосты/бриджи?

Share this post


Link to post
Share on other sites

вы пробовали подключать юриков через WI-Fi мосты/бриджи?

 

Не один десяток в эксплуатации. Клиентские роутеры прекрасно получают IP по DHCP через мост.

В целом я не вижу смысла в этой дискуссии, если вам надо статические портянки в MX, то они есть, пожалуйста.

Просто видимо автор оригинального вопроса все еще игнорирует книжки от Juniper, и пытается набраться опыта на форуме. Что есть не правильно.

Share this post


Link to post
Share on other sites

Нам тоже не нужна Customer VLAN model с DHCP на ядре, я как раз и говорю про индивидуальный роут на клиента посредством MX480. Спасибо за документацию, модели слишком усложнены и не совсем подходят. Хотелось бы реализовать функционал 3-мя командами как на FreeBSD.

 

В документации описан принцип работы Subscriber Mgmt, что предполагает наличие автоматизации. Вы хотите выдавать /32 статикой и вписывать руками роут на MX? Для такого даже инструкций не пишут, это же примитив. Или я вас не так понял?

 

Правильно поняли, у нас в данный момент юр лица запрашивают именно такой тип подключения. Примитив - может быть, но я вот что-то затрудняюсь... Поэтому и спрашиваю здесь. Это всё еще нужно сделать на выделенном irb с номером VLAN и bridge domain. Как в 1 сообщении. Просветите ? :) Не игнорирую, нам нужно начать хотя бы с этого, так как сейчас вообще расходуется еще больше адресов с выделением /30/ /29 etc.

Edited by hsvt

Share this post


Link to post
Share on other sites

Я не очень в курсе работает ли unnumbered на irb. Потому что irb в схеме предоставления доступа - костыль и подлежит сожжению. Вы бриджуете вланы потом бьете irb на юниты? Не лучше ли просто терминировать вланы на физ интерфейсе?

Share this post


Link to post
Share on other sites

 

Физ. интерфейсы подключены в агрегацию. VLAN c 1 по 254 для серых сетей. Сейчас к теме не относится. VLAN 3333 для юр лица.

Edited by hsvt

Share this post


Link to post
Share on other sites

Боже, зачем так все усложнять.

 

Создаете интерфейс lo0.XX, на него вешаете сетку y.y.y.y/24.

Делаете unit на ge/xe/ae, матчите в нем влан юзера, а в family inet пишете unnumbered-address lo0.XX preferred-source-address y.y.y.y (тот самый ип с lo0.XX);

Делаете статик роут на нужный юнит с ипом клиента в routing-options: static route y.y.y.Z/32 qualified next-hop ge/xe/ae.номер_юнита

 

Зачем там еще irb?

 

Да, и еще. Клиент у себя прописывает адрес с маской /24 и не мучается.

ППС: по-хорошему на юните клиента еще бы proxy-arp, но это по-желанию.

Share this post


Link to post
Share on other sites

Попробуем по вашему совету, большое спасибо) примерно это http://www.juniper.net/documentation/en_US/junos12.2/topics/usage-guidelines/interfaces-configuring-an-unnumbered-interface.html тут и написано. А если у нас уже ge сгонфигурированы как я описал выше и везде уже изначально писалось unit 0 ? Просто добавляю на существующем ge нужный unit с номером VLAN к примеру ?

 

Да, и еще. Клиент у себя прописывает адрес с маской /24 и не мучается.

ППС: по-хорошему на юните клиента еще бы proxy-arp, но это по-желанию.

При такой конфигурации уже понятно, что клиент у себя /24 указывает. Для обмена с другими proxy-arp restricted, например. А вообще конечно нужно стремится сделать по DSM документации.

Edited by hsvt

Share this post


Link to post
Share on other sites

Попробуем по вашему совету, большое спасибо)

 

Да оно собственно работает давно в продакшене именно так и не жужжит. Другое дело навешивать сотням юриков руками политики да блокировки - раздувать штат инженеров.

Share this post


Link to post
Share on other sites

Просто добавляю на существующем ge нужный unit с номером VLAN к примеру ?

 

Я не пробовал на одном физинтерфейсе юниты с разными family. Пробуйте, дерзайте, желательно на новом влане, чтобы старых не пугать :)

Share this post


Link to post
Share on other sites

Боже, зачем так все усложнять.

 

Создаете интерфейс lo0.XX, на него вешаете сетку y.y.y.y/24.

Делаете unit на ge/xe/ae, матчите в нем влан юзера, а в family inet пишете unnumbered-address lo0.XX preferred-source-address y.y.y.y (тот самый ип с lo0.XX);

Делаете статик роут на нужный юнит с ипом клиента в routing-options: static route y.y.y.Z/32 qualified next-hop ge/xe/ae.номер_юнита

 

Зачем там еще irb?

 

Да, и еще. Клиент у себя прописывает адрес с маской /24 и не мучается.

ППС: по-хорошему на юните клиента еще бы proxy-arp, но это по-желанию.

 

 

Решил поэкспериментировать всё это дело на vSRX Firefly Perimeter (junos-vsrx-12.1X47-D10.4-domestic), для этого создал ноду в Proxmox.

 

args: -serial tcp:localhost:6000,server,nowait
bootdisk: ide0
cores: 2
ide0: local:600/vm-600-disk-1.qcow2,format=qcow2,size=2G
ide2: none,media=cdrom
memory: 1024
name: junos-vsrx-12.1X47-D10.4-domestic
net0: e1000=02:67:C9:CA:DE:28,bridge=vmbr1,tag=2222
ostype: other
smbios1: uuid=c2b94ebd-2118-417b-be24-48799b5cd7a5
sockets: 1
vga: cirrus

 

Сделал бридж eth1 интерфейс c vmbr1v2222 (eth1 подключен в 17 порт D-Link, вот с такими настройками):

 

Command: show vlan ports 1:17

Port   VID   Untagged  Tagged  Dynamic  Forbidden
-----   ----  --------  ------  -------  ---------
1:17   303     X         -       -        -
1:17   1111    -         X       -        -
1:17   2222    -         X       -        -

 

Управлящюий VLAN - 2222.

Для тест клиента ip-unnumbered - 1111.

 

То есть трафик тэгом от D-Link передаётся в eth1.2222 который с бриджован с vmbr1v2222 (интерфейс для виртуалки)

 

cat /proc/net/vlan/eth1.2222
eth1.2222  VID: 2222     REORDER_HDR: 1  dev->priv_flags: 4001
        total frames received        22985
         total bytes received      1227581
     Broadcast/Multicast Rcvd            0

     total frames transmitted        11537
      total bytes transmitted      1540225
Device: eth1
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESS priority mappings:

cat /proc/net/vlan/config

VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth1.2222      | 2222  | eth1
eth1.1111      | 1111  | eth1

 

Доступные интерфейсы:

admin@vSRX# run show interfaces ?
Possible completions:
 <[Enter]>            Execute this command
 <interface-name>     Name of physical or logical interface
 ge-0/0/0
 ge-0/0/0.0
 gr-0/0/0
 ip-0/0/0
 lsq-0/0/0
 lt-0/0/0
 mt-0/0/0
 sp-0/0/0
 sp-0/0/0.0
 sp-0/0/0.16383
 dsc
 gre
 ipip
 irb
 lo0
 lo0.16384
 lo0.16385
 lo0.32768
 lsi
 mtun
 pimd
 pime
 pp0
 ppd0
 ppe0
 st0
 tap
 vlan
 brief                Display brief output
 controller           Show controller information
 descriptions         Display interface description strings
 destination-class    Show statistics for destination class
 detail               Display detailed output
 diagnostics          Show interface diagnostics information
 extensive            Display extensive output
 far-end-interval     Show far end interval statistics
 filters              Show interface filters information
 flow-statistics      Show security flow counters and errors
 interval             Show interval statistics
 load-balancing       Show load-balancing status
 mac-database         Show media access control database information
 mc-ae                Show MC-AE configured interface information
 media                Display media information
 policers             Show interface policers information
 queue                Show queue statistics for this interface
 redundancy           Show redundancy status
 routing              Show routing status
 routing-instance     Name of routing instance
 snmp-index           SNMP index of interface
 source-class         Show statistics for source class
 statistics           Display statistics and detailed output
 switch-port          Front end port number (0..15)
 terse                Display terse output
 |                    Pipe through a command

 

run show interfaces ge-0/0/0
Physical interface: ge-0/0/0, Enabled, Physical link is Up
 Interface index: 134, SNMP ifIndex: 507
 Link-level type: Ethernet, MTU: 1514, Link-mode: Full-duplex, Speed: 1000mbps, BPDU Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled,
 Flow control: Enabled, Auto-negotiation: Enabled, Remote fault: Online
 Device flags   : Present Running
 Interface flags: SNMP-Traps Internal: 0x4000
 Link flags     : None
 CoS queues     : 8 supported, 8 maximum usable queues
 Current address: 02:67:c9:ca:de:28, Hardware address: 02:67:c9:ca:de:28
 Last flapped   : 2015-02-05 19:57:41 MSK (00:40:02 ago)
 Input rate     : 1848 bps (3 pps)
 Output rate    : 2736 bps (1 pps)
 Active alarms  : None
 Active defects : None
 Interface transmit statistics: Disabled

 Logical interface ge-0/0/0.0 (Index 69) (SNMP ifIndex 514)
   Flags: SNMP-Traps 0x4000 Encapsulation: ENET2
   Input packets : 3766
   Output packets: 899
   Security: Zone: trust
   Allowed host-inbound traffic : bootp bfd bgp dns dvmrp igmp ldp msdp nhrp ospf pgm pim rip router-discovery rsvp sap vrrp dhcp finger ftp tftp ident-reset http https ike netconf ping
   reverse-telnet reverse-ssh rlogin rpm rsh snmp snmp-trap ssh telnet traceroute xnm-clear-text xnm-ssl lsping ntp sip r2cp
   Protocol inet, MTU: 1500
     Flags: Sendbcast-pkt-to-re, Is-Primary
     Addresses, Flags: Is-Default Is-Preferred Is-Primary
       Destination: 10.200.0/23, Local: 10.200.1.200, Broadcast: 10.200.1.255

 

На D-Link:

 

DGS-3120-24TC:admin#sh fdb port 17
Command: show fdb port 1:17

VID  VLAN Name                        MAC Address       Port  Type    Status
---- -------------------------------- ----------------- ----- ------- -------
2222 managment                        02-67-C9-CA-DE-28 1:17  Dynamic Forward

Total Entries: 1

 

Привести конфиг к пригодному виду для терминации вланов на физ. интерфейс в данном случае ge-0/0/0 не выходит "камменый цветок"

 

Пробовал прописывать в конфиг настройки как на основе Ethernet ports for switching так и Routed VLAN Interfaces.

 

Для switch-like отсутсвует statement family ethernet-switching.

 

 ##
   ## Warning: configuration block ignored: unsupported platform (firefly-perimeter)
   ##
   family ethernet-switching {

 

Рабочий конфиг по которому роутер доступен и работает:

 

show | except "SECRET-DATA"
## Last changed: 2015-02-05 20:29:25 MSK
version 12.1X47-D10.4;
system {
   host-name vSRX;
   time-zone Europe/Moscow;
   root-authentication {
   }
   login {
       user admin {
           full-name admin;
           uid 2001;
           class super-user;
           authentication {
           }
       }
   }
   services {
       ssh;
   }
   syslog {
       user * {
           any emergency;
       }
       file messages {
           any any;
           authorization info;
       }
       file interactive-commands {
           interactive-commands any;
       }
   }
}
interfaces {
   ge-0/0/0 {
       unit 0 {
           family inet {
               address 10.200.1.200/23;
           }
       }
   }
}
routing-options {
   static {
       route 0.0.0.0/0 next-hop 10.200.0.254;
   }
}
security {
   zones {
       security-zone trust {
           host-inbound-traffic {
               system-services {
                   all;
               }
               protocols {
                   all;
               }
           }
           interfaces {
               ge-0/0/0.0;
           }
       }
   }
}

 

Конфигурация router-like:

 

admin@vSRX# show interfaces
ge-0/0/0 {
   vlan-tagging;
   unit 0 {
       vlan-id 2222;
       family inet {
           address 10.200.1.201/23;
       }
   }
   unit 1111 {
       vlan-id 1111;
       family inet {
           address 1.1.3.170/24;
       }
   }
}
vlan {
   unit 1111;
}
admin@vSRX# show security
zones {
   security-zone trust {
       host-inbound-traffic {
           system-services {
               all;
           }
           protocols {
               all;
           }
       }
       interfaces {
           ge-0/0/0.0;
           ge-0/0/0.1111;
       }
   }
}

 

В такой конфигурации трафик не ходит.

 

12:37:38.251397 02:67:c9:ca:de:28 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 1111, p 0, ethertype ARP, Request who-has 1.1.3.27 tell 1.1.3.170, length 28
12:37:47.915770 3c:61:04:47:1f:f0 > 02:67:c9:ca:de:28, ethertype IPv4 (0x0800), length 74: 1.1.3.27 > 10.200.1.200: ICMP echo request, id 3, seq 1887, length 40
12:40:27.052437 02:67:c9:ca:de:28 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 2222, p 0, ethertype ARP, Request who-has 10.200.0.254 tell 10.200.1.201, length 28

 

brctl_tunking_guests_thumb.png?w=615&h=406

 

И, да. Я пробовал здесь точно такую же схему с family bridge и irb как на MX - так же всё отваливается, плюс еще ребутить ноду нужно т.к. режимы меняются с роутера на бридж.

 

Bridge family cannot be configured in route mode or for an interface with inet family

 

Я не пробовал на одном физинтерфейсе юниты с разными family. Пробуйте, дерзайте, желательно на новом влане, чтобы старых не пугать :)

 

Видимо нельзя. Т.е. по сути мне нужно банально пачку вланов с длинка передать через Debian + bridge на vmbr и ge-0/0/0 виртуалку, а дальше уже раскидать их по сабинтерфейса (юнитам) и проверить ip-unnumbered, да что угодно. Но вот что-то не выходит.

 

Вы бриджуете вланы потом бьете irb на юниты? Не лучше ли просто терминировать вланы на физ интерфейсе?

 

Думаю конечно лучше, не подскажите на данной виртуалке это реально протестировать ?

Edited by hsvt

Share this post


Link to post
Share on other sites

а попроще тесты нельзя организовать? :)

Share this post


Link to post
Share on other sites

бриджы не работают на vsrx-е в текущих релизах, только бриджинг между pw и локал-интерфейсов в vpls-инстансе

 

ждите когда образ vmx-а выложат, официальных данных на этот счёт нет, но ходят слухи, что в 1Q2015

Share this post


Link to post
Share on other sites

hsvt, FF это МСЭ, в отличие от железного из него выпилен функционал свитчинга к вашему удивлению. На нем нет ни виртуального свитча ни т.п. Функциональность относительно MX в плане SP - убога.

Share this post


Link to post
Share on other sites

Понятно, бог с ним с bridge и ethernet switching, а просто single tag как я понимаю должен же работать? Потерминировать вланы в family inet на ge-0/0/0/0 в разных юнитах.

 

Configuring Single-Tag Framing

To configure a device to receive and forward single-tag frames with 802.1Q VLAN tags, include the vlan-tagging statement at the [edit interfaces interface-name] hierarchy level:
[edit interfaces interface-name]vlan-tagging;

 

Я вижу трафик 802.1Q только на eth1 и vmbr1 т.к. они в bridge.

 

vconfig add vmbr1 2222
ifconfig vmbr1.2222 up
brctl addbr vmbr2222
ifconfig vmbr2222 up
brctl addif vmbr2222 vmbr1.2222

 

Уже всё перепробовал.

 

https://blog.mthode.org/posts/2012/Oct/vlan-trunking-to-kvm-vms/

http://blog.davidvassallo.me/2012/05/05/kvm-brctl-in-linux-bringing-vlans-to-the-guests/

http://forum.proxmox.com/threads/11433-forwarding-a-full-vlan-trunk-into-a-VM

 

Вот этот функционал - http://www.juniper.net/documentation/en_US/junos12.1x46/topics/concept/security-interface-vlan-tagging-configuring.html ведь доступен?

Edited by hsvt

Share this post


Link to post
Share on other sites

 я гоняю vsrx-ы на esxi, там никаких проблем с dot1q нет, сабы работают. security всё выключаю (когда не делаю лабы связанные с security фичами srx). настройки esxi и самого vsrx можете взять здесь

Share this post


Link to post
Share on other sites
В 07.02.2015 в 22:17, s.lobanov сказал:

 я гоняю vsrx-ы на esxi, там никаких проблем с dot1q нет, сабы работают. security всё выключаю (когда не делаю лабы связанные с security фичами srx). настройки esxi и самого vsrx можете взять здесь

 

У вас всё как то сложно и наворочено :) security разрешил для всех, dot1q двойное тегирование мне не нужно в данном случае. esxi тоже не использую...

 

На qemu оно работает, но только как ge-0/0/0 unit 0 с нетэгированным трафиком, принять trunk не удаётся. В простом варианте мне нужен функционал который описан, например, здесь http://subnets.ru/blog/?p=269

 

Edited by hsvt

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this