Оглавление |
---|
Общие сведения
Обновление 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-ти секунд.