IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#acetonevideo
/2022/12/23
~acetone
Leopold
Most2
`
anon3
fidoid
grimreaper
hsem
offensive_nickname
poriori
tolik
weko
whothefuckami
zero_tolerance
acetone Писал килсвитч для одноплатника, сделал. В итоге хыхкнул, поняв, что можно включить форвардинг (маскарадинг) только для wg0, т.е. для вайргуард-интерфейса. Если вдруг его не будет, одноплатник просто перестанет функционировать в качестве шлюза
acetone Надо правила только подкрутить, чтобы на домашний сервер пускал без ВГ
weko На домашний сервер лучше тоже только с WG, на всякий случай:)
weko Да и как я говорил лучше когда один порт, а не несколько
weko Чтобы было не понятно что сейчас ты делаешь :))
acetone weko: ага помню
weko Например так можно не светить ssh портом
weko Вот конечно нужно ещё подумать, но это мои мысли
fruid стоп а в С++ есть интерфейсы?
qend кто-нибудь работал в шинде с правами пользователей?
qend fruid: ты имеешь ввиду интерфейсные классы? Есть конечно же
` возможно работал
` возможно
acetone Столкнулся с MTU. Одноплатник подключен через wireguard к выходной впске. На одноплатнике все работает (wget'ом проверял), а на подключенных через wifi устройства - половина сайтов не открывается. Сменил MTU на лэптопе (подключенном к wifi) на 1390 - всё побежало
acetone на ура.
acetone Не пойму как мне перманентно сменить MTU и более того сделать это на стороне раздающего одноплатника, чтобы и смартфон и прочее подхватывали изменения
acetone Сейчас на остальных подключенных устройствах аналогичная проблема, какая была на лэптопе до смены MTU
acetone Есть ли знатоки?
acetone Смена MTU на wifi-интерфейсе одноплатника не помогает.
fruid а разве к одноплатнику по его wifi-интерфейсу коннектсятся? Я думал он создает отдельный интерфейс, к которому подключаются клиенты
weko Проблема где то с несовместимостью MTU
acetone fruid: не-а, всё на wlan0 висит, новых интерфейсов не появлется при поднятии hostapd (служба хотспота)
acetone weko: вот не могу допетрить куда ковырнуть. Целый день сижу) через часов 5 бубнов только до MTU дошел, до этого уже был готов волосы на жопе рвать
acetone часть сайтов работает, другая - таймауты
acetone а тут mtu оказывается...
weko Хм, может попробовать другую программу для хоста AP
weko Мне кажется в ней проблема
acetone weko: какие посоветуешь?
weko Либо в драйвера
weko Я не знаю)
acetone в основном классика всех рекомендаций это hostapd
weko Но просто в wifi всё не лету коннектится и работает, если есть подключение, а тут проблемы
weko На*
weko Обычном
weko Обычно
acetone Причем(!) если раздавать вай-фай без подключения к wg, никаких проблем с mtu не возникает, все сайты открываются
weko А, да?
acetone да, это меня еще больше заводит в тупик
weko Тогда нужно попробовать поменять MTU wg
weko Какой он сейчас?
acetone при этом же поведении на самом одноплатнике сеть работает адекватно при включенном wg и все сайты (на них проверяю) открываются
acetone weko: пробовал у wg0 менять (1500 by default) - без толку
weko Так надо на впске тоже
weko На впске менял?
fruid пишут что mtu на вайфае влияет на mtu hostapd
weko В wg0
weko Да тут уточнил что без WG работает
weko Значит проблема в нёи
weko Нём*
acetone weko: сейчас сменил MTU на 1) впске, 2) на одноплатнике - на wg0 и на wlan0
weko Ну как?
acetone в итоге смартфон ничего не подхватил, также не работает (например, habr.com)
acetone на лэптопе при ручном указании этого MTU (1360) на wifi-интерфейс все начинает бегать как надо
weko Хм....
acetone чердак уже свистит
fruid может у тебя vpn какой на телефоне установлен
weko Может заголовки WG дают те самые 140 байт, которых до 1500 не хватает
acetone fruid: нет, сеть на телефоне голая
fruid о стоп
fruid Причем(!) если раздавать вай-фай без подключения к wg, никаких проблем с mtu не возникает, все сайты открываются
weko Да-да))
weko Я же сказал))
fruid как hostapd запускается? Он не может взять wg вместо вайфая?
fruid в /etc/hostapd/hostapd.conf interface=wlan0 стоит?
acetone fruid: interface=wlan0 да
weko Пробовал смотреть как через nc бегает?
fruid тогда пойдем методом ленивейшего дебага
acetone weko: если бы не работало совсем - было бы даже хорошо, но половина сетевых соединений бегает на ура
fruid на платнике можно поднять простой хттп сервер и достучаться до него с телефона?
fruid при включенном wg
acetone fruid: да, так ОК, проверил
acetone при включенном wg локальный сайт одноплатника открылся
acetone как и половина других глобальных сайтов (например, ютьюб)
weko Может проблема с http? Какая то
weko Попробуй другие протоколы
acetone weko: на лэптопе было такое же поведение: http-хендешейк происходит (например, редирект на https с http) (смотрел через wget), а дальше таймаут. Так с duckduckgo и habr (и многими другими сайтами)
fruid половина О.о...
acetone при смене MTU - на лэптопе все заработало
acetone fruid: в том-то и шиза
fruid может ли дело быть в TTL?
acetone fruid: хз, смена mtu решила проблему на ноутбуке
acetone но я готов копать дальше))
fruid из-за промежуточных серверов значение ttl меньше обычного и вот
acetone если есть советы
fruid на телефонах TTL другой
fruid по-моему меньше в два раза
fruid может пакет умирает не доходя до сервера
weko acetone: я предлагаю попробовать другую программу для хоста AP, возможно какая то проблема с ней
fruid хотя из-за одного промежуточного сервера же не должно так быть...
weko Можно написать простой скрипт на питоне и смотреть пакеты какой длинны доходят, а какой нет
weko Тут как то больно, потому что надо хорошо понимать как работает MTU, а у меня с этим не очень
weko Единственное что я знаю, что это максимальная длинна пакета
weko Длина*
acetone weko: да. Я вот кустарным путем понял, что при уменьшении все начинает работать, но как на уровне самого wifi раздать этот параметр, чтобы телефон подхватил, не знаю
weko Мне кажется что это следствие проблемы, а проблема в другом
weko Да конечно можно и так исправить но хз как оно себя покажет
acetone а, ну и да, без wg вай-фай раздается "корректный", все работает
weko Это ты уже написал
acetone при том что конфиг WG очень простой...
acetone weko: да, это я медитирую уже видимо
weko Может на форумы написать, хз.
fruid c wg пакеты с клиентов вайфая идут через wg или как?
weko Без конкретного терминала перед лицом сложно думать, эх :) У меня больше нет идей
acetone fruid: да, wifi <-> WG <-> vps
weko Окей, wget -ом с одноплатника нормально, без WG с вайфая тоже нормально. Значит есть какие то проблемы в согласование вайфая с WG
weko Где то на этом стыке проблема
weko Пробовал везде MTU задать одинаковый?
fruid wifi -> сайт и wifi -> wg -> vps -> сайт, меняется ttl
acetone weko: fruid: продолжу поиски... сообщу, когда отдебажу :D
acetone weko: да
weko Попробуй куда то ещё направить трафик с вайфая
weko Не в WG в куда то в другой интерфейс
fruid acetone на платнике в настройках wireguard попробуй MTU 1280
acetone fruid: попробовал дать это значение wg0 и wlan0 - эффекта нет)_
fruid #start TTL rules
fruid iptables -t mangle -I POSTROUTING -o wlan0 -j TTL --ttl-set 65
fruid ip6tables -t mangle -I POSTROUTING -o wlan0 -j HL --hl-set 65
fruid # End-IP4-TTL-Fix
fruid сложнятина конечно, вот бы где guixsd пригодился, с этими конфигами танцевать
weko Сложна, непонятна!
fruid ну в целом идея несложная
fruid пакет проходит через много узлов пока дойдет до сервера
fruid с каждым проходом ttl уменьшается на единицу, если ttl = 0 - пакет дальше не передают
fruid соответственно всякие гейтвеи и впн у ацетона, плюс всякие клаудфлары, защиты, промежуточные серверы, хонипоты и миддлвары уменьшают этот ттл
fruid и я так предполагаю до некоторых серверов столько получается промежуточных серверов, что пакет не доживает до своей доставки
weko Да но 1 доп сервер не должен в теории влиять:)
fruid а один ли он там?
fruid платник - 1
weko Ну два
fruid wireguard - 2
fruid vpn или прокси - 3
weko Окей, тогда почему при понижении MTU работает?
fruid на лаптопе работает
weko Да
fruid хотя... хм......
weko При понижении
whothefuckami fruid: в С++ нет интерфейсов. Но можно обозвать свой класс интерфейсом
whothefuckami class ISomeClass;
whothefuckami И чисто виртуальные методы туда лепить
whothefuckami Ой прошу прощения *мембер функции
weko Тоже с кваса сидит))