LINUX.ORG.RU

amneziawg на роутере с openwrt

 , , , ,


0

2

Приветствую. Более года юзаю настроенный amneziawg шлюз на домашнем пк (linux, естественно, с установленным модулем ядра), все остальные девайсы в локальной сети используюет его как шлюз интернета (настроил dhcp сервер выдавать адрес данного пк как gate). За год никогда не было никаких проблем, всё как часы.

Но на днях решил помочь товарищу - настроить и передать ему роутер, который будет сам amneziawg шлюзом, а не другой хост в локальной сети. У меня два роутера - один routerich с их модифицированной openwrt, второй - другой производитель прошитый чистой openwrt. Настроил по этой инструкции. Некоторое количество часов все работает норм, но далее amneziawg шлюз на роутерах умирает и инет отваливается. Помогает reset и новая настройка.

На десктопе я бы, наверное, в этом разобрался, но на роутере всё обмазано гуем, который черт знает куда кладет свои конфиги и как в точности работает. А netfilter на роутере - вообще сказка, я однажды дампнул правила и пытался разобраться, не вышло).

Кто-нибудь с этим страдал? Идеи? Ну не могу же я вот такое дерьмо товарищу передать, придется дать ему какой-нибудь ноут с нормальным линуксом. Но минус тут в том, что ещё и надо править настройки роутера, чтобы dhcpd выдавал шлюзом данный ноут, подсеть с правильным адресом сети, статический адрес на ноуте. Но в общем мне админить сеть у товарища как-то вообще не хочется, зачем ему от меня зависеть, хочу дать ему роутер и забыть

PS: когда захожу на роутер через ssh и делаю ping {сервер_в_европе_ip} - он успешно пингуется, ping 1.1.1.1 - нет



Последнее исправление: kvpfs_2 (всего исправлений: 4)
Ответ на: комментарий от NyXzOr

Каким моим скрипом? Вы тему с конца начали читать? Роутер я настроил из гуя, по инструкции. Скрипт мой с десктопа, который верно и надёжно работает долгое время. Хо елось бы подобное и в роутере

kvpfs_2
() автор топика

который черт знает куда кладет свои конфиги

/etc/config

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

так что да, поможет. Только обычно наоборот делают. Пускают в wg то, что нужно.

Это точная инфа, что во какой-нибудь кинотеатр можно вычленить из потока? Мне кажется, что при коннекте к условному ОККО, оно перенаправить тебя на какой-нибудь свой сервер…. . Ну и в РФ дефолтно чебурнет, где половина не открывается, пускаю весь трафик через вг и не парюсь, чем буду поштучно обходить блокировки

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

Понимаете в чем дело, вот у вас в конце скрипта есть строчка: iptables …

Это консольная утилита для управления iptables, а openwrt это необычный linux, там такой утилиты может и не быть совсем.

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

Это точная инфа, что во какой-нибудь кинотеатр можно вычленить из потока?

В интернетах сотни списков с доменами ютубов, дискордов и пр.

У вас в том роутере, от которого логи, помимо амнезии, есть дурилки. Могут они мешать работе амнезии.

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

Хо елось бы подобное и в роутере

я надеюсь, у вас аккаунты разные (PrivateKey) или не включаете их одновременно?

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

не нужно никаких «списков из интернетов». dnsmasq умеет складывать айпишники доменов из указанного ему списка в ipset, трафик к адресам из которого завернуть в отдельный маршрут - дело техники.

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

не нужно никаких «списков из интернетов»

указанного ему списка в ipset

откуда он его возьмет? Сами пишем? Изучаем запросы к доменам от браузера, получается?

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

Пишем ему список доменов и имя nftset’а, он при резолве добавляет их адреса в список, который надо заранее создать в том же fw4. Работать не будет, если на клиенте настроен другой днс.

kneedeep
()
Последнее исправление: kneedeep (всего исправлений: 1)
Ответ на: комментарий от kneedeep

