Роутер из старого ноутбука. Как превратить ненужный девайс в точку доступа с Tor

DarkBuffer

⚡ Contributor
ACTIVE NODE
INITIATED
Старые ноутбуки часто пылятся на полках, потому что их производительности уже не хватает для современных задач. Но их можно использовать с пользой. Например, превратить в полноценный роутер с выходом в интернет через Tor. Это особенно актуально, если вы хотите пропустить весь трафик домашней сети через анонимную сеть или просто дать вторую жизнь старому железу.

В этой инструкции я расскажу, как сделать из старого ноутбука роутер на базе Debian. Всё, что вам понадобится, это сам ноутбук, флешка и доступ в интернет.

Подготовка системы

Скачиваем образ Debian Live. Нам нужна версия без графического интерфейса, так как все настройки будут производиться в консоли.


Код:
wget https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-12.8.0-amd64-standard.iso
Проверяем подпись образа, чтобы убедиться в его подлинности. Записываем образ на флешку:


Код:
dd if=debian-live-12.8.0-amd64-standard.iso of=/dev/sdb bs=1M status=progress conv=fsync
Вставляем флешку в старый ноутбук, подключаем его к интернету по проводу и загружаемся с флешки.

После загрузки обновляем список пакетов:


Код:
sudo apt update
Для удобства устанавливаем поддержку мыши в терминале, чтобы можно было копировать текст и вставлять его нажатием колёсика:


Код:
sudo apt install gpm
Настройка точки доступа Wi-Fi

Устанавливаем hostapd, программу для создания точки доступа:


Код:
sudo apt install hostapd
Редактируем файл настройки hostapd, указываем путь к конфигурационному файлу:


Код:
sudo nano /etc/default/hostapd
Приводим строчку к следующему виду:


Код:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Создаём сам конфиг, где прописываем имя сети, пароль и интерфейс Wi-Fi:


Код:
sudo nano /etc/hostapd/hostapd.conf
Вставляем следующий текст:


Код:
interface=wlan0
driver=nl80211
ssid=Internet
hw_mode=g
ieee80211n=1
channel=6
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0
Важно правильно указать интерфейс, обычно это wlan0, но лучше проверить командой ip addr.

Запускаем службу hostapd и проверяем, появилась ли точка доступа с заданным именем:


Код:
systemctl unmask hostapd
systemctl start hostapd
Присваиваем Wi-Fi адаптеру статический IP адрес, например 192.168.20.1/24. Это будет шлюз для клиентов локальной сети:


Код:
sudo ip address add 192.168.20.1/24 dev wlan0
Настройка DHCP-сервера

Устанавливаем dnsmasq, легкий DHCP-сервер:


Код:
sudo apt install dnsmasq
В его конфиге указываем интерфейс, на котором будет работать DHCP, и диапазон IP-адресов, которые будут выдаваться клиентам:


Код:
sudo nano /etc/dnsmasq.conf
Добавляем строки:


Код:
interface=wlan0
dhcp-range=192.168.20.2,192.168.20.100,12h
Перезапускаем dnsmasq, чтобы изменения вступили в силу:


Код:
systemctl restart dnsmasq
Настройка маршрутизации

Разрешаем передачу пакетов между интерфейсами:

Код:
sudo sysctl net.ipv4.ip_forward=1
Устанавливаем iptables, инструмент для управления сетевыми правилами:


Код:
sudo apt install iptables
Добавляем правила, которые будут маскировать трафик и разрешать пересылку пакетов:


Код:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
sudo iptables -I FORWARD 1 -j ACCEPT
sudo iptables -I INPUT -p udp -i wlan0 --dport 67 -j ACCEPT
Настройка Tor как прозрачного прокси

Сбрасываем старые правила iptables:


Код:
sudo iptables -F && sudo iptables -t nat -F
Разрешаем весь трафик:


Код:
sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
Устанавливаем Tor:


Код:
sudo apt install tor
Редактируем конфигурационный файл Tor:


Код:
sudo nano /etc/tor/torrc
Прописываем настройки для прозрачного прокси и DNS, а также добавляем мост для подключения к сети Tor:


Код:
Log notice file /var/log/tor/tor.log
AutomapHostsSuffixes .exit,.onion
AvoidDiskWrites 1
Bridge webtunnel [2001:XXXXXXXXXX] ver=0.0.1
ClientTransportPlugin webtunnel exec /usr/bin/webtunnel-client
RunAsDaemon 0
UseBridges 1
WarnPlaintextPorts 23,109
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 192.168.20.1:9040 IsolateClientAddr IsolateClientProtocol IsolateDestAddr IsolateDestPort
DNSPort 192.168.20.1:53
Запускаем Tor и проверяем логи, чтобы убедиться, что подключение установлено:


Код:
sudo systemctl start tor
sudo cat /var/log/tor/tor.log
Создаём скрипт с правилами iptables, которые будут перенаправлять весь TCP-трафик из локальной сети на порт Tor. А также перехватывать DNS-запросы и отправлять их на DNS-сервер Tor:


Код:
sudo nano /etc/iptables-tor.sh
Вставляем следующий текст:


Код:
#!/bin/sh

_trans_port=9040
_int_if=wlan0
_non_tor="127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16"
_ext_if=eth0

for _lan in $_non_tor; do
        iptables -t nat -A PREROUTING -i $_int_if -d $_lan -j RETURN
done

iptables -t nat -A PREROUTING -i $_int_if -p udp --dport 53 -j REDIRECT --to-ports 5353
iptables -t nat -A PREROUTING -i $_int_if -p tcp --syn -j REDIRECT --to-ports $_trans_port
iptables -I FORWARD -i $_int_if -p udp -o $_ext_if -j DROP
Даём скрипту права на выполнение и запускаем его:


Код:
sudo chmod 755 /etc/iptables-tor.sh
sudo /etc/iptables-tor.sh
Проверка

Подключаемся к созданной точке доступа Wi-Fi. Открываем браузер и заходим на сайт проверки IP. Если всё настроено правильно, вы увидите IP-адрес, принадлежащий сети Tor. Дополнительно можно проверить утечки DNS и WebRTC.

В качестве исходящего интерфейса можно использовать USB-модем. Сетевую карту ноутбука можно объединить с Wi-Fi адаптером в мост, а к сетевой карте подключить коммутатор для расширения количества проводных устройств. Такой роутер уступает обычному только в энергопотреблении. Зато он даёт полный контроль над трафиком и позволяет использовать Tor для всей домашней сети без настройки каждого устройства.
 
Верх