Разворот трафика bt*.t-ru.org на прозрачный прокси в OpenWRT

Ответить
 

grumbler_eburg

Хранитель

Стаж: 16 лет

Сообщений: 320

grumbler_eburg · 01-Апр-17 16:39 (7 лет 7 месяцев назад, ред. 08-Сен-20 14:25)

Разворот трафика bt*.t-ru.org на прозрачный прокси в OpenWRT
I. Если есть LuCI
скрытый текст
Инструкция для английского языка интерфейса.
  1. Открываем веб-страницу маршрутизатора и логинимся
  2. В меню "Network" кликаем "Firewall"
  3. Кликаем "Custom rules" (это последняя вкладка на странице)
  4. В поле ввода дописываем строки
    iptables -t nat -A prerouting_rule -p tcp -m tcp --dport 80 -d 195.82.146.120/30 -j DNAT --to-destination 163.172.167.207:3128
    iptables -t nat -A output_rule -p tcp -m tcp --dport 80 -d 195.82.146.120/30 -j DNAT --to-destination 163.172.167.207:3128
    - обязательно две новых строки. Если прозрачный прокси работает на другом порту, вместо "3128" указываем нужный порт.
  5. Кликаем "Save & Apply"
    Первая строка задаёт трансляцию пакетов, проходящих их локальной сети в интернет, вторая - пакетов, исходящих из самого маршрутизатора (вторая строка нужна для transmission, который работает на маршрутизаторе)
При замене прокси изменяем адрес IP на странице Hostname. Если порт отличается, тогда придётся уже редактировать и Custom Rules файрвола.
II. Если есть только UCI
скрытый текст
Предположим, что прокси расположен по адресу IP 163.172.167.207 и слушает порт 3128.
  1. Запускаем клиент SSH, например, Putty.
  2. Логинимся на маршрутизатор
  3. Выполняем две команды:
    Код:
    echo iptables -t nat -A prerouting_rule -p tcp -m tcp --dport 80 -d 195.82.146.120/30 -j DNAT --to-destination 163.172.167.207:3128 >> /etc/firewall.user
    echo iptables -t nat -A output_rule -p tcp -m tcp --dport 80 -d 195.82.146.120/30 -j DNAT --to-destination 163.172.167.207:3128 >> /etc/firewall.user
  4. Чтобы настройка подействовала, выполняем команду
    Код:
    /etc/init.d/firewall reload
Чтобы изменить прокси, нужно будет зайти по SSH на маршрутизатор и отредактировать файл /etc/firewall.user, например, в редакторе vi:
Код:
vi /etc/firewall.user
Команды редактора (в командах латинские буквы):
  1. буква "d" - удалить строку
  2. буква "x" - удалить символ
  3. буква "i" - включить режим вставки (после этого пишем текст в файле)
  4. буква "o" - вставить строку и включить режим вставки
  5. клавиша Esc (Escape) - выключить режим вставки
  6. строка ":wq" и клавиша Enter - записать изменения и выйти
  7. строка ":q!" и клавиша Enter - выйти без сохранения изменений
После редактирования файла примените изменения командой
/etc/init.d/firewall reload
.
В обоих случаях, если адреса IP трекеров-анонсеров изменятся, придётся заменить 195.82.146.120/30 на новое значение. Собственно 195.82.146.120/30 означает адреса 195.82.146.120, 195.82.146.121, 195.82.146.122, 195.82.146.123 - смотрите Бесклассовая адресация
P.S.: Когда торрент-клиент работает на компьютере в локальной сети, не забывайте "пробросить" порт с "внешнего" интерфейса маршрутизатора на торрент-клиент в локальной сети.
[Профиль]  [ЛС] 

igenid

Стаж: 15 лет 6 месяцев

Сообщений: 77


igenid · 21-Окт-17 20:33 (спустя 6 месяцев)

Спасибо, по указанной вами инструкции заработала связка роутер OpenWrt (lede) и Netgear ReadyNAS, только я не понял, зачем мы добавляем hostname (proxy.pvt), если потом его нигде не используем?
P.S. доступность ретрекеров проверял выполняя на NAS'e команду wget --spider http://bt*.t-ru.org/announce.php из инструкции https://rutr.life/forum/viewtopic.php?p=72825637#72825637
[Профиль]  [ЛС] 

