TBNG  — Устранение Проблем и Часто Задаваемые Вопросы
http://znoxx.me

TorBOX Next Generation

Устранение Проблем и Часто Задаваемые Вопросы

В зависимости от конфигурации оборудования, версии ядра и компонент пользователь может столкнуться с некоторыми трудностями при работе с TorBOX Next Generation (TBNG). Здесь будут собираться различные рецепты устранения проблем и ответы на часто задаваемые вопросы. Помните, что файлы журнала системы (логи) очень часто облегчают задачу и помогают устранить причину.

Причины проблем

Существует несколько причин, из-за которых TBNG не работает или работает неправильно:

Устранение проблем

Решение проблем с драйверами

На момент написания этого документа ОС Linux обзавелась достаточным количеством драйверов устройств, в том числе и беспроводных сетевых адаптеров, чтобы обеспечить работу почти любого устройства из присутствующих на рынке.

Тем не менее, перед установкой TBNG рекомендуется проверить, работает ли ваше сетевое оборудование, в частности, поддерживает ли беспроводной адаптер режим "точки доступа".

Так, например, беспроводные сетевые карты Realtek в большинстве своём умеют работать в этом режиме, но сервис hostapd в "дефолтных" репозитариях пакетов как правило собран без поддержки режима для Realtek. Тут можно пойти тремя путями — поискать нужную версию в альтернативных репозитариях, либо установить с помощью утилиты configure_hostapd.py, входящей в комплект TBNG, ну и наконец — собрать самому.

По этой ссылке вполне достаточно информации по этой проблеме.

Исправление ошибок в конфигурационном файле

Конфигурационный файл TBNG расположен в директории config и называется tbng.json.

Формат файла — JSON (JavaScript Object Notation). Синтаксис файла довольно строгий, так что ни одна команда не сможет быть выполнена, если файл содержит ошибку. Проверить синтаксис довольно просто — достаточно дать команду:

sudo ./tbng/engine/tbng.py chkconfig

Она проверит файл на валидность.

Бывает так, что при установке файл забывают создать, точнее — скопировать из примера и отредактировать под свои нужды. Файл необходим для работы, так что создавать его нужно обязательно.

Нецелевое использование TBNG

Проект всё-таки рассчитан на пользователя, который понимает, что делает. Некоторые факты:

Если что-то перестало работать — перечитайте документацию, особенно раздел "Общее описание" для понимания принципов работы.

Конфликт в правилах Firewall

Брандмауэр iptables, который используется в TBNG служит не только для блокировки соединений, но и для маршрутизации. Точка доступа, которая организуется средствами TBNG использует Network Address Translation.

Например, ваша домашняя сеть использует диапазон 192.168.1.x. В этом случае допустимо назначить диапазон адресов вида 192.168.2.x для TBNG. В этом случае первый диапазон будет "виден" из второго в случае использования режима "Direct". В режиме "TOR" или "Privoxy" первый диапазон уже недоступен, ибо TCP-пакеты "заворачиваются" в TOR, а он понятия не имеет о том, что такое ваш принтер, имеющий адрес, допустим 192.168.1.55.

Никто не запрещает включить дополнительные сервисы на устройстве, где установлен TBNG, но они должны быть правильно сконфигурированы. Самый простой путь — в конфигурационном файле tbng.conf "открыть" соответствующие порты для сетей LAN и WAN.

Вот пример конфигурации, когда TBNG установлена на арендованном сервере (VPS), который используется как VPN-сервер.

{
  "cputemp": "default",
  "wan_interface": [
   {
     "name": "ens3"
   }
    ],
  "lan_interface": [
    {
      "name": "tap_vpn"
    }
  ],
  "allowed_ports_tcp" : [6022,3000,7657,9050,8118,4200],
  "allowed_ports_udp" : [53],
  "allowed_ports_wan_tcp" :[22,6022,443,992,1194,5555],
  "allowed_ports_wan_udp" :[500,4500],
   "lock_firewall": true
}

