Jump to content
  • 159

Полноценная поддержка IPv6


streampp

Question

Recommended Posts

  • 0
2 hours ago, vst said:

Нужно пояснение, сценарий непонятен.

Речь об аналогии https://help.keenetic.com/hc/ru/articles/360001390359-Маршрутизация-сетей-через-VPN (раздел "Настройка Keenetic#1") но только уже исключительно для IPv6. Т.е. речь о настройке на сервере маршрутизации серверной сети в клиентскую сеть.

Адреса присваиваются клиенту VPN-сервером Keenetic при установке соединения. Как мы видим в статье, при настройке шлюза для IP ставим галочку "Добавлять автоматически", т.е. параметр auto для ip route, т.к. на момент добавления маршрута он ещё недоступен.

Правильно ли я понял, что в качестве адреса шлюза в этом случае можно также указать какой-то Link-local адрес? Какой же? Не VPN-интерфейса же клиента?

Link to comment
Share on other sites

  • 0

Окей. Пара простых вопросов про простые открытия портов:

1) Как просмотреть список портов открытых командой ipv6 static ?

2) Что мешает вытащить управление этими открытиями в интерфейс?

Link to comment
Share on other sites

  • 0
2 часа назад, Le ecureuil сказал:

Точно нет.

Плохо. Половина ipv6 на скриптах в entware крутится. Пора бы уже двигаться в этом направлении. Хотя бы еще dns ipv6, wireguard ipv6, dhcp static ipv6

 

скрипты типо таких:

Скрытый текст
#!/bin/sh

[ "$type" != "ip6tables" ] && exit 0
[ "$table" != "filter" ] && exit 0

cut_local() {
	grep -vE 'localhost|^0\.|^127\.|^10\.|^172\.16\.|^192\.168\.|^::|^fc..:|^fd..:|^fe..:'
}

ip6t() {
	if ! ip6tables -C "$@" &>/dev/null; then
		ip6tables -A "$@"
	fi
}

IP_RPi4=$(dig AAAA +short rpi4.local @localhost -p 53 | grep -Eo '^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{1,4}$' | cut_local) || exit 0

#ip6t _NDM_INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#ip6t _NDM_INPUT -p udp -m udp --dport 80 -j ACCEPT
#ip6t _NDM_INPUT -p tcp -m tcp --dport 443 -j ACCEPT
#ip6t _NDM_INPUT -p udp -m udp --dport 443 -j ACCEPT
#ip6t _NDM_INPUT -p tcp -m tcp --dport 23098 -j ACCEPT
#ip6t _NDM_INPUT -p udp -m udp --dport 23098 -j ACCEPT

ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p tcp -m tcp --dport 80 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p udp -m udp --dport 80 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p tcp -m tcp --dport 443 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p udp -m udp --dport 443 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p tcp -m tcp --dport 23098 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p udp -m udp --dport 23098 -j ACCEPT

exit 0

 

 

Edited by avn
Link to comment
Share on other sites

  • 0
29 минут назад, avn сказал:

Плохо. Половина ipv6 на скриптах в entware крутится. Пора бы уже двигаться в этом направлении. Хотя бы еще dns ipv6, wireguard ipv6, dhcp static ipv6

Если перечитать вторую страницу -- то там указан примерный срок. Осталось подождать один год. ( тормозят развитие слабые устройства с флешем 8МБ )

Link to comment
Share on other sites

  • 0
11 час назад, avn сказал:

Плохо. Половина ipv6 на скриптах в entware крутится. Пора бы уже двигаться в этом направлении. Хотя бы еще dns ipv6, wireguard ipv6, dhcp static ipv6

 

скрипты типо таких:

  Скрыть содержимое
#!/bin/sh

[ "$type" != "ip6tables" ] && exit 0
[ "$table" != "filter" ] && exit 0

cut_local() {
	grep -vE 'localhost|^0\.|^127\.|^10\.|^172\.16\.|^192\.168\.|^::|^fc..:|^fd..:|^fe..:'
}

ip6t() {
	if ! ip6tables -C "$@" &>/dev/null; then
		ip6tables -A "$@"
	fi
}

IP_RPi4=$(dig AAAA +short rpi4.local @localhost -p 53 | grep -Eo '^([0-9a-fA-F]{0,4}:){1,7}[0-9a-fA-F]{1,4}$' | cut_local) || exit 0