ZlydenGL

Стаж: 16 лет 1 месяц

Сообщений: 52

ZlydenGL · 24-Окт-17 12:06 (спустя 2 дня 15 часов)

Не смог понять, зачем через LuCI добавлять proxy.pvt? Можете пояснить в двух словах? Я понимаю, если бы в адресе -to-destination фигурировала отсылка к этому синониму, но ведь при любой смене настроек прокси все равно придется лезть в Custom rules/firewall.user?
[Профиль]  [ЛС] 

Гуфыч

VIP (Заслуженный)

Стаж: 13 лет 9 месяцев

Сообщений: 8923

Гуфыч · 25-Окт-17 06:14 (спустя 18 часов)

ZlydenGL писал(а):
74080168Не смог понять, зачем через LuCI добавлять proxy.pvt?
Я без proxy.pvt делал
[Профиль]  [ЛС] 

ZlydenGL

Стаж: 16 лет 1 месяц

Сообщений: 52

ZlydenGL · 05-Ноя-17 22:44 (спустя 11 дней)

Чойта у меня все-таки лыжи не едут.
Пробовал прокси из первого сообщения, пробовал 163.172.173.40 (это текущий Антизапрет, по крайней мере у меня такой адрес отображается) - один черт
скрытый текст
Код:
wget --spider http://bt.t-ru.org/announce.php
Downloading 'http://bt.t-ru.org/announce.php'
Connecting to 195.82.146.120:80
Connection error: Connection failed
При этом настройка явно работает, поскольку сообщение об ошибке я получаю именно от прокси:
скрытый текст
Код:
The following error was encountered while trying to retrieve the URL: /announce.php
    Invalid URL
Some aspect of the requested URL is incorrect.
Some possible problems are:
    Missing or incorrect access protocol (should be "http://" or similar)
    Missing hostname
    Illegal double-escape in the URL-Path
    Illegal character in hostname; underscores are not allowed.
Your cache administrator is antizapret@prostovpn.org.
Клоакинга DNS явно нет: что с роутера
скрытый текст
Код:
nslookup bt.t-ru.org
Server:         127.0.0.1
Address:        127.0.0.1#53
Name:      bt.t-ru.org
Address 1: 195.82.146.120
*** Can't find bt.t-ru.org: No answer
что с ПК
скрытый текст
Код:
nslookup bt.t-ru.org
╤хЁтхЁ:  UnKnown
Address:  172.16.50.138
Не заслуживающий доверия ответ:
╚ь :     bt.t-ru.org
Address:  195.82.146.120
IP адрес определяется корректно.
В какую сторону еще можно покопать, чтоб определить вражину-супостатину? Дюже хочется заполучить внешний аннонсер вдовесок к локальному ретреккеру.
И чтоб дважды с кресла не вставать: можно ли все-таки в proxy.pvt загнать DNS имя proxy.antizapret.prostovpn.org, а в iptables передавать его текущий IP адрес?
[Профиль]  [ЛС] 

Гуфыч

VIP (Заслуженный)

Стаж: 13 лет 9 месяцев

Сообщений: 8923

Гуфыч · 06-Ноя-17 15:37 (спустя 16 часов)

ZlydenGL
Нельзя использовать прокси Антизапрета для bt - он для серфинга, в iptables не умеет.
Покажите правила iptables:
Код:
iptables -t nat -L --line-numbers
[Профиль]  [ЛС] 

ZlydenGL

Стаж: 16 лет 1 месяц

Сообщений: 52

ZlydenGL · 07-Ноя-17 09:28 (спустя 17 часов, ред. 07-Ноя-17 09:28)

Вот блин, а я, дурья башка, думал, что IP адрес из первого сообщения тоже антизапретовский - очень уж похож
С IP адресом из первого сообщения http://bt4.t-ru.org/announce.php все равно не откликается, правда ошибка другая: 403 Forbidden. При этом http://bt4.t-ru.org/ann_time.php отзывается:
Код:
Это отвечает настоящий трекер (answer from real tracker)
Tue Nov 7 09:14:50 MSK 2017
В общем вопрос: откуда тогда берется отлуп 403? Аннонсеру ж, как я понимаю, пофиг, кто к нему стучится - трансмиссия или браузер?
Цитата:
Покажите правила iptables
Я так понимаю, что интересует эта строка?
Код:
Chain prerouting_rule (1 references)
num  target     prot opt source               destination
1    DNAT       tcp  --  anywhere             bt.rutr.life/30  tcp dpt:www to:163.172.167.207:3128
[Профиль]  [ЛС] 

