Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Общие сведения

Обновление ESR10 на версию 1.4.1 3 возможно с версии 1.0.9.

В версии 1.4.1 реализовна поддержка механизма мониторинга состояния GRE-тунеля управления. Начиная 3 реализована отправка версии прошивки роутера в DHCP запросе при получении адреса. Отправка версии производиться в 43 опции 16 подопции, в формате номер опции, длина опции, версия ПО. В шестнадцатеричном виде это выглядит так: "0x10:05:31:2e:34:2e:33". Данный функционал необходим для возможности выбора файла с настройками для загрузки с TFTP-сервера. Необходимость отдельного файла с настройками для версии 1.4.3 обусловлена появлением нового функционала, корректность работы которого обеспечивается только если в файле настроек указана версия конфигурации соответсвующая версии ПО ESR-10.

В рамках ветки 1.4. был реализован следующий новый функционал: начиная с версии 1.4.0 реализована возможность обновления прошивки и загрузчика по SNMP, перезагрузка устройства по SNMP команде. Начиная с версии 1.4.1 реализована поддержка механизма мониторинга состояния GRE-тунеля управления, реализована возможность сброса конфигурации устройства к factory-config по SNMP команде. Так же начиная с версии 1.4.1 реализована возможность указать значение MTU для саб-тунеля GRE (при обновлении со старых версий значение будет унаследовано он родительского GRE тунеля). Значение MTU саб-тунеля не может быть больше, чем у родительского тунеля GRE, что делает необходимым указание MTU и для саб-тунеля.

Для успешного выполнения обновления требуется обеспечить доступ ESR-10 к TFTP-серверу, выдав ему необходимый маршрут через шлюз первичного адреса с помощью 121 опции DHCP-сервера в соответствующих настройках подсети (либо TFTP-сервер должен быть доступен из подсети управления).

Доработка настроек DHCP сервера


Без форматирования
class "esr10.vl2304" {
  log(info, concat("Case esr10.vl2304 class for ",binary-to-ascii(16, 8, ":", packet(28, 6))));
  match if (
    (
      (binary-to-ascii(10,8, ".", packet(24,3)) = "172.30.0") or
      (binary-to-ascii(10,8, ".", packet(12,3)) = "172.30.0") or
      (binary-to-ascii(10,8, ".", packet(24,3)) = "172.30.1") or
      (binary-to-ascii(10,8, ".", packet(12,3)) = "172.30.1")
    )
    and
    (
      (substring (option vendor-class-identifier, 0, 6) = "ESR-10")
    )
  );
}
subnet 172.30.0.0 netmask 255.255.254.0 {
 option routers 172.30.0.1;
 option subnet-mask 255.255.254.0;
 option ms-classless-static-routes 29, 192,168,20,0, 172,30,0,1;
 option rfc3442-classless-static-routes 29, 192,168,20,0, 172,30,0,1;
 pool {
  allow members of "esr10.vl2304";
  default-lease-time 86400;
  max-lease-time 87000;
  option tftp-server-name "100.123.0.2";
#Задаем условие, что при наличии в DHCP-запросе 43 опции с информацией о версии, соответствующей 1.4.3 используем указанный файл конфигурации
  if substring (option vendor-encapsulated-options, 2, 5) = "1.4.3" {
    option bootfile-name "ESR10GRE-1.4.3.txt";
  }
#Для идентификации предыдущих версии используем поле vendor-class-identifier и используем старый файл конфигурации
  elsif option vendor-class-identifier = "ESR-10" {
    option bootfile-name "ESR10GRE.txt";
  }
  range 172.30.0.10 172.30.1.254;
 }
}

Доработка файла конфигурации ESR-10, загружаемого с TFTP-сервера

Копируем существующий файл конфигурации:


Без форматирования
copy -v ESR10GRE.txt ESR10GRE-1.4.3.txt


Файл конфигурации нужно привести к следующему виду:


Без форматирования
#!/usr/bin/clish

...

#12  #Меняем версию clish на "12"

hostname ESR-10GRE

tech-support login enable

root login enable

boot host auto-config   #Включаем загрузку конфигурации по с TFTP-сервера

object-group service telnet

  port-range 23

exit

object-group service ssh

  port-range 22

exit

object-group service dhcp_server

  port-range 67

exit

object-group service dhcp_client

  port-range 68

exit

object-group service ntp

  port-range 123

exit

object-group network MNG

  ip address-range 101.0.0.24

...


