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

тем более, что в KeeneticOS 5.x наконец-то добавили штатный PBR и возможность для NDM видеть интерфейсы, поднятые средствами Entware. Тоже не без пердолинга, но хоть что-то.

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

https://kaanlabs.com/fix-broken-wireguard-connection-after-openwrt-reboot/ Вот ещё на 4pda скинули сайт с подробным объяснением, там решение сделали аналогичное, но прочто через файл. В общем проблема известная, странно что в прошивке openWRT это никак не фиксят, ведь ВПН - стандартные сценарии использования на их прошивках.

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

Спасибо, мы поняли. Вы очень этому много внимания уделяете в теме, которая совсем не про это. В вашей компетенции в этом вопросе никто не сомневается, мы видим что вы эсперт и не оспариваем. Но это не экзамен где вот выучили один билет и на любой вопрос его отвечаете. Простите, за такое сравнение. Эту тему конечно можно притянуть за уши куда угодно, но как сейчас модно говорить «а зачем?». Вот лично у меня цель как раз стояла чтобы через этот конкретный роутер пускать именно весь трафик. ВЕСЬ. Зачем? Так нужно в конкретных условиях использования. Вот честно очень долго объяснять - да и это не является темой данного топика и будет просто флудом. Причина проблемы, как оказалась, в несовершенстве прошивки, ну или неполном её тестировании. Надо бы по хорошему баг завести, да кому до этого есть дело… А пока люди решают как могут, либо как я либо как тут: https://kaanlabs.com/fix-broken-wireguard-connection-after-openwrt-reboot/

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

Ок. Но можно ведь пускать только клиентов в wireguard, а сам роутер пусть напрямую ходит. Не хотите? Дело ваше. Я же не знаю, знаете ли вы о таких возможностях.

Надо бы по хорошему баг завести, да кому до этого есть дело…

Опенсорс, детка.

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

Хм, а я похоже сам того не подозревая в итоге сделал корректно (роутер ходит на ntp сервера через провайдера напрямую), может поэтому у роутера 4 месяца не отваливается интерфейс. Мои конфиги роуета:

/etc/config/firewall

config ipset
        option name 'wan'
        option family 'ipv4'
        option match 'net'
        # список всех ru ipv4 адресов, сгенерил из IANA списка
        option loadfile '/root/ru_routing/ipv4_list'

config ipset
        option name 'wan6'
        option family 'ipv6'
        option match 'net'
        # список всех ru ipv6 адресов, сгенерил из IANA списка
        option loadfile '/root/ru_routing/ipv6_list'

config rule 'lan_mark'
        option name 'Mark-LAN-AWG-IFACE'
        option src 'lan'
        option dest '*'
        option ipset '!wan dest'
        option proto 'all'
        option family 'ipv4'
        option set_mark '0x1/0x1'
        option target 'MARK'

config rule 'lan_mark6'
        option name 'Mark-LAN-AWG-IFACE'
        option src 'lan'
        option dest '*'
        option ipset '!wan6 dest'
        option proto 'all'
        option family 'ipv6'
        option set_mark '0x1/0x1'
        option target 'MARK'

/etc/config/network

config rule 'route_1_1_1_1'
        option dest '1.1.1.1/32'
        # таблица маршрутизации awg интерфейса
        option lookup '2'
        option priority '29999'

config rule 'route_8_8_8_8'
        option dest '8.8.8.8/32'
        # таблица маршрутизации awg интерфейса
        option lookup '2'
        option priority '29999'

config rule 'default_to_wan'
        option in 'lan'
        # таблица маршрутизации пров интерфейса
        option lookup '3'
        option priority '30001'

config rule 'lan_awg_iface'
        option in 'lan'
        option mark '0x1/0x1'
        # таблица маршрутизации awg интерфейса
        option lookup '2'
        option priority '30000'

config rule6 'lan_awg_iface6'
        option in 'lan'
        option mark '0x1/0x1'
        # таблица маршрутизации awg интерфейса
        option lookup '2'
        option priority '30000'

Адреса NTP серверов указаны ip адресами (не именами) в настройках роутера. В конфиге dnsmasq указано, что вышестоящие dns - 1.1.1.1 и 8.8.8.8, к ним хожу через vpn сервер. Ну я так прикинул, что DoH могут заблочить легко, а нешифрованный DNS - тем более (о DNS провайдера и говорить нечего, уже выпилили всякие youtube.com оттуда). На все российские адреса клиенты роутера ходят напрямую через провайдера (ну всякие там онлайн кинотеатры чтобы vpn трафик не жрали напрасно).

Т.е. идет запрос к ntp серверу, метки 0x1 (рос адрес, клиент из lan) нету, dest не 8.8.8.8 и не 1.1.1.1, значит пакет идёт в «default_to_wan» - напрямую в провайдерский интерфейс

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