Гуфыч

VIP (Заслуженный)

Стаж: 13 лет 9 месяцев

Сообщений: 8923

Гуфыч · 11-Ноя-17 10:46 (спустя 4 дня)

ZlydenGL писал(а):
74174483правда ошибка другая: 403 Forbidden
Несуществующий адрес
ZlydenGL писал(а):
74174483трансмиссия или браузер?
В браузере работает, трансмиссия у вас не на роутере случайно?
[Профиль]  [ЛС] 

ZlydenGL

Стаж: 16 лет 1 месяц

Сообщений: 52

ZlydenGL · 12-Ноя-17 12:50 (спустя 1 день 2 часа)

Цитата:
Несуществующий адрес
А на какой адрес аннонсера тогда торрент-клиенты ломятся?
Цитата:
трансмиссия у вас не на роутере случайно?
На нем, родимом А есть разница? Ответы-то прилетают одинаковые.
[Профиль]  [ЛС] 

Гуфыч

VIP (Заслуженный)

Стаж: 13 лет 9 месяцев

Сообщений: 8923

Гуфыч · 12-Ноя-17 13:28 (спустя 37 мин.)

ZlydenGL писал(а):
74218013А на какой адрес аннонсера тогда торрент-клиенты ломятся?
Туда же, только для браузера это - несуществующий адрес
ZlydenGL писал(а):
74218013На нем, родимом А есть разница? Ответы-то прилетают одинаковые.
Для встроенного в роутер клиента нужна команда именно с OUTPUT:
https://rutr.life/forum/viewtopic.php?p=73359194#73359194
[Профиль]  [ЛС] 

ZlydenGL

Стаж: 16 лет 1 месяц

Сообщений: 52

ZlydenGL · 12-Ноя-17 20:07 (спустя 6 часов, ред. 14-Ноя-17 10:16)

Цитата:
Для встроенного в роутер клиента нужна команда именно с OUTPUT
О, да!
Upd. Большая просьба - дополните, пожалуйста, этой информацией первое сообщение в теме, все-таки ИМХО значительная часть (если не большинство), кто пользует OpenWRT/LEDE, использует именно встроенный клиент для торрентокачалки.
Ну и в название темы добавьте LEDE как новый лейбл - OpenWRT даже на транке не обновлялась (читайте - не развивалась) с весны 2016 года, в то время как "форк" с именем LEDE жив и жить будет
[Профиль]  [ЛС] 

sneres

Стаж: 13 лет

Сообщений: 12

sneres · 01-Дек-17 21:23 (спустя 19 дней)

Код:
wget --spider http://bt.t-ru.org/announce.php
Включен режим робота. Проверка существования удалённого файла.
--2017-12-01 18:19:38--  http://bt.t-ru.org/announce.php
Распознаётся bt.t-ru.org… 195.82.146.120
Подключение к bt.t-ru.org|195.82.146.120|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 500 Internal Server Error
--2017-12-01 18:19:40--  (попытка: 2)  http://bt.t-ru.org/announce.php
Подключение к bt.t-ru.org|195.82.146.120|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 500 Internal Server Error
Удалённый файл не существует — битая ссылка!
смешно
[Профиль]  [ЛС] 

Лексей891

Стаж: 17 лет 8 месяцев

Сообщений: 14

Лексей891 · 31-Янв-18 00:16 (спустя 1 месяц 29 дней)

Сделал всё как в шапке, с клиентского ПК получаю (то же самое на bt1.t-ru.org, bt2.t-ru.org, bt3.t-ru.org, bt4.t-ru.org):
Код:
wget --spider http://bt.t-ru.org/announce.php
Spider mode enabled. Check if remote file exists.
--2018-01-31 00:14:46--  http://bt.t-ru.org/announce.php
Resolving bt.t-ru.org (bt.t-ru.org)... 195.82.146.120
Connecting to bt.t-ru.org (bt.t-ru.org)|195.82.146.120|:80... connected.
HTTP request sent, awaiting response... 451 Unavailable For Legal Reasons
Remote file does not exist -- broken link!!!
[Профиль]  [ЛС] 

