Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных


Пример формирования 121й опции для DHCP сервера

option rfc3442-classless-routes
8, 10, 192,168,1,1,
16, 192,168, 192,168,1,1,
12, 172,16, 192,168,1,1,
24, 192,168,200, 192,168,1,1;


1. Необходимо перевести в hex payload опции, для этого воспользуемся скриптом:

# cat hex.py
def hex_encode(route):
return b"".join([b"%02x" % octet for octet in route])
routes = [
(
# Paylod:
8, 10, 192,168,1,1,
16, 192,168, 192,168,1,1,
12, 172,16, 192,168,1,1,
24, 192,168,200, 192,168,1,1
# end.
)
]
print(b"".join(hex_encode(route) for route in routes))

2. Получим байты нагрузки:

# python hex.py
080ac0a8010110c0a8c0a801010cac10c0a8010118c0a8c8c0a80101


3. Сконфигурируем опцию на сервере (Начинаем с "0x" и далее байты, полученные в п.2):

sh ru dhcp:

ip dhcp-server pool la
option 121 hex-bytes 0x080ac0a8010110c0a8c0a801010cac10c0a8010118c0a8c8c0a80101

В дампе можно посмотреть содержимое передаваемой опции:

Classless-Static-Route Option 121, length 28: (10.0.0.0/8:192.168.1.1),(192.168.0.0/16:192.168.1.1),(172.16.0.0/12:192.168.1.1),(192.168.200.0/24:192.168.1.1)

На DHCP клиенте:

D * 10.0.0.0/8 [1/0] via 192.168.1.1  [static 03:03:31]
D * 192.168.0.0/16 [1/0] via 192.168.1.1  [static 03:03:31]
D * 192.168.200.0/24 [1/0] via 192.168.1.1 [static 03:03:31]
D * 172.16.0.0/12 [1/0] via 192.168.1.1 static 03:03:31]


Перевод в шеснадцатиричную систему можно выполнить и в ручном режиме, но запись в CLI необходимо начинать с "0x"