Во "внешней сети" дополнительно разрешены порты UDP 500,4500, а также TCP 1194 и 5555, что соответствует разрешенным портам для VPN L2TP.

Никто не запрещает "открыть" эти порты напрямую через iptables, но нужно помнить во-первых о порядке применения правил, а во-вторых то, что TBNG часто переписывает правила firewall для обеспечения функциональности. Так что самый безопасный способ "открыть порт" — добавить его в конфигурационный файл.

Особенности работы используемых компонентов проекта

TBNG использует большое количество компонент — это и Network Manager, и TOR ,и Privoxy.

Поскольку нет привязки к конкретной версии (главное — не пользоваться откровенно старыми) — эти самые компоненты могут в некоторых случаях работать неправильно "из коробки". Все случаи "подобного поведения" выносятся в FAQ, так что имеет смысл заглянуть туда в первую очередь.

Второй момент, на который стоит обратить внимание — это функционал по подмене MAC-адресов на адаптерах. Кратко — это работает не всегда и не везде. Именно поэтому функционал вынесен в механизм плагинов и является опциональным. Препятствия для работы чинят как драйвера устройств, так и ядро и Network Manager. Другими словами то, что работает на Debian Jessie может на заработать на Ubuntu. Или потребуется дополнительная настройка в Debian Stretch.

Для беспроводных модулей Realtek, например, требуется перегрузка модуля ядра. В Ubuntu это приводит к переименованию интерфейса, а это, в свою очередь полностью "рушит" конфигурационный файл. Каждый случай должен рассматриваться отдельно и общего рецепта просто нет. Возможно написание собственных плагинов по подмене адреса, опять-таки, если пользователь уверен в своих силах.

FAQ — Часто Задаваемые Вопросы

Не работает TOR. Что делать ?

Сервис TOR иногда отказывается стартовать в системе или постоянно перезапускается. Причина во взаимодействии с systemd. Такое может быть при "слишком новом ядре", или наоборот — при "слишком старом".

Встречалось 2 проблемы с TOR.

Диагностика производится с помощью syslog (/var/log/syslog).

Первая — "падение" с ошибкой NO_NEW_PRIVILEGES. Исправляется довольно просто — создаем файл:

/etc/systemd/system/tor@.service.d/10-no-new-privileges.conf

С содержимым:

[Service]
NoNewPrivileges=no

Теперь перезапускаем TOR — падать должно перестать.

Вторая проблема — процесс tor отсутствует в системе, несмотря на то, что он установлен (даже без дополнительной конфигурации для tbng):

Для Ubuntu 16.04

Тут предлагается следующее решение. В частности, предлагается удалить файл /lib/systemd/system/tor.service и выполниеть команду:

systemctl daemon reload

Это позволит запускать tor из /etc/init.d/tor, а не через systemd.

Пользователи Reddit предлагают также решение, работающее в Debian Stretch:

Для Debian Stretch

Оригинал смотрим тут.

Если кратко, то выполняем:

systemctl enable tor@default

Перегружаем систему. Это позволит управлять сервисом через обычные команды systemctl start tor, systemctl restart tor

Если ничего не помогло

Можно попробовать поставить TOR из репозитарием проекта torproject.org. Там есть инструкция, ну или собрать из исходников. Хотя два предыдущих приёма должны помочь.

Google is your friend here. TBNG никак не влияет на работоспособность или авто-старт tor, а лишь добавляет необходимые опции в /etc/tor/torrc.

Невозможно соединиться с WiFi сетью (внешняя сеть)

Симптомы следующие — список WiFi виден, но при попытке соединения, даже если пароль введен правильно — система либо не отвечает, либо выдает ошибку соединения.

Для начала нужно проверить права на файл nmcli. У него должен быть установлен suid-бит. То есть файл должен всегда запускаться с привилегиями root. Да, это не безопасно, но в противном случае придётся настраивать массу конфигурационных файлов, причём без особой надежды на успех.

Итак, файл должен иметь маску прав:

$ ls -la /usr/bin/nmcli
-r-sr-xr-x 1 root root 600816 Feb 22 2017 /usr/bin/nmcli

