2 заметки с тегом

AP WIFI

Прозрачный squid в одной упряжке с tor, privoxy.

Как это работает:
Основным прокси сервером явлется squid.

Устанавливаем tor, для доступа к доменам .onion и другим сайтам. Так же необходимо установить и настроить privoxy, так как tor не сможет работать напрямую со squid.

Через cache_peer (вышестоящий прокси) squid подключается к  tor.
tor является Socks прокси, а squid — http прокси, поэтому между squid и tor встраивается прослойка privoxy.

Если запрашивается запрещенный URL, то запрос передается по цепочке в tor.
Все остальные запросы отправляются напрямую самим squid.
Это все работает с  точкой доступа. Установим точку доступа, и продолжим:

apt update && apt upgrade -y
apt-get install tor privoxy squid3 -y

в файле /etc/tor/torrc удаляем знак решётки, октото́рп #RunAsDaemon 1 —> RunAsDaemon 1
tor настроен.

далее заменяем /etc/privoxy/config
на:


forward-socks4   /               127.0.0.1:9050 .
confdir /etc/privoxy
logdir /var/log/privoxy/
logfile privoxy.log
#actionsfile standard
actionsfile default.action
actionsfile user.action
filterfile default.filter
debug   4096
debug   8192
listen-address  192.168.12.1:8118
user-manual /usr/share/doc/privoxy/user-manual
toggle  1
enable-remote-toggle 0
enable-edit-actions 0
enable-remote-http-toggle 0
buffer-limit 4096
accept-intercepted-requests 1

точка в конце первой строки обязательна.


/etc/squid3/squid.conf у меня такой:


http_port 3128
http_port 192.168.12.1:3128 intercept

acl localnet src 127.0.0.0/24 
acl wi-fi src 192.168.12.0/24
acl networks src 192.168.0.0/24
acl banners dstdomain "/etc/squid3/blacklist"

acl SSL_ports port 443 
acl Safe_ports port 80 # http 
acl Safe_ports port 8080 #http 
acl Safe_ports port 21 # ftp 
acl Safe_ports port 443 # https 
acl Safe_ports port 70 # gopher 
acl Safe_ports port 210 # wais 
acl Safe_ports port 1025-65535 # unregistered ports 
acl Safe_ports port 280 # http-mgmt 
acl Safe_ports port 488 # gss-http 
acl Safe_ports port 591 # filemaker 
acl Safe_ports port 777 # multiling http 
acl CONNECT method CONNECT

http_access deny all banners
http_access deny !Safe_ports 
http_access deny CONNECT !SSL_ports

acl tor_url url_regex "/etc/squid3/url.tor"
cache_peer 192.168.12.1 parent 8118 0 no-query default
never_direct allow tor_url
always_direct deny tor_url
always_direct allow all

http_access allow localhost 
http_access allow localnet 
http_access allow wi-fi
http_access allow networks

http_access deny all 
icp_access deny all 
htcp_access deny all

cache deny all

cache_dir ufs /var/spool/squid3 4096 32 256 
coredump_dir /var/spool/squid3

refresh_pattern ^ftp: 1440 20% 10080 
refresh_pattern ^gopher: 1440 0% 1440 
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 
refresh_pattern . 0 20% 4320

здесь нужны подробности:
для блокировки рекламы, создаем файл blacklist в директории «/etc/squid3/»

nano /etc/squid3/blacklist

вставляем для примера:


.a.gismeteo.ru
.ad.adriver.ru
.ad.rambler.ru
.adbrite.com
.adbureau.net
.ads.rabota.ru
.ads.sixapart.com
.ads.sup.com
.adv.odnoklassniki.ru
.banner.fishki.net
.bannerbank.ru
.banners.rambler.ru
.bin-layer.de
.binimage.de
.counter.aport.ru
.counter.list.ru
.counter.rambler.ru
.doubleclick.net
.google-analytics.com
.googlesyndication.com
.hotlog.ru
.layer-ads.de
.linkexchange.ru
.popunder.ru
.smstraf.ru
.tns-counter.ru
.top.list.ru
.trafficcash.ru
.yadro.ru
.hotcounter.de
.an.yandex.ru
.googlesyn

на зти сайты ходим через tor, создаем файл url.tor в директории «/etc/squid3/»

nano /etc/squid3/url.tor

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


