Пример формирования 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]