Да, я в курсе как это работает. Меня смутило:

не нужно никаких «списков из интернетов»

указанного ему списка в ipset

и ваше:

Пишем ему список доменов

домены сами берем из головы, а не из интернетов? Создаем свой 101-ый список, нам мало сотни?

NyXzOr ★★★★★
()
Последнее исправление: NyXzOr (всего исправлений: 2)
Ответ на: комментарий от NyXzOr

Да как хотим, так и делаем. У меня список подсетей as’ок сгенерен скриптом, остальное руками в виде доменов прописал, там уже немного.

kneedeep
()
Ответ на: комментарий от kvpfs_2

Хорошо. Выше один человек и я кидали доки, вот пример от туда, чем не катит?

Enable masquerading aka NAT on the WAN zone.

uci set firewall.@zone[1].masq="1"
uci commit firewall
service firewall restart
Enable masquerading selectively for a specific source subnet.

uci -q delete firewall.nat
uci set firewall.nat="nat"
uci set firewall.nat.family="ipv4"
uci set firewall.nat.proto="all"
uci set firewall.nat.src="wan"
uci set firewall.nat.src_ip="192.168.2.0/24"
uci set firewall.nat.target="MASQUERADE"
uci commit firewall
service firewall restart
Enable IPv4 to IPv4 network prefix translation.

cat << "EOF" > /etc/nftables.d/npt.sh
LAN_PFX="192.168.1.0/24"
WAN_PFX="192.168.2.0/24"
. /lib/functions/network.sh
network_flush_cache
network_find_wan WAN_IF
network_get_device WAN_DEV "${WAN_IF}"
nft add rule inet fw4 srcnat \
oifname "${WAN_DEV}" snat ip prefix to ip \
saddr map { "${LAN_PFX}" : "${WAN_PFX}" }
EOF
uci -q delete firewall.npt
uci set firewall.npt="include"
uci set firewall.npt.path="/etc/nftables.d/npt.sh"
uci commit firewall
service firewall restart
mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 4)
Ответ на: комментарий от mx__

Я вообще потерял нить, что он делает. Говорит:

Настроил по этой инструкции

При этом пытается использовать какой-то свой скрипт в Openwrt. Зачем? Потому что хочет отдать другу и надо сделать не как все? Или таки не использует скрипт? Конфиги не показывает.

uci set firewall.@zone[1].masq=«1»

И кстати, не сработает. Если интерфейс поднимается скриптом, он не будет ни в какой зоне. Он будет как device (вроде), которому вообще не сопоставлен interface.

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

хочу дать ему роутер и забыть

Прошиваешь на чистую Openwrt

используешь один из скриптов itdog, он сам всё настроит.

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

При этом пытается использовать какой-то свой скрипт в Openwrt. Зачем? Потому что хочет отдать другу и надо сделать не как все? Или таки не использует скрипт? Конфиги не показывает.

Ну якобы он осилил все строки кроме последней, вот и спрашивает как ее сделать.

Я правда не увидел какой он там дистр юзает на линуксе интересно ведь ;)

mx__ ★★★★★
()

Можно пояснительную команду? По-поводу списков адресов, кто и как их генерит? Ну вот возьмем условный ОККО, у него может быть куча ip без DNS имен, сервера могут меняться ведь также и появляться новые. Где мне взять этот актуальный список?

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

Да и вообще, какие-то там списки, звучит как говно на костылях. По-моему интересней что-то вроде: в локальной сети хост-шлюз инета, пакеты он направляет в wan или wg в зависимости от некоторого флага состояния, флагов столько, сколько хостов в локалке. Значение флага каждый хост может поменять отправив команду шлюзу (что-то вроде вкл/выкл ВПН). На каждом девайсе простейшая программа, которая может переключить флаг (отправив сообщение шлюзу), а если не может это сделать, то использует дефолтное значение.

