Показать делегированный префикс ipv6 в командной строке в OpenWRT

В 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 в интерфейсе командной строки? Есть ли команда, которую я пропустил, или какой-то файл, в котором она записана, о котором я не знаю?

1
задан 18 May 2019 в 11:40
2 ответа

Команда, предоставляющая такую ​​информацию: ifstatus

root@openWRT:~# ifstatus wan6
[…]
"ipv6-prefix": [
    {
        "address": "2001:db8:1234:5678",
        "mask": 56,
[…]
1
ответ дан 3 December 2019 в 23:04

Вы можете использовать программу 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.

4
ответ дан 28 September 2020 в 12:17

Теги

Похожие вопросы