Перейти к содержанию

Вопрос

Опубликовано (изменено)

Всем доброго времени суток!
Помогите, пожалуйста, с решением проблемы iptables.

Задача
Перенаправления трафика с использованием TPROXY.

Проблема
При попытке перенаправления трафика на порт 51271 с помощью команды

iptables -t mangle -A XRAY -p tcp -j TPROXY --on-port 51271 --tproxy-mark 1

Получаю ошибку

iptables: No chain/target/match by that name.

Дополнение

  1. Цепочка Xray точно существует в таблице mangle
  2. Модуль xt_TPROXY.ko точно установлен согласно выводу
    ls /lib/modules/$(uname -r)/ | grep -i proxy
    
      xt_TPROXY.ko
  3. Правила для пропуска пакетов в цепочку установились согласно выводу 

Устройство и обеспечение

  • Keenetic Ultra KN1811
  • Keenetic OS 4.0.2
  • Модули ядра подсистемы Netfilter включены
  • Iptables 1.4.21

Весь скрипт

Скрытый текст
#30.30.30.30 — IP VPS сервера
#192.168.1.1 — IP LAN


#Задача для входящего трафика: 
#Трафик адресованный к локальной сети должен обрабатываться локально.
#UDP / TCP трафик должен маркироваться и отправляться на 51271 на локальном интерфейсе через порт TPROXY
#
#Задача для исходящего трафика: 
#Трафик адресованный к VPS пропускается без проксирования
#Остальной трафик маркируется
#UDP / TCP трафик должен маркироваться и отправляться на 51271 на локальном интерфейсе через порт TPROXY


#Проксирование локальной сети
ip rule add fwmark 1 table 100

#Маршрут для локальных пакетов
ip route add local 0.0.0.0/0 dev lo table 100

#Создаем цепочку xray
iptables -t mangle -N XRAY

#Пропустить пакеты / LAN
iptables -t mangle -A XRAY -d 192.168.1.1 -j RETURN

#Пропустить пакеты / Мультикастовые
iptables -t mangle -A XRAY -d 224.0.0.0/3 -j RETURN

#Перенаправляем TCP на порт 51271
iptables -t mangle -A XRAY -p 'tcp' -j TPROXY --on-port 51271 --tproxy-mark 1

#Перенаправляем UDP на порт 51271
iptables -t mangle -A XRAY -p 'udp' -j TPROXY --on-port 51271 --tproxy-mark 1

#Добавляем правило в цепочку PREROUTING
iptables -t mangle -A PREROUTING -j XRAY


#Проксирование сервера

#Создаем цепочку v2ray_mask
iptables -t mangle -N XRAY_MASK

#Пропустить пакеты / LAN
iptables -t mangle -A XRAY_MASK -d 192.168.1.1 -j RETURN

#Пропустить пакеты / Мультикастовые
iptables -t mangle -A XRAY_MASK -d 224.0.0.0/3 -j RETURN

#Пропустить пакеты / Прямые запросы на VPS
iptables -t mangle -A XRAY_MASK -d 30.30.30.30/32 -j RETURN

#Маркикуем остальной трафик
iptables -t mangle -A XRAY_MASK -j MARK --set-mark 1

#Применяем цепочку в исходящему TCP трафику
iptables -t mangle -A OUTPUT -p tcp -j XRAY_MASK

#Применяем цепочку в исходящему UDP трафику
iptables -t mangle -A OUTPUT -p udp -j XRAY_MASK

Буду признательна за любые рекомендации и помощь в решении подобной проблемы!

Изменено пользователем Skrill0

Рекомендуемые сообщения

  • 0
Опубликовано (изменено)

Модуль надо загрузить перед использованием

insmod /lib/modules/$(uname -r)/xt_TPROXY.ko

Изменено пользователем r13
  • 0
Опубликовано

Добрый день.

У меня аналогичная проблема, но в директории /lib/modules/$(uname -r) нет модуля xt_TPROXY.ko.

Может какого компонента не хватает?

Большое спасибо!

  • 0
Опубликовано (изменено)

Уважаемые участники, это опять я.

Замучился, не могу настроить Xray в режиме TPROXY на роутере Keneetic. Прошу Вашей помощи.

Сконфигурировал Xray:

"inbounds": [
	{
        "tag": "tproxy",
        "port": 12345,
        "protocol": "dokodemo-door",
        "settings": {
            "network": "tcp,udp",
            "followRedirect": true
        },
        "streamSettings": {
            "sockopt": {
                "tproxy": "tproxy"
            }
        }   
]

Прописал маршруты:

ip rule add fwmark 0x1 table 100
ip route add local 0.0.0.0/0 dev lo table 100

Добавляю клиента:

iptables -t mangle -A PREROUTING -m mac --mac-source XX:XX:XX:XX:XX:XX -p tcp -j TPROXY --on-port 12345 --tproxy-mark 0x1
iptables -t mangle -A PREROUTING -m mac --mac-source XX:XX:XX:XX:XX:XX -p udp -j TPROXY --on-port 12345 --tproxy-mark 0x1

Все... после этого у клиента полностью пропадает доступ IPv4.

IPv6 продолжает работать, что логично.

Для проверки outbounds и работы Xray в целом добавил еще один inbound:

"inbounds": [
	{
        "tag": "redirect",
        "port": 12345,
        "protocol": "dokodemo-door",
        "settings": {
            "network": "tcp",
            "followRedirect": true
        }   
]

Добавляю того же клиента:

iptables -t nat -A PREROUTING -m mac --mac-source XX:XX:XX:XX:XX:XX -p tcp -j REDIRECT --to-port 12345
ip6tables -t nat -A PREROUTING -m mac --mac-source XX:XX:XX:XX:XX:XX -p tcp -j REDIRECT --to-port 12345

Все замечательно работает. IPv4 и IPv6 адреса на клиенте меняется на адрес моего VPS.

А вот в режиме прозрачного прокси ну никак не могу настроить.

Большое спасибо!

Изменено пользователем AGluk
  • 0
Опубликовано

Доброго здоровья!
Вводные данные. Роутер вива 1910, прошивка 4.2.2. В локальной сети на отдельном компе с ubuntu-server крутится xray c настройкой через веб морду x-ui. 
Кинетик подключен в inbound xray по протоколу wireguard, отдельные устройства локальной сети настроены по данному маршруту через отдельную политику. Все маршрутизируется отлично. 
Как всегда, есть но... Использование протокола wireguard в локальной сети во первых не изящное решение (шифровать трафик в локальной сети). во вторых, режет скорость с 200 мб на 100 из за нагрузки на процессор.
Пробовал подключаться через клиент прокси сокс5 кинетика. Уморил он меня. Не запускается после перезагрузки роутера, надо дергать вручную. Запрыгивает вперед основного подключения к провайдеру и вешает все соединения, то просто не дает соединяться, комп, включенный в эту политику пытается подключиться к интернету, но никак. Может днс как-то не так срабатывает. Пробовал подключать разные днс на эту политику, включая DoT, DoH. Может прокси еще не допилен, или я что-то не втыкаю.
Хотелось бы, в локальной сети заворачивать трафик определенной политики роутера без шифрования в inbound dokodemo-door или еще как-нибудь без шифрования. 
Может накинете идей, как это можно сделать.
 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.