#ip6t _NDM_INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#ip6t _NDM_INPUT -p udp -m udp --dport 80 -j ACCEPT
#ip6t _NDM_INPUT -p tcp -m tcp --dport 443 -j ACCEPT
#ip6t _NDM_INPUT -p udp -m udp --dport 443 -j ACCEPT
#ip6t _NDM_INPUT -p tcp -m tcp --dport 23098 -j ACCEPT
#ip6t _NDM_INPUT -p udp -m udp --dport 23098 -j ACCEPT

ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p tcp -m tcp --dport 80 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p udp -m udp --dport 80 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p tcp -m tcp --dport 443 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p udp -m udp --dport 443 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p tcp -m tcp --dport 23098 -j ACCEPT
ip6t _NDM_STATIC_FORWARD -d $IP_RPi4/128 -i eth3 -p udp -m udp --dport 23098 -j ACCEPT

exit 0

 

 

Форвард уже сделан давно, еще в 2.12. Посмотрите на ipv6 static.

Link to comment
Share on other sites

  • 0
7 часов назад, Le ecureuil сказал:

Форвард уже сделан давно, еще в 2.12. Посмотрите на ipv6 static

Ага, только не на тот ip. Поэтому и нужны статические адреса для некоторых устройств.

Edited by avn
Link to comment
Share on other sites

  • 0
40 минут назад, Le ecureuil сказал:

Что значит "не на тот IP"? Подробнее.

Должно быть так:

~ # ip6tables-save|grep 443
-A _NDM_STATIC_FORWARD -d 2a05:3580:xxxx:f300::98/128 -i eth3 -p tcp -m tcp --dport 443 -j ACCEPT
-A _NDM_STATIC_FORWARD -d 2a05:3580:xxxx:f300:691:62ff:febe:3ac0/128 -i eth3 -p tcp -m tcp --dport 443 -j ACCEPT
-A _NDM_STATIC_FORWARD -d 2a05:3580:xxxx:f300::98/128 -i eth3 -p udp -m udp --dport 443 -j ACCEPT
-A _NDM_STATIC_FORWARD -d 2a05:3580:xxxx:f300:691:62ff:febe:3ac0/128 -i eth3 -p udp -m udp --dport 443 -j ACCEPT
~ #

А на самом деле так:

~ # ip6tables-save|grep 443
-A _NDM_STATIC_FORWARD -d 2a05:3580:xxxx:f300:691:62ff:febe:3ac0/128 -i eth3 -p tcp -m tcp --dport 443 -j ACCEPT
-A _NDM_STATIC_FORWARD -d 2a05:3580:xxxx:f300:691:62ff:febe:3ac0/128 -i eth3 -p udp -m udp --dport 443 -j ACCEPT
~ #

 

Само устройство:

eth0      Link encap:Ethernet  HWaddr 04:91:62:BE:3A:C0
          inet addr:192.168.97.98  Bcast:192.168.97.127  Mask:255.255.255.224
          inet6 addr: 2a05:3580:xxxx:f300::98/128 Scope:Global
          inet6 addr: 2a05:3580:xxxx:f300:691:62ff:febe:3ac0/64 Scope:Global
          inet6 addr: fe80::691:62ff:febe:3ac0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:190782881 errors:0 dropped:5914 overruns:0 frame:0
          TX packets:112123573 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:243192017085 (226.4 GiB)  TX bytes:125455421990 (116.8 GiB)
          Interrupt:27

Конфиг:

ipv6 static tcp ISP 04:91:62:be:3a:c0 443
ipv6 static udp ISP 04:91:62:be:3a:c0 443

В итоге проброс на 2a05:3580:xxxx:f300::98 не работает.

Link to comment
Share on other sites

  • 0
31 минуту назад, Le ecureuil сказал:

То есть по-итогу выясняется, что нет не проброса, а нет удобного управления DNS для IPv6?

Нет удобного статического адреса. Dns (nic.ru запись aaaa ) к вам отношения не имеет. 

Link to comment
Share on other sites

  • 0

Статика IPv6 это конечно боль, надо к этому готовится (что будет печально).

Все официальные рекомендации для CPE и юзерских решений однозначно утверждают что нужен stateless с RA и PD, а остальное можно даже не делать.

Link to comment
Share on other sites

  • 0
8 часов назад, Le ecureuil сказал:

Статика IPv6 это конечно боль, надо к этому готовится (что будет печально).

А можно подробней,пожалуйста, боль в чем? для простого пользователя?

8 часов назад, Le ecureuil сказал:

Все официальные рекомендации для CPE и юзерских решений однозначно утверждают что нужен stateless с RA и PD, а остальное можно даже не делать.

А если потребуется что-то большее -- будут посылать в entware или cli?

Link to comment
Share on other sites

  • 0
2 часа назад, krass сказал:

А можно подробней,пожалуйста, боль в чем? для простого пользователя?

А если потребуется что-то большее -- будут посылать в entware или cli?

В том, что это не официально одобряемая конфигурация. Она возможна, но вопрос ее реализации исключительно по желанию вендоров.