Гуфыч

VIP (Заслуженный)

Стаж: 13 лет 9 месяцев

Сообщений: 8923

Гуфыч · 03-Фев-18 16:55 (спустя 3 дня)

Лексей891
Что в правилах iptables?
HTTP-прокси сам по себе работает?
Попробуйте сделать через OUTPUT, но уже на самом хосте.
[Профиль]  [ЛС] 

Alex013

Стаж: 17 лет 5 месяцев

Сообщений: 7


Alex013 · 14-Апр-18 01:28 (спустя 2 месяца 10 дней, ред. 14-Апр-18 01:28)

Роутер на LEDE
Transmission на nas4free
Не понял смысла в "Hostnames", но создал proxy.pvt с IP 163.172.167.207
Строку из шапки в "Custom rules" добавил.
Помогло, но не сразу и не всем.
Новая закачка в итоге пошла, а вот старые, уже закаченные и прилично розданные - так и остались "Could not connect to tracker"
[Профиль]  [ЛС] 

hArtKor

Стаж: 16 лет 9 месяцев

Сообщений: 450

hArtKor · 31-Май-20 11:17 (спустя 2 года 1 месяц, ред. 31-Май-20 11:17)

Сделал все согласно настроек. По всей видимости все работает, и раздачи скачиваются. Но почему-то ощущение, что нет отдачи. За весь день вообще никакого траффика на отдачу не было. Что это может быть и куда копать?
Роутер ASUS RT-AC58U
версия OpenWrt 19.07.3 r11063-85e04e9f46
Код:
wget --spider http://bt.t-ru.org/announce.php
Downloading 'http://bt.t-ru.org/announce.php'
Connecting to 195.82.146.120:80
(null)                  90  --:--:-- ETA
Download completed (90 bytes)
upd: кажется разобрался, нужно было открыть порт.
[Профиль]  [ЛС] 

DmitryZz

Top Bonus 03* 1TB

Стаж: 17 лет 3 месяца

Сообщений: 175

DmitryZz · 22-Апр-22 14:59 (спустя 1 год 10 месяцев, ред. 22-Апр-22 14:59)

прописал через luci в custom rules
Код:
iptables -t nat -A prerouting_rule -p tcp -m tcp --dport 80 -d 195.82.146.120/30 -j DNAT --to-destination 51.195.61.93:23128
iptables -t nat -A output_rule -p tcp -m tcp --dport 80 -d 195.82.146.120/30 -j DNAT --to-destination 51.195.61.93:23128
но только несколько из сотни раздач зеленые. что посоветуете?
[Профиль]  [ЛС] 

shilak1

Top Bonus 06* 50TB

Стаж: 15 лет 11 месяцев

Сообщений: 503

shilak1 · 05-Май-22 07:13 (спустя 12 дней)

DmitryZz писал(а):
83031167...но только несколько из сотни раздач зеленые. что посоветуете?
Вымерла вся техподдержка... Иных уж нет; а те далече..,
[Профиль]  [ЛС] 

Bixxx

Старожил

Стаж: 15 лет 11 месяцев

Сообщений: 398

Bixxx · 13-Май-22 09:59 (спустя 8 дней)

При такой настройке мой qbit раздает только 1-2 торрента на скорости до 100к.

Но стоит только отключить прокси, не трогая больше никаких настроек, все сразу взлетает - 10 торрентов на отдаче и заполняется весь выделенный мною лимит по скорости для отдач. Вот никак не пойму в чем проблема...
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 12 лет 6 месяцев

Сообщений: 1087

Dicrock · 14-Май-22 06:56 (спустя 20 часов, ред. 14-Май-22 06:56)

Bixxx писал(а):
Но стоит только отключить прокси, не трогая больше никаких настроек, все сразу взлетает - 10 торрентов на отдаче и заполняется весь выделенный мною лимит по скорости для отдач. Вот никак не пойму в чем проблема...
Смотрите, какой статус трекера через прокси. Смотрите, что там с dht и настройками направления трафика на прокси. У кубита там были свои придури при работе через рутрекеровский прокси. По крайней мере у меня ...
[Профиль]  [ЛС] 

