LINUX.ORG.RU

Подскажите как правильно реализовать маршрутизацию на роутере с Openwrt между двумя туннелями WG

 ,


0

2

Здавствуйте, подскажите пожалуйста как правильно реализовать маршрутизацию на роутере с Openwrt между двумя туннелями WG. С линуксом, сетевыми настройками не знаком, но думаю достаточно будет ссылки на мануал, должен справится, настраивал туннели на роутере по мануалам, вроде получилось.

  1. Есть домашний роутер на OpenWrt 25.12.1, ip белый, v4.
  2. Есть телефон, андроид, оператор Т2.
  3. Есть рабочая сеть к которой нужно периодически подключаться через WG по ipv6 адресу.

Я часто не на рабочем месте, в идеале бы подключаться через телефон, что бы не возить с собой ноутбук с той же Windows, где мне реализовать всё было бы не сложно. И вот в этом трудность, у Т2 нет v6 протокола.

Что решил сделать. На роутере создал два WG туннеля:

  • С телефона подключаюсь к рутеру, интерфейс wg0, адрес сети 10.0.0.0.
  • Роутер подключается через второй туннель к рабочей сети, интерфейс wg1, адрес сети 172.30.0.0.
  • Адрес домашней сети 192.168.1.0.
  • По отдельности туннели работают. Приложение WG это впн, и создать второе подключение к рабочей сети не могу хоть и получил возможность обращаться к ipv6 адресам. При попытке запуска второго никуда не подключается, так как сразу отключается первое.
  • Убираю интерфейс wg1 из lan зоны, у меня на домашнем компе отдельным приложением подключение реализовано, и оно не работает когда wg1 в lan зоне. Проверяю что подключение осталось через терминал «ping -I wg1 172.30.0.1». Пингуется. И на домашнем компе всё подключается.
  • Создаю новую зону в firewall и добавляю туда оба интерфейса туннелей wg0 и wg1, что бы сразу с телефона получить доступ и к рабочей сети - и вот тут всё ломается, даже пропадает интернет в домашней сети.

Подскажите где моя ошибка? Насколько я понимаю нужно правильно настроить маршрутизацию между туннелями, но знаний не хватает самому понять в каком направлении копать.

Есть рабочая сеть к которой нужно периодически подключаться через WG по ipv6 адресу.

Да ладно )

Просто так перенаправить трафик из ipv4 в ipv6 нельзя.

Если тебе так уж нужно попадать куда-то по ipv6 - вместо ipv4 адресации в WG туннеле используй ipv6 и далее сможешь уже с телефона или откуда нужно ходить по ipv6 адресам, только либо маршрут до конкретного адреса или префикса добавь, либо ipv6 маршрут по умолчанию через WG выдавай.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Спасибо, вопрос решен.

Не совсем так как думал, да и ваш ответ помог немного в другом направлении. Подключившись к роутеру я и так получаю интернет из домашней сети и возможность ходить по ipv6 адресам. Просто создать на телефоне ещё один активный туннель пока запущен первый не могу. На андроиде это реализовано как впн, и запуская второй туннель отключается первый. Посетила было мысль подключаться к роутеру не через туннель WG, а сделать какой-нибудь вариант прокси на роутере и подключаться по туннелю WG уже к рабочей сети но через прокси. Но в сети в основном мануалы как на роутере подключится к существующему прокси серверу а не создание своего, а те что есть для меня тяжеловаты к пониманию. Зато в процессе гугления попробовал поискать информацию по поводу вашего первого сообщения «Просто так перенаправить трафик из ipv4 в ipv6 нельзя.» И нашел подходящее мне решение. Не просто так, и тем не менее не сложно - socat

Установил на роутер socat, добавил в автозагрузку перед EXIT строчку

«socat UDP4-LISTEN:1234,fork,reuseaddr UDP6:[хххх:хххх:хххх:хххх::хххх:хххх]:51000 &»

и всё получилось. (Адрес v6 заменил на иксы для конспирации) Подключаюсь при помощи WG на телефоне через ipv4 к рабочей сети со всеми настройками кроме ipv6 адреса и порта. Использую ipv4 адрес роутера и порт 1234. Порт 1234 на роутере открыл. Socat переадресует из v4 в v6 сразу на нужный ip.

Ещё раз спасибо большое, натолкнули на мысль по решению вопроса.

Sartifice
() автор топика
Ответ на: комментарий от Sartifice

Socat переадресует из v4 в v6 сразу на нужный ip.

Socat ничего не переадресует, вы перенаправляете поток данных, что приходит на порт 1234 на IPv4 адрес другому адресату ipv6 на указанный порт.

socat работает не в пространстве ядра.

Не на уровне сети и прочего. Он пропускает через себя сегмент данных TCP / UDP пакета и перенаправляет его другому адресату.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)