У меня на кинетике через opkg установлен Debian, поэтому все команды выполняю через него.
И получается странная ерунда с маршрутизацией. У меня подключено два(на самом деле больше) внешних интерфейсов для выхода наружу. Если я ставлю маршрутизацию безусловно на dst ip все работает, если через маркирование пакетов, то глючит
Создаю отдельную таблицу для маршрутов
ip rule add table 1001 priority 1001 ip route add default via zzz.zzz.zzz.zzz table 1001
ip rule add to xxx.xxx.xxx.xxx table 1001
Делаю с клиента из локальной сети трейс, все идет через интерфейс zzz.zzz.zzz.zzz и отлично работает.
Делаю немного по другому:
ip rule add fwmark 0x1 table 1001 priority 1001
ip route add default via zzz.zzz.zzz.zzz table 1001
и потом iptables-legacy -t mangle -A PREROUTING --dst xxx.xxx.xxx.xxx -j MARK --set-mark 0x1
Все начинает работать странно, трейс показывает, что все проходит правильным маршрутом. Но при попытке получения данных после нескольких пакетов соединение зависает и потом рвется по таймаутам. Можно сделать wget с xxx.xxx.xxx.xxx скажем файла в 5Кб, это без проблем, иногда можно даже 1Мб, предугадать когда произойдет зависание соединения невозможно. Ставлю "жесткую" маршрутизацию, проблем нет. Ставлю через маркировку пакетов, и работать становится невозможно
P.S. Да, это связано с попыткой обхода некоторых ограничений РКН Поэтому список IP адресов для альтернативной маршрутизации мне удобнее хранить в ipset. Просто чтобы не искать ошибки в других местах я упростил задачу по максимуму, я реально подключил кинетик вторым интерфейсом(без vpn), через другой маршрутизатор в сеть и пытаюсь локализовать проблему. Если смотреть на кинетике что ходит по интерфейсу zzz.zzz.zzz.zzz, то иногда там видно, что пытаются пройти пакеты на адрес локальной сети откуда идет запрос, есть предположение, что у NAT сносит крышу и он начинает дурить. Но это не точно.
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.
Question
Something
У меня на кинетике через opkg установлен Debian, поэтому все команды выполняю через него.
И получается странная ерунда с маршрутизацией. У меня подключено два(на самом деле больше) внешних интерфейсов для выхода наружу. Если я ставлю маршрутизацию безусловно на dst ip все работает, если через маркирование пакетов, то глючит
Создаю отдельную таблицу для маршрутов
ip rule add table 1001 priority 1001
ip route add default via zzz.zzz.zzz.zzz table 1001
ip rule add to xxx.xxx.xxx.xxx table 1001
Делаю с клиента из локальной сети трейс, все идет через интерфейс zzz.zzz.zzz.zzz и отлично работает.
Делаю немного по другому:
ip rule add fwmark 0x1 table 1001 priority 1001
ip route add default via zzz.zzz.zzz.zzz table 1001
и потом
iptables-legacy -t mangle -A PREROUTING --dst xxx.xxx.xxx.xxx -j MARK --set-mark 0x1
Все начинает работать странно, трейс показывает, что все проходит правильным маршрутом. Но при попытке получения данных после нескольких пакетов соединение зависает и потом рвется по таймаутам. Можно сделать wget с xxx.xxx.xxx.xxx скажем файла в 5Кб, это без проблем, иногда можно даже 1Мб, предугадать когда произойдет зависание соединения невозможно. Ставлю "жесткую" маршрутизацию, проблем нет. Ставлю через маркировку пакетов, и работать становится невозможно
P.S. Да, это связано с попыткой обхода некоторых ограничений РКН Поэтому список IP адресов для альтернативной маршрутизации мне удобнее хранить в ipset. Просто чтобы не искать ошибки в других местах я упростил задачу по максимуму, я реально подключил кинетик вторым интерфейсом(без vpn), через другой маршрутизатор в сеть и пытаюсь локализовать проблему. Если смотреть на кинетике что ходит по интерфейсу zzz.zzz.zzz.zzz, то иногда там видно, что пытаются пройти пакеты на адрес локальной сети откуда идет запрос, есть предположение, что у NAT сносит крышу и он начинает дурить. Но это не точно.
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
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.