TyroSpy

Стаж: 14 лет 10 месяцев

Сообщений: 59

TyroSpy · 08-Июн-22 22:28 (спустя 25 дней, ред. 08-Июн-22 22:28)

Пока так работает:
Код:

iptables -A output_wan_rule -t nat -p tcp -m tcp -d 195.82.146.120/30 --dport 80 -j DNAT --to-destination 185.15.211.203:80
iptables -A prerouting_lan_rule -t nat -p tcp -m tcp -d 195.82.146.120/30 --dport 80 -j DNAT --to-destination 185.15.211.203:80
output_wan_rule надо создать предварительно
Код:

iptables -N output_wan_rule -t nat
затем пихаем в OUTPUT
Код:

iptables -A OUTPUT -t nat -o eth0 -m comment --comment "!fw3: Custom wan output rule chain" -j output_wan_rule
[Профиль]  [ЛС] 

dedmo

Стаж: 18 лет 5 месяцев

Сообщений: 93

dedmo · 07-Сен-22 21:59 (спустя 2 месяца 28 дней)

Пожалуйста обновите инструкцию/пример custom rules для OpenWrt 22.03.0, потому что:
Цитата:
"По умолчанию задействовано новое приложение для управления межсетевым экраном - fw4 (Firewall4), основанное на пакетном фильтре nftables. Синтаксис файлов конфигурации для межсетевого экрана (/etc/config/firewall) и интерфейс uci не изменились - fw4 может выступать прозрачной заменой ранее применявшегося инструментария fw3, основанного на iptables. Исключение составляют правила добавленные вручную (/etc/firewall.user), которые потребуется переделать для nftables (fw4 позволяет добавлять собственные блоки правил, но в формате nftables)"
[Профиль]  [ЛС] 

Hanabishi

Старожил

Стаж: 14 лет 7 месяцев

Сообщений: 2906

Hanabishi · 07-Сен-22 23:24 (спустя 1 час 24 мин., ред. 07-Сен-22 23:27)

dedmo, могу написать правила для nftables:
Код:
nft add table ip bt_ru
nft add chain ip bt_ru dnat_proxy
nft add rule bt_ru dnat_proxy 'ip daddr 195.82.146.120/30 tcp dport 80 dnat to 185.15.211.203'
nft add chain ip bt_ru prerouting '{ type nat hook prerouting priority dstnat; }'
nft add rule bt_ru prerouting 'goto dnat_proxy'
nft add chain ip bt_ru output '{ type nat hook output priority filter; }'
nft add rule bt_ru output 'goto dnat_proxy'

То же самое в виде конфига:
Код:
table ip bt_ru {
    chain dnat_proxy {
        ip daddr 195.82.146.120/30 tcp dport 80 dnat to 185.15.211.203
    }
    chain prerouting {
        type nat hook output priority filter;
        goto dnat_proxy
    }
    chain output {
        type nat hook output priority filter;
        goto dnat_proxy
    }
}
[Профиль]  [ЛС] 

dedmo

Стаж: 18 лет 5 месяцев

Сообщений: 93

dedmo · 08-Сен-22 20:20 (спустя 20 часов)

скрытый текст
Hanabishi писал(а):
83598287dedmo, могу написать правила для nftables:
Код:
nft add table ip bt_ru
nft add chain ip bt_ru dnat_proxy
nft add rule bt_ru dnat_proxy 'ip daddr 195.82.146.120/30 tcp dport 80 dnat to 185.15.211.203'
nft add chain ip bt_ru prerouting '{ type nat hook prerouting priority dstnat; }'
nft add rule bt_ru prerouting 'goto dnat_proxy'
nft add chain ip bt_ru output '{ type nat hook output priority filter; }'
nft add rule bt_ru output 'goto dnat_proxy'

То же самое в виде конфига:
Код:
table ip bt_ru {
    chain dnat_proxy {
        ip daddr 195.82.146.120/30 tcp dport 80 dnat to 185.15.211.203
    }
    chain prerouting {
        type nat hook output priority filter;
        goto dnat_proxy
    }
    chain output {
        type nat hook output priority filter;
        goto dnat_proxy
    }
}
Спасибо. Только к сожалению я не смогу это применить к новому OpenWrt (не знаю как и куда). Я обычный пользователь.
[Профиль]  [ЛС] 