kvpfs_2
() автор топика
Последнее исправление: kvpfs_2 (всего исправлений: 1)
Ответ на: комментарий от kneedeep

По цене кинетика можно купить 2-3 роутера с аналогичным железом, на некоторые можно даже кинетикос накатить при желании.

Да, но нужен USB порт и дрова под мой модем. А у кинетика самая большая база дров под модемы.

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

Без всего это петушиного гуя

Так не ставь гуй. Или не кукарекай.

zimniy
()
Ответ на: комментарий от tiinn

Не знаю, мобила в качестве модема нормально работает, но мне оно не нужно.

Кинетик хорош, конечно, из коробки всё есть и легко настраивается, но если нужно настроить что-то нестандартное в бриджах или маршрутах, то приходится лезть в их довольно странный cli. К тому же нельзя взять модель без юсб и ставить во флеш софт из entware.

kneedeep
()

amnеzia сеть c роутера пингуется к примеру: внутренний адрес сервера 10.5.50.1 (тут только свой адрес сервера поставь) ? Ну соответственно пинг должен быть разрешен на стороне сервера, сервер должен принимать запросы с этого интерфейса к примеру: awg0 Если, да, то смотри на роутере маршруты route -n, а если нет то скорей всего не происходить рукопожатия, посмотри на сервере введя команду: awg show от рута, и если нет рукопожатия тогда тебя либо блокируют, либо образуется петля при ip маршрутизации, роутер пытается подключиться к серверу через тунель amnezia, тогда тебе надо поправить конфиг поле AllowIPs у себя на сервере и исключить из этого списка внешний ip адрес сервера. Ну скорей всего у тебя маршруты на роутере не настроены. P.S ping, mtr, traceroute, tcpdump, netstat, ss, ip route, все эти программы тебе в помощь.

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

тебе надо поправить конфиг поле AllowIPs у себя на сервере и исключить из этого списка внешний ip адрес сервера.

Не на сервере, а в клиентском конфиге, который используешь на роутере.

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

На openwrt не требуется. Он сам добавляет маршрут до адреса сервера.

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

не везде. Встречался с тем что с некоторых VPS не работает amneziaWG, только Xray. А с других все ОК. Пути Роскомпотнадзора неисповедимы

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

Да, видимо начали банить «непонятный» трафик, коим являлся трафик амнезии. Потому и выкатили новую амнезию, которая косит под другие протоколы

А вообще, всё это очень печально. Гиблое место

kvpfs_2
() автор топика
Последнее исправление: kvpfs_2 (всего исправлений: 1)
Ответ на: комментарий от NyXzOr

В интернетах сотни списков с доменами ютубов, дискордов и пр.

А я вот иначе захотел сделать - на основе RIPE NCC Delegations сгенерил все ipv4 подсети, который когда-либо выдавались рф, там получилось около 5 тыс штук. Не удивлен, что когда попробовал сделать нормально - создать правила в стиле «ip route add ${net} via {iface} dev {device}», то это не заработало (чертов роутер, на десктопе это норм).

А вот этот ваш PBR, и вся его там обвязка на роутере - это нормально, если я ему дам 5К подсетей и скажу: «маршрутизируй через этот интерфейс, остальное через тот», или это слишком много и даже время не тратить на осиливание с последующим разочарованием?

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

Я не пробовал такие извращения. Даже в виртуальных машинах. Советую в ней протестировать.

NyXzOr ★★★★★
()

У меня есть история успеха. Мой роутер теперь знает о всех подсетях, которые когда-либо выделяли рф и ходит в них через операторских шлюз, в остальной мир через awg. Не юзал никакие там приложухи васянские, всё на правилах nftable, без списков запрещйнки - это неправильное решение, на мой взгляд, не угнаться за базой с блоками + они с двух сторон. В моей базе ipv4 и ipv6 адреса, всего около 10К. Если кому-нибудь это будет полезно и это здесь не потрут, то могу поделиться конфигом, который можно накатить на любой openwrt

