В gui "LuCI" OpenWRT делегированный префикс IPv6, предоставленный провайдером, отображается на странице состояния в обзоре. Обычно он отображается в разделе "IPv6 WAN Status" в секции "Network", как
IPv6 WAN Status Type: dhcpv6-pd
Prefix Delegated: 2001:db8:1234:5678::/56
Address: 2001:db8::abcd/128
[…]
Однако я хотел бы выяснить делегированный префикс в командной строке. Я знаю, что могу получить адреса, назначенные через ip a
или шлюз и другие маршруты через ip r
, но мне никогда не удавалось получить префикс, делегированный маршрутизатором.
Как я могу показать делегированный префикс ipv6 в интерфейсе командной строки? Есть ли команда, которую я пропустил, или какой-то файл, в котором она записана, о котором я не знаю?
Команда, предоставляющая такую информацию: ifstatus
root@openWRT:~# ifstatus wan6
[…]
"ipv6-prefix": [
{
"address": "2001:db8:1234:5678",
"mask": 56,
[…]
Вы можете использовать программу jq для анализа вывода (доступна в виде пакета в OpenWRT).
Кроме того, если вы знаете, что интерфейс существует, вы можете напрямую вызвать базовую команду ubus
, сэкономив накладные расходы на проверки работоспособности, выполняемые ifstatus
.
ubus call network.interface.wan_6 status | jq -r '.["ipv6-prefix"][0].address'
Вывод:
2001:db8:1234:5678::
Примечание: wan_6
(с подчеркиванием) — это имя автоматически сгенерированного интерфейса для ipv6. Если у вас есть псевдоним, созданный вручную, может применяться имя wan6
.