kazmikro

Стаж: 14 лет 2 месяца

Сообщений: 3


kazmikro · 27-Дек-22 01:08 (спустя 3 месяца 18 дней)

Hanabishi писал(а):
83598287dedmo, могу написать правила для nftables:
Код:
nft add table ip bt_ru
nft add chain ip bt_ru dnat_proxy
nft add rule bt_ru dnat_proxy 'ip daddr 195.82.146.120/30 tcp dport 80 dnat to 185.15.211.203'
nft add chain ip bt_ru prerouting '{ type nat hook prerouting priority dstnat; }'
nft add rule bt_ru prerouting 'goto dnat_proxy'
nft add chain ip bt_ru output '{ type nat hook output priority filter; }'
nft add rule bt_ru output 'goto dnat_proxy'

То же самое в виде конфига:
Код:
table ip bt_ru {
    chain dnat_proxy {
        ip daddr 195.82.146.120/30 tcp dport 80 dnat to 185.15.211.203
    }
    chain prerouting {
        type nat hook output priority filter;
        goto dnat_proxy
    }
    chain output {
        type nat hook output priority filter;
        goto dnat_proxy
    }
}
Привет, попробовал выполнить через SSH и рестартнуть роутер, не помогло
OpenWrt 22.03.2 на роутере, TNAS от TerraMaster (could not connect to tracker)
NAS тоже рестартил,
Цитата:
root@OpenWrt:~# wget --spider http://bt.t-ru.org/announce.php
Downloading 'http://bt.t-ru.org/announce.php'
Висит в таком состоянии чуть и потом выкидывает:
Failed to send request: Operation not permitted
[Профиль]  [ЛС] 

Hanabishi

Старожил

Стаж: 14 лет 7 месяцев

Сообщений: 2906

Hanabishi · 27-Дек-22 01:25 (спустя 17 мин., ред. 27-Дек-22 01:26)

kazmikro писал(а):
84087842wget --spider http://bt.t-ru.org/announce.php
А почему этот адрес? Можно так:
Код:
wget -q -O - http://bt.t-ru.org/ann_time.php
Ответ должен быть:
Код:
���������� ��� (answer from real tracker)
Tue Dec 27 01:18:17 MSK 2022#

Еще как вариант, если используется провайдерский DNS, он может резать запросы.
Проверяется легко:
Код:
nslookup bt.t-ru.org
Адрес соответственно должен возвращаться реальный:
Код:
Non-authoritative answer:
Name: bt.t-ru.org
Address: 195.82.146.120
Если возвращается левый или никакой, то нужно переключиться на использование любого стороннего DNS-сервера (9.9.9.9, 1.1.1.1, 8.8.8.8, не суть важно).
[Профиль]  [ЛС] 

kazmikro

Стаж: 14 лет 2 месяца

Сообщений: 3


kazmikro · 27-Дек-22 21:59 (спустя 20 часов, ред. 27-Дек-22 21:59)

Hanabishi писал(а):
84087877
kazmikro писал(а):
84087842wget --spider http://bt.t-ru.org/announce.php
А почему этот адрес? Можно так:
Код:
wget -q -O - http://bt.t-ru.org/ann_time.php
Ответ должен быть:
Код:
���������� ��� (answer from real tracker)
Tue Dec 27 01:18:17 MSK 2022#

Еще как вариант, если используется провайдерский DNS, он может резать запросы.
Проверяется легко:
Код:
nslookup bt.t-ru.org
Адрес соответственно должен возвращаться реальный:
Код:
Non-authoritative answer:
Name: bt.t-ru.org
Address: 195.82.146.120
Если возвращается левый или никакой, то нужно переключиться на использование любого стороннего DNS-сервера (9.9.9.9, 1.1.1.1, 8.8.8.8, не суть важно).

Судя по nslookup провайдер определяет не режет запрос, возвращает реальный ip трекера. Только вот непонятно почему нет прав на отправку запроса или при отправке запроса (Failed to send request: Operation not permitted). Может nft конфиг не применяется?
[Профиль]  [ЛС] 

Hanabishi

Старожил

Стаж: 14 лет 7 месяцев

Сообщений: 2906