#12                                     #Меняем версию конфигурации на "12", что бы обеспечить корректную работу нового функционала
hostname ESR-10GRE

tech-support login enable
root login enable

boot host auto-config                    #Включаем загрузку конфигурации по с TFTP-сервера, если отключена
object-group service telnet
  port-range 23
exit
object-group service ssh
  port-range 22
exit
object-group service dhcp_server
  port-range 67
exit
object-group service dhcp_client
  port-range 68
exit
object-group service ntp
  port-range 123
exit

object-group network MNG
  ip address-range 100.123.0.2
  ip prefix 172.30.0.0/23

...


  ip prefix 192.168.20.0/29

...


exit

...



vlan 2,10-11

...


exit

...



security zone trusted

...


exit

...


security zone GRE

...


exit

...




snmp-server

...


snmp-server community "private1" rw        названии community должно быть от 8 до 128 символов

...


snmp-server community "public11" ro        названии community должно быть от 8 до 128 символов

...


snmp-server host

...

 100.

...

123.0.

...

exit

2
exit

snmp-server system-shutdown               #Включаем возможность перезагрузки по SNMP-команде

...



bridge 1

...


  description "Tunnel-IP"

...


  vlan 2

...


  security-zone GRE

...


  ip address dhcp

...


  ip dhcp client ignore router

...


  enable

...


exit

...


bridge 2

...


  description "userDATA"

...


  enable

...


exit

...


bridge 3

...


  description "mgmt_ESR10"

...


  security-zone trusted

...


  ip address dhcp

...


  enable

...


exit

...



interface gigabitethernet 1/0/1

...


  switchport access vlan 2

...


exit

...


interface gigabitethernet 1/0/2

...


  switchport mode trunk

...


  bridge-group 2

...


exit

...


interface gigabitethernet 1/0/3

...


  switchport access vlan 10

...


  bridge-group 2 tagged

...


exit

...


interface gigabitethernet 1/0/4

...


  switchport access vlan 10

...


  bridge-group 2 tagged

...


exit

...


interface gigabitethernet 1/0/5

...


  switchport mode trunk

...


  bridge-group 2

...


exit

...


interface gigabitethernet 1/0/6

...


  switchport access vlan 2

...


exit

...



tunnel gre 1

...


 

...

 mtu 1462                                     #Значение MTU должно быть больше на 4 байта, чем у саб-тунеля, с учётом наличия тега влана в инкапсулируемом пакете
  keepalive dst-address 172.30.2.1             #Указываем адрес, доступность которого будет проверять

...

 механизм keepalive. Это адрес роутера по умолчанию для подсети управления, в которой находится bridge 3

...


  keepalive dhcp dependent-interface bridge 1

...

  #Указываем интерфейс, на котором будет

...

 перезапрашиваться адрес при срабатывании механизма keepalive

...


  keepalive dhcp dependent-interface bridge 3

...

  #Указываем следующий интерфейс, на котором будет

...

 перезапрашиваться адрес при срабатывании механизма keepalive

...


  keepalive enable #Включаем механизм keepalive

...


  mode ethernet

...


  local interface bridge 1

...


  remote address 192.168.20.1

...


  enable

...


exit

...


tunnel gre 1.1

...


  bridge-group 3

...

  snmp init-trap

  enable

exit

tunnel gre 2

  mtu 1458

  mode ethernet

  bridge-group 2

  local interface bridge 1

...


  mtu 1458 #Обязательно указываем MTU для саб-тунеля не больше, чем у основного туннеля. Если не указать значение MTU - то оно будет считаться дефолтным 1500 и при скачивании конфигурации по tftp саб-тунель не будет включен
  snmp init-trap
  enable
exit
tunnel gre 2
  mtu 1462 
  mode ethernet
  bridge-group 2
  local interface bridge 1
  remote address 192.168.20.2

...


  enable

...


exit

...



security zone-pair trusted self

...


  rule 10

...


    action permit

...


    match protocol any

...


    match source-address MNG

...


    match destination-address any

...


    enable

...


  exit

...


exit

...


security zone-pair GRE self

...


  rule 10

...


    action permit

...


    match protocol any

...


    match source-address MNG

...


    match destination-address any

...


    enable

...


  exit

...


exit

...



ip telnet server

...


ip ssh server

...



ntp enable

...


ntp server

...

 100.

...

123.0.

...

2
exit


Обновление ESR-10

1. Копируем с TFTP-сервера файл прошивки:

...


Без форматирования
esr-10# copy tftp://

...

100.

...

123.0.