kvpfs_2
() автор топика
Последнее исправление: kvpfs_2 (всего исправлений: 1)
Ответ на: комментарий от kvpfs_2

Не юзал никакие там приложухи васянские

могу поделиться конфигом

Для меня он васянский, получается )))

pbr, sing-box есть в репах openwrt - не васянское.

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

правила родного nftables - вот правильный подход. А вся эта васянка, которая хз какие лаги ещё добавит. Вот смог я со всей этой васянкой создать правило на 10К подсетей? Ну вот вообще не факт, были бы сомнения в эффективности в люблом случае. А так все шустро

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

Раньше считалось что раутинг это не дело firewall, его задача было пропускать или нет, маскировать или нет.

mx__ ★★★★★
()
14 марта 2026 г.
Ответ на: комментарий от mx__

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

  • Вам удалось решить проблему с роутером и Амнезией? У меня один в один ситуация. Прямо не знаю что делать даже.
sergeyb
()
Ответ на: комментарий от sergeyb

Вы действительно думаете, что:

  • государство обладая несоизмеримо большими техническими средствами, чем вы или небольшая группа людей не сможет выявить VPN трафик, замедлить его и блокировать, сейчас кругом ИИ, непонятный трафик попросту замедляется, а затем блокируется;
  • даже если автор топика нашёл решение, то он его напишет в открытую на публичном форуме, данные на котором доступны всем, в том числе и РКН.
anonymous
()
Ответ на: комментарий от anonymous

Откуда этот копипаст? Вопрос был технического характера про зависание прошивки. Не имеет отношения к государям и государыням. Ну типа мотор глохнет, а не в духе «проезд тут запрещён». Может автор всё же ответит что там в системе openwrt зависает. p.s. ещё раз поясняю - сам трафик нормально работает, проблема где-то в операционке роутера.

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

Откуда я знаю что именно в операционке? Уж, поверьте, знаю. Роутер на другой операционке в том же месте с тем же конфигом Амнезии работает стабильно и не жужжит. Но нужно разобраться именно с OpenWRT.

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

ещё раз поясняю - сам трафик нормально работает, проблема где-то в операционке роутера.

То, что, допустим ping ходит до точки куда ты подключаешься - не значит, что трафик нормально ходит.

icmp это отдельный протокол и его могут не блокировать.

А трафик amnezia до твоей точки как минимум не понятен и более того подозрителен.

Любое подозрительный трафик, за исключением понятного будет со временем блокироваться.

Ты подключаешься, всё работает, твой трафик зеркалируют и потом анализируют. Видят паттерн, что чушь какая-то и блокируют. Далее ты переподключаешься опять.

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

«далее ты переподключаешься опять» - да нет же… ну просто поверь мне… я уже не первый день вожусь с этим роутером и даже не первую неделю. Если бы всё было так просто, я бы тут не писал. Переподключение тут как раз не помогает. Жёстко ломается что-то на уровне операционки - это уже удалось установить достаточно достоверно. Если я буду всё описывать что привело к этому выводу, то займёт не один лист этого форума, у меня нет столько времени. Я лишь написал автору топика вопрос - решил ли он или нет, если он увидит и найдёт время ответить хоть что-нибудь, то буду рад. А если нет, то будем искать дальше.

sergeyb
()
Ответ на: комментарий от kvpfs_2

и старенький ноут с авито за 5-6К и накатить туда линукс,