Link to comment
Share on other sites

  • 0
В 07.08.2021 в 01:04, Le ecureuil сказал:

Все официальные рекомендации для CPE и юзерских решений однозначно утверждают что нужен stateless с RA и PD, а остальное можно даже не делать.

Остальное можно не делать в части выдачи адресов.

А перенаправление портов вещь несвязанная на самом деле. Это конкретно кинетиковское решение увязать перенаправление с выдачей.

Link to comment
Share on other sites

  • 0
10 часов назад, Scondo сказал:

Остальное можно не делать в части выдачи адресов.

А перенаправление портов вещь несвязанная на самом деле. Это конкретно кинетиковское решение увязать перенаправление с выдачей.

Как можно перенаправить порт не зная адрес хоста в локальной сети?

Link to comment
Share on other sites

  • 0
1 час назад, Роман Туркин сказал:

как я понимаю на данный момент невозможно включить DoT или DoH с поддержкой ipv6 в роутере?  

Верно

Link to comment
Share on other sites

  • 0
В 01.11.2021 в 10:48, Le ecureuil сказал:

Как можно перенаправить порт не зная адрес хоста в локальной сети?

Я имел ввиду, что отсутствие форварда для статики - вопрос больше интерфейсный/организационный и не относящийся к собственно рекомендациям про выдачу IP.

 

Хотя я повторю интерфейсный (и чисто интерфейсный!) вопрос: как посмотреть форварды в CLI и когда можно их ожидать управление нынешним форвардом в интерфейсе? Это уж никак с новыми возможностями типа доработок ядра не связано...

Link to comment
Share on other sites

  • 0
В 04.08.2021 в 22:57, krass сказал:

Если перечитать вторую страницу -- то там указан примерный срок. Осталось подождать один год. ( тормозят развитие слабые устройства с флешем 8МБ )

Экономия на спичках вышла боком...

 

  • Upvote 1
Link to comment
Share on other sites

  • 0
2 часа назад, Stanislav1 сказал:

Экономия на спичках вышла боком...

 

не вышла боком) это маркетинговая многоходовочка) марш за  новым устройством! а  потом когда прошивка разрастется до, например, 24МБ придется менять и устройства с 32/2=16МБ !

Но, справедливости ради,  и  у других производителей так....

Чтоб была неудовлетворенность каждым продуктом по сравнению с вышедшей  недавно новинкой.

P.S. Как например в андроиде, помните сколько весили приложения под 2ой андроид и 4ый андроид....а сколько сейчас....

  • Upvote 1
Link to comment
Share on other sites

  • 0

Когда уже?

(реализовано) ip6tables raw table
ip -6 rule (routing policy)
wireguard ipv6

WireGuard ipv6 поддерживает из коробки. Когда уже соберете ядро wg с поддержкой ipv6? Вэб интерфейс не нужен.

Link to comment
Share on other sites

  • 0
On 2/1/2022 at 12:16 AM, avn said:

Когда уже?

(реализовано) ip6tables raw table
ip -6 rule (routing policy)
wireguard ipv6

WireGuard ipv6 поддерживает из коробки. Когда уже соберете ядро wg с поддержкой ipv6? Вэб интерфейс не нужен.

Wireguard в KeeneticOS не урезанный. Он поддерживает IPv6 в полной мере. Просто в KeeneticOS есть баг либо недоработка при которой в момент отправки конфига на Wireguard интерфейс не резолвятся домены с IPv6 адресами. А зарезолвить их нужно, потому что интерфейс в качестве endpoint принимает только IP адрес.

Для себя решил эту проблему, корявенько конечно, но что делать. В техпоодержке по поповду исправления этой мелочи отнекивались по принципу того, что IPv6 сейчас не поодерживается, а когда будет - не знаем, но точно будет. Хотя тут работы на пару строк кода в лучшем случае.

В общем, как подружить IPv6 с Wireguard на KeeneticOS:

  1. opkg install wireguard-tools
  2. В веб интерфейсе создаем необходимое нам Wireguard подключение с нужным конфигом - endpoint можно не указывать.
  3. Пробуем подклчиться и через ifconfig находим название интерфейса, кооторое используется для этого подключения. Подключение не останавливаем.
  4. Где-нить на роутере сохраняем нужный и правильный конфиг для подключения по Wireguard и и применяем его к нужному интерфейсу (например, nwg1) следующей командной 
    wg setconf nwg1 test.conf
  5. ...
  6. Profit! Все работает. До следущей перезагрузки роутера либо до ручного переподключения через вебинтерфейс. Поэтому для автоматизации необходимо будет делать скрипты. Также советую изучить wg-quick - полезная утилита.
  • Upvote 4
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...