^https?.*facebook.*
^https?.*addthis.*
^https?.*ustream\.tv.*
^https?.*livejournal\.com.*
^https?.*2ip\.ru.*
^http?.*myip\.ru.*
^http?.*rutracker\.org.*

/etc/init.d/tor restart
/etc/init.d/privoxy restart
/etc/init.d/squid3 restart

в настройках вашего роутера поменяйте DNS-адреса на 8.8.8.8 8.8.4.4
для проверки подключаемся к точке доступа, в браузере указываем адрес прокси сервера:192.168.12.1 порт:3128 и пробуем посетить http://rutracker.org
Посетив https://2ip.ru/ увидите Ваш реальный IP, а на http://myip.ru/ IP torа.
Рекламные блоки на этих страницах показываться не должны.

Проверка открытых портов

root@orangepipc:~# netstat -anput | grep LISTEN
tcp        0      0 127.0.0.1:9050          0.0.0.0:*               LISTEN      13035/tor
tcp        0      0 192.168.12.1:5353       0.0.0.0:*               LISTEN      1093/dnsmasq
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      912/dnsmasq
tcp        0      0 192.168.12.1:8118       0.0.0.0:*               LISTEN      13084/privoxy
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      654/sshd
tcp6       0      0 :::53                   :::*                    LISTEN      912/dnsmasq
tcp6       0      0 :::22                   :::*                    LISTEN      654/sshd
tcp6       0      0 :::3128                 :::*                    LISTEN      13507/(squid-1)
root@orangepipc:~#
2016   AP WIFI   armbian   OrangePI PC   privoxy   squid   tor

Поднять точку доступа WIFI на Orange Pi

Тестировал на  ARMBIAN 5.25 stable Debian GNU/Linux 8 (jessie) 3.4.113-sun8i
прямая ссылка на Armbian_5.25_Orangepipc_Debian_jessie_default_3.4.113.img

cat /etc/armbian-release

root@orangepipc:~# cat /etc/armbian-release
# PLEASE DO NOT EDIT THIS FILE
BOARD=orangepipc
BOARD_NAME="Orange Pi PC"
VERSION=5.25
LINUXFAMILY=sun8i
BRANCH=default
ARCH=arm
IMAGE_TYPE=stable

uname -a

Linux orangepipc 3.4.113-sun8i #28 SMP PREEMPT Thu Feb 2 02:01:28 CET 2017 armv7l GNU/Linux
iw list

если видим Supported interface modes: AP, а заодно и список частот

apt-get install  dnsmasq dkms hostapd -y
nano /etc/network/interfaces

заменяем на:


auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.4
netmask 255.255.255.0
gateway 192.168.0.1

auto wlan0
iface wlan0 inet static
address 192.168.12.1
netmask 255.255.255.0
network 192.168.12.0


Сохраняем внесенные изменения (ctrl + o) и закрываем файл (ctrl + x).

git clone https://github.com/oblique/create_ap
cd create_ap
make install
nano /etc/create_ap.conf

заменяем на:


CHANNEL=4
GATEWAY=192.168.12.1
WPA_VERSION=1+2
ETC_HOSTS=0
DHCP_DNS=gateway
NO_DNS=0
HIDDEN=0
MAC_FILTER=0
MAC_FILTER_ACCEPT=/etc/hostapd/hostapd.accept
ISOLATE_CLIENTS=0
SHARE_METHOD=nat
IEEE80211N=0
IEEE80211AC=0
HT_CAPAB=’[HT40+]’
VHT_CAPAB=
DRIVER=nl80211
NO_VIRT=0
COUNTRY=
FREQ_BAND=2.4
NEW_MACADDR=
DAEMONIZE=0
NO_HAVEGED=0
WIFI_IFACE=wlan0
INTERNET_IFACE=eth0
SSID=home
PASSPHRASE=orangepi
USE_PSK=0


Сохраняем внесенные изменения (ctrl + o) и закрываем файл (ctrl + x).

systemctl daemon-reload
systemctl start create_ap.service
systemctl status create_ap.service
systemctl enable create_ap.service
reboot
systemctl status create_ap.service
Подключаемся к точке доступа, например с мобильного телефона:
SSID=home
PASSPHRASE=orangepi
2016   AP WIFI   armbian   OrangePI PC