Одноплатник за пару тыщ. Даже бывают с двумя интерфейсами - готовый роутер, линукс полноценный

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

    государство обладая несоизмеримо большими техническими средствами, чем вы или небольшая группа людей не сможет выявить VPN трафик, замедлить его и блокировать, сейчас кругом ИИ, непонятный трафик попросту замедляется, а затем блокируется```

Ну да, не сможет.
anonymous
()
Ответ на: комментарий от anonymous

Ох уж этот ui лора.

не сможет выявить VPN трафик, замедлить его и блокировать

Не сможет, это невозможно.

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

Ну расскажи. Нет же понятия «впн трафик».

Банить можно по объему данных или паттернам каким-то. По факту такое бывает, но редко.

Но «распознать впн трафик» невозможно. Только не душни плз, я специально пользуюсь терминами типа впн не в нормальном смысле, а общепринятом у петровичей.

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

Вот именно по паттернам и достаточно будет определить, что на такой-то IP идёт трафик, в котором присутствуют типичные для, например OpenVPN последовательности пакетов, плюс, допустим на нестандартные порты или напротив на стандартные, но не тот тип трафика, например на 443 или 80 идёт не HTTP/TLS, а мусор непонятный. Запоминаешь и вносишь в список, блокируешь подключение.

OpenVPN в принципе сейчас заблокирован на подключение в IP адреса на ASN, не принадлежащих РФ.

В любом VPN хэндшейки для поддержания канала / обновления ключей прекрасно выдают его. Без разницы какой транспорт TCP / UDP, плюс есть другие протоколы шифрования, которые в заголовке пакета явно говорят, что это шифрованный туннель или просто туннель.

Так что любой VPN будет видно. А вот блокировать или нет - это вопрос мощностей и размера таблиц фильтрации, чем больше список блокировок - тем его сложнее обрабатывать.

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

Сорян, я забыл уточнить что речь конечно про тлс. Чё ты там надетектишь, кроме объема, я хз.

anonymous
()
Ответ на: комментарий от kneedeep

У меня модель с usb, но entware во флеш ставлю.

На самом деле, у меня пока только проблема настроить ikev2 vpn сервер на нём: у меня канал на vps в Европе стоит с самой высокой метрикой, поэтому его ip, а не внутренний российский, идёт как привязанный к домену vpn. Получается фигня. А свои домены/сертификаты даже из командной строки не подложить. В общем, эти новые «безопасные» протоколы, зачем-то зашифрованные tls с привязкой к домену, дерьмо полное.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 2)
Ответ на: комментарий от sergeyb

Привет. В моём случае шлюз умирает только при выключении питания роутера (не всегда, но бывает), в общем с этим жить можно. Прошил роутер openwrt c дравами для амнезии (чтобы накатывать амнезию было не нужно после reset’а), товарищу скинул инструкцию как перенастроить роутер в случае чего. 4 месяца работает стабильно, он ни разу не перенастраивал, свет выключают не часто, к счастью. Инет работает, товарищ доволен

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

Я короче похоже понял в чём была проблема. Когда питание роутера пропадает - то сбивается системное время. (кстати часовой пояс тоже лучше верно указать). А если время не совпадает, то начинаются проблемы…как мне объяснили криптография и рукопожатия из-за этого могут либо вообще не работать, либо работать нестабильно, что у меня и наблюдалось. А когда время сбилось, то впн амнезии поставленный на автозагрузку не поднимается, а значит и время не может синхронизоваться по ntp серверам и получается замкнутый круг - «впн не поднимется потому что время не синхронизовано, а время не синхронизовано, потому что впн не поднимается». Жуть ))) Я отключил автозагрузку интерфейса анмезии и добавил команды в Автозагрузку.

Сначала проверка времени (на случай, если часы убежали), затем принудительным перезапуском интерфейса (напоминаю, его автозагрузку при старте системы отключил)

( sleep 30 sntp -S 0.openwrt.pool.ntp.org 1.openwrt.pool.ntp.org 2.openwrt.pool.ntp.org 3.openwrt.pool.ntp.org sleep 10 ubus call network reload sleep 5 ifup awg1 ) &

Вроде как проблемы решены.

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

Да, ещё на мой взгляд важно MTU верно указать для br-lan и для awg девайсов в настройках. Т.к. по умолчанию они слишком большие, а если особенно оптический првоайдер то там ppoe и надо уменьшать свои mtu чтобы пакеты не фрагментировались.

sergeyb
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.