Если нет "s", то, скорее всего система претерпела обновление и файл был заменен новой версией.

Выполняем команду:

sudo chmod u+s,a-w /usr/bin/nmcli

Либо, "починить" nmcli можно с помощью команды tbng:

sudo tbng/engine/tbng.py patch_nmcli

Если данный способ не помог, попробуйте внести в файл:

/etc/NetworkManager/NetworkManager.conf

Строчки:

[device]
wifi.scan-rand-mac-address=no

Более подробную информацию можно получить по этой ссылке.

Невозможно соединиться с устройством, где установлена TBNG

Тут причин несколько:

Всё это не имеет отношения к TBNG, так как connectivity — забота пользователя. Лучший способ — подключиться через консоль (монитор, последовательный порт) и посмотреть на конфигурацию. На всякий случай:

Не работает Mac Spoof

Вообще, то что он работает — большая удача. Тут мало что можно сделать, хотя иногда помогает рецепт "ремонта" Network Manager из вопроса "Невозможно соединиться с WiFi сетью "внешняя сеть"" — добавление строчки в конфигурацию Network Manager.

Статистика такая — в Ubuntu 16.04 mac spoof не работал из-за Network Manager вообще, в Debian Jessie — работал прекрасно в любом режиме spoof'a, в Debian Stretch — заработал после редактирования конфигурации Network Manager.

Скорость канала TOR очень маленькая

Во время тестирования мы не видели скорости через TOR быстрее, чем 0.5мбит/c. TOR не предназначен для постоянного использования by-design.

Ваши настройки точки доступа для hostapd-tbng не правильные. У меня лучше.

Настройки выбраны для большинства адаптеров. Отредактируйте файл :

tbng/config/hostapd-tbng.conf

на свой вкус, если пользуетесь hostapd-tbng и внесите ваши собственные.

Можно ли запускать tbng из под root ?

Сам "движок" работает только с sudo. Но web-интерфейс запускать от root точно не надо. Это НЕ безопасно.

У меня сервер, арендованный у провайдера. Физически у него 1 интерфейс, но есть еще виртуальный — tun0 для VPN. Будет ли работать TBNG ?

Да будет. В конфигурации нужно указать, что WAN интерфейс "смотрит в Интернет", а tun0 это LAN. Так, клиенты VPN будут видеть интерфейс точки доступа и получать интернет-траффик с возможностью использования TOR.

Правда тут есть несколько подводных камней. Некоторые VPN не присваивают адреса интерфейсу, или вообще стартуют поздно, так что TBNG может стартовать раньше. Тут уже придется либо менять очередность старта, либо перестартовать tbng helper в самом конце, чтобы он увидел все сетевые интерфейсы.

Я пытаюсь переключить интерфейс WAN на другой, а всё зависает.

Скорее всего интерфейс не сконфигурирован или отсутствует сетевой кабель/подключение. Не нужно переключаться на заведомо неработающие интерфейсы. Если они не используются — уберите их из конфигурационного файла, чтобы не запутаться.

Какой USB WiFi выбрать ?

Общий ответ — тот, что будет работать с вашим ядром.

Более развернутый — Ralink 2800 не доставлял никаких хлопот, работал во всех режимах, переживал подмену mac-адреса (везде, кроме Ubuntu 16.04 из-за её Network Manager). Однако, копеечный Realtek 8192CU, 8188CUS позволил обойтись одним адаптером, ибо работал в Concurrent Mode. Всё зависит от ваших целей и задач.

После соединеня с WiFi не открывается captive portal — пишет, что сервер не найден.

Сбросьте кэш DNS в настройках WAN (перезапустите dnsmasq).

Такое может произойти, если вы соединяетесь с сетью, в которой captive portal открывается не по адресу, а по имени, например "supercoffeshop.local". Такое имя недоступно в глобальном DNS, так что нужно перезапустить dnsmasq, чтобы обновить данные с локального DNS сервера.

UpDog logo Host your own website for free with UpDog.