TOR-proxy для локальной сети. Настройка защищённого выхода в Интернет для локалки

Сегодня рассмотрим простое решение, как организовать секьюрный выход в интернет из локальной сети. При такой организации сети вся работа с интернетом будет проходить только через TOR.

Нам потребуется:
1. Компьютер с двумя сетевыми интерфейсами, который мы настроим как прокси-сервер.
2. Любой простейший роутер.

http://sd.uploads.ru/zvTMj.png

Настройка прокси-сервера

Устанавливаем на серверный комп операционную систему Linux. Я в своих экспериментах использовал Debian 7. В принципе можно использовать и другие линуксы.

Далее проводим настройку сервера с правами root.

Открываем файл /etc/apt/sources.list например так:

nano /etc/apt/sources.list

и добавляем строку:

Код:
deb http://deb.torproject.org/torproject.org wheezy main

Получаем ключи, обновляем список ПО, установливаем Tor, Vidalia, Privoxy, для чего в терминале выполняем последовательно:

Код:
gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
apt-get update
apt-get install privoxy vidalia deb.torproject.org-keyring

При установке пакета Vidalia будет задан вопрос какого пользователя добавить в группу debian-tor. Я обычно никого не добавляю.

Удаляем текущий конфиг Privoxy:

rm /etc/privoxy/config

Создаем необходимый для работы с tor конфиг privoxy:

nano /etc/privoxy/config

вставляем:

Код:
forward-socks4a / 127.0.0.1:9050 .
confdir /etc/privoxy
logdir /var/log/privoxy
actionsfile default.action
actionsfile user.action
filterfile default.filter
logfile logfile
debug 4096
debug 8192
user-manual /usr/share/doc/privoxy/user-manual
listen-address 192.168.6.1:3128
toggle 1
enable-remote-toggle 0
enable-edit-actions 0
enable-remote-http-toggle 0
buffer-limit 4096

Настраиваем систему для работы с TOR-прокси

nano /etc/apt/apt.conf

добавляем:

Код:
Acquire::http::proxy "http://192.168.6.1:3128/";
Acquire::https::proxy "https://192.168.6.1:3128/";
Acquire::ftp::proxy "ftp://192.168.6.1:3128/";

nano /etc/environment

добавляем:

Код:
http_proxy="http://192.168.6.1:3128/"
https_proxy="https://192.168.6.1:3128/"
ftp_proxy="ftp://192.168.6.1:3128/"

Рубим всё, что не TOR.

nano /etc/iptables.up.rules

Содержимое:

Код:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT DROP [0:0]
-A OUTPUT -d 127.0.0.1/32 -j ACCEPT
-A OUTPUT -d 192.168.6.1/24 -j ACCEPT
-A OUTPUT -m owner --uid-owner debian-tor -j ACCEPT
COMMIT

Откроем файл настройки сети:
nano /etc/network/interfaces

Допишем команду загрузки правил:
pre-up iptables-restore < /etc/iptables.up.rules

У меня выглядит так:

Код:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
#hwaddress ether 77:88:99:aa:bb:cc

auto eth1
iface eth1 inet static
address 192.168.6.1
netmask 255.255.255.0
pre-up iptables-restore < /etc/iptables.up.rules

Можно перезагрузить сервер

reboot

Настройка роутера

В настройках роутера указываем внешний IP 192.168.6.2

Настройка компьютеров локальной сети

Выход в интернет компьютеры локальной сети имеют через прокси 192.168.6.1:3128. Именно такие адрес 192.168.6.1 и порт 3128 нужно указать в настройках прокси.

Отредактировано counter (2014-08-28 08:10:54)