...

2:/esr10-1.4.

...

3-

...

build3.firmware fs://firmware

...

 
Download firmware from tftp://

...

100.

...

123.0.

...

2:/esr10-1.4.

...

3-

...

build3.firmware...

...


esr10-1.4.

...

3-

...

build3.

...

firmware              100% |*******************************|

...

 67160k  0:00:00 ETA

...


Write firmware...

...


Erasing 128 Kibyte @ f4e0000 -- 100 % complete

...

 
Writing data to NAND...

...


##################################################################################################################################################################################

...


Firmware updated successfully.


2. Проверяем, какой образ активный и изменяем на другой:


Без форматирования
ESR-10GRE#

...

 sh bootvar

...


Image   Version                     Date                   Status         After reboot   

...


-----   -------------------------   --------------------   ------------   ------------   

...



1       1.0.9 build 81[4401667]     date 08/11/2017 time   Active         *              

...



                                    16:32:11                                             

...



2       1.4.

...

3 build

...

 3[

...

52739dfd8]

...

    date

...

 09/

...

11/2018 time   Not Active                    

...



                                   

...

 13:

...

04:

...

32                                             

esr-10# boot system image-2

...



Do you really want to set boot system image? (y/N): y

...

ESR-10GRE# show bootvar

Image   Version                     Date                   Status         After reboot   


esr-10# sh bootvar
Image   Version                     Date                   Status         After reboot   
-----   -------------------------   --------------------   ------------   ------------   

...


1       1.0.9 build 81[4401667]     date 08/11/2017 time   Active                        

...



                                    16:32:11                                             

...


2       1.4.

...

3 build

...

 3[

...

52739dfd8]

...

    date

...

 09/

...

11/2018 time   Not Active     *            

...

                                    16:19:48       

  

                                    13:04:32                                             

    

3. Перезагружаем ESR-10:


Без форматирования
ESR-10GRE# reload system

...


Do you really want to reload system ? (y/N): y


4. После ребутуа перезагрузки проверяем, что измененные и добавленые добавленные настройки появились в настройкахконфигурации:


Без форматирования
ESR-10GRE# show running-config tunnels

...


tunnel gre 1

...


  mtu

...

 1462
  keepalive dst-address 172.30.2.1

...


  keepalive dhcp dependent-interface bridge 1

...


  keepalive dhcp dependent-interface bridge 3

...


  mode ethernet

...


  local interface bridge 1

...


  remote address 192.168.20.1

...


  enable

...



ESR-10GRE# show running-config snmp

...


snmp-server

...


snmp-server system-shutdown

...


snmp-server community "private1" rw

...


snmp-server community "public11" ro

...



snmp-server host

...

 100.

...

123.0.

...

2
exit
snmp-server system-shutdown


5. Если вносились изменения в название SNMP-community - то соответствующим образом нужно изменить название в EMS во вкладке "Доступ" ESR-10.

Особенности настройки GRE keepalive

Настройка выполняется на основном GRE тунеле (в нашем случае tunnel gre 1).

Опции GRE keepalive:

Подсказка

keepalive dst-address - задаем адрес IPv4, доступность

...

которого будет проверять keepalive, путем отправки пингов;

...

keepalive dhcp dependent-interface - указываем зависимый интерфейс, на котором будет

...

осуществляться перезапрос IP-адреса в случае срабатывания

...

механизм keepalive. Можно указать несколько интерфейсов. В нашем случае это bridge 1 и bridge 3;

...

keepalive enable - включаем механизм keepalive;

...

keepalive retries - число пропущенных подряд пингов, после которых сработает механизм keepalive. Значение по умолчанию 6;

...

keepalive timeout - интервал между пингами, при проверки доступности адреса,

...

указного командой keepalive dst-address. Значение по умолчанию 10;

...

keepalive dhcp link-timeout - время, после срабатывания механизма keepalive, по истечении которого начнется перезапрос IP-адреса на интерфейсах, указанных в настройках keepalive dhcp dependent-interface. Значение по умолчанию 10.




Особенности работы GRE keepalive: время deafult lease-time, в настройках DHCP-сервера для подсети, из которой выдаются первичные адреса ESR-10 (и которые выступают на нём адресом терминации GRE) должно соответсвовать соответствовать формуле:  

default-lease-time > (retries * timeout + dhcp link-timeout) * 2 + 10.

При дефолтных настройках GRE keepalive, default-lease-time подсети первичных адресов ESR-10 должно быть больше 150-ти секунд.