Hanabishi · 28-Дек-22 00:02 (спустя 2 часа 2 мин.)

kazmikro писал(а):
84091334Может nft конфиг не применяется?
С этого вопроса тогда и стоило начать. Разумеется нужно убедиться в том, что конфиг применился, иначе в чем смысл.
Мануал по nftables в помощь. Например посмотреть текущие правила можно командой
Код:
nft list ruleset
[Профиль]  [ЛС] 

bugveyron

Стаж: 15 лет 1 месяц

Сообщений: 7

bugveyron · 29-Дек-22 23:48 (спустя 1 день 23 часа, ред. 29-Дек-22 23:48)

В случае OpenWrt 22.03.2 правила введённые по SSH:
Hanabishi писал(а):
83598287
Код:
nft add table ip bt_ru
nft add chain ip bt_ru dnat_proxy
nft add rule bt_ru dnat_proxy 'ip daddr 195.82.146.120/30 tcp dport 80 dnat to 185.15.211.203'
nft add chain ip bt_ru prerouting '{ type nat hook prerouting priority dstnat; }'
nft add rule bt_ru prerouting 'goto dnat_proxy'
nft add chain ip bt_ru output '{ type nat hook output priority filter; }'
nft add rule bt_ru output 'goto dnat_proxy'
работали, но лишь до перезагрузки роутера.
Пытался добавить правило
скрытый текст
Hanabishi писал(а):
83598287
Код:
table ip bt_ru {
    chain dnat_proxy {
        ip daddr 195.82.146.120/30 tcp dport 80 dnat to 185.15.211.203
    }
    chain prerouting {
        type nat hook output priority filter;
        goto dnat_proxy
    }
    chain output {
        type nat hook output priority filter;
        goto dnat_proxy
    }
}
или (то что получалось после ручного ввода в терминал, есть различия)
Код:
table ip bt_ru {
        chain dnat_proxy {
                ip daddr 195.82.146.120/30 tcp dport 80 dnat to 185.15.211.203
        }
        chain prerouting {
                type nat hook prerouting priority dstnat; policy accept;
                goto dnat_proxy
        }
        chain output {
                type nat hook output priority filter; policy accept;
                goto dnat_proxy
        }
}
файлом (*.nft) по местам /etc/nftables.d/ или /usr/share/nftables.d/, но фаервол либо не перезапускался(ошибка), либо в выводе fw4 print сообщал об игнорировании внешнего правила.
Мало понимаю в этом, но подумал что fw4 имеет приоритет перед "чистыми" правилами nft.
Стал пытаться реализовать задуманное через fw4, а именно добавление правила в /etc/config/firewall, мало что понял из мануалов, но путём проб и ошибок получилось такое:
Код:

config redirect
        option name 'rutracker_redirect'
        option src 'lan'
        option src_dip '195.82.146.120/30'
        option src_dport '80'
        option dest_ip '185.15.211.203'
        option dest_port '80'
        option proto 'tcp'
        option target 'DNAT'
        option enabled '1'
И оно вроде даже работает, хотя есть сомнения в корректности работы, не исключаю что оно может иметь ошибки. Может кто знает, прошу подсказать.
Добавить сие надо в конце файла /etc/config/firewall, я делал это через WinSCP, а после перезапустить фаервол или роутер.
[Профиль]  [ЛС] 

Hanabishi

Старожил

Стаж: 14 лет 7 месяцев

Сообщений: 2906

Hanabishi · 30-Дек-22 00:00 (спустя 11 мин., ред. 30-Дек-22 00:03)

bugveyron писал(а):
84099490работали, но лишь до перезагрузки роутера.
Так и должно быть.
bugveyron писал(а):
84099490файлом (*.nft) по местам /etc/nftables.d/ или /usr/share/nftables.d/
Эти папки немного для другого.
Нужно добавить команды в загрузочный скрипт (на соответствующей вкладке веб-интерфейса или напрямую в /etc/rc.local).
В скрипт можно просто скопировать сами команды, либо загружать конфиг из файла командой вида nft -f /root/myrules.nft, разницы нет.
bugveyron писал(а):
84099490Мало понимаю в этом, но подумал что fw4 имеет приоритет перед "чистыми" правилами nft.
fw4 это всего лишь обертка над nftables.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error