Назад | Перейти на главную страницу

прозрачный прокси с squid3 dansguardian iptables и одним nic

Я пытаюсь отфильтровать домашнее интернет-соединение через прозрачный прокси (squid3) и dansguardian. У меня следующая установка: http://i.stack.imgur.com/5Z3DP.png

Мой сервер Ubuntu напрямую подключен к VDSL, как и любой другой компьютер в сети.

Мой VDSL потребительского уровня (192.168.2.1) - это универсальное устройство ZTE (DHCP-сервер, маршрутизатор, точка беспроводного доступа, коммутатор и т. Д.), Работающее под управлением Linux BusyBox v1.01 и iptables v1.4.0. У меня есть к нему доступ cli. Я не хочу помещать сервер (Ubuntu 14.04 / 192.168.2.2) между VDSL и домашней сетью, потому что хочу избежать установки второго nic на сервере и отдельной точки беспроводного доступа.

Поэтому я хочу маршрутизировать весь трафик порта 80, поступающий на VDSL, через сервер. Я установил на сервере прокси-сервер squid3 + фильтр dansguardian.

Я добавил / изменил следующее в файл /etc/squid3/squid.conf:

acl localhost src 127.0.0.1/32
http_access allow localhost
http_access deny all
http_port 3129
http_port 3128 intercept
dns_nameservers 208.67.222.123, 208.67.220.123

Я добавил / изменил следующее в файл /etc/dansguardian/dansguardian.conf:

"UNCONFIGURED - Please remove this line after configuration" **removed**
filterport = 8888
proxyport = 3128

На VDSL я выполнил команду iptables (br0 - это интерфейс моста на модеме / шлюзе 192.168.2.1, 192.168.2.2 - это сервер):

iptables -t nat -A PREROUTING -i br0 -s ! 192.168.2.2 -d ! 192.168.2.2 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.2:3128

(также пробовал порт 8888 на случай, если я неправильно понял синтаксис)

Мой файл журнала squid выглядит нормально:

2014/09/29 23:42:13| Starting Squid Cache version 3.3.8 for x86_64-pc-linux-gnu...
2014/09/29 23:42:13| Process ID 3648
2014/09/29 23:42:13| Process Roles: master worker
2014/09/29 23:42:13| With 65536 file descriptors available
2014/09/29 23:42:13| Initializing IP Cache...
2014/09/29 23:42:13| DNS Socket created at [::], FD 5
2014/09/29 23:42:13| DNS Socket created at 0.0.0.0, FD 6
2014/09/29 23:42:13| Adding nameserver 208.67.222.123 from squid.conf
2014/09/29 23:42:13| Adding nameserver 208.67.220.123 from squid.conf
2014/09/29 23:42:13| Logfile: opening log daemon:/var/log/squid3/access.log
2014/09/29 23:42:13| Logfile Daemon: opening log /var/log/squid3/access.log
2014/09/29 23:42:13| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2014/09/29 23:42:13| Store logging disabled
2014/09/29 23:42:13| Swap maxSize 0 + 262144 KB, estimated 20164 objects
2014/09/29 23:42:13| Target number of buckets: 1008
2014/09/29 23:42:13| Using 8192 Store buckets
2014/09/29 23:42:13| Max Mem  size: 262144 KB
2014/09/29 23:42:13| Max Swap size: 0 KB
2014/09/29 23:42:13| Using Least Load store dir selection
2014/09/29 23:42:13| Set Current Directory to /var/spool/squid3
2014/09/29 23:42:13| Loaded Icons.
2014/09/29 23:42:13| HTCP Disabled.
2014/09/29 23:42:13| Pinger socket opened on FD 12
2014/09/29 23:42:13| Squid plugin modules loaded: 0
2014/09/29 23:42:13| Adaptation support is off.
2014/09/29 23:42:13| Accepting HTTP Socket connections at local=[::]:3129 remote=[::] FD 9 flags=9
2014/09/29 23:42:13| Accepting NAT intercepted HTTP Socket connections at local=0.0.0.0:3128 remote=[::] FD 10 flags=41
2014/09/29 23:42:13| pinger: Initialising ICMP pinger ...
2014/09/29 23:42:13| pinger: ICMP socket opened.
2014/09/29 23:42:13| pinger: ICMPv6 socket opened
2014/09/29 23:42:13| Pinger exiting.
2014/09/29 23:42:14| storeLateRelease: released 0 objects
2014/09/29 23:44:13| Preparing for shutdown after 0 requests
2014/09/29 23:44:13| Waiting 30 seconds for active connections to finish
2014/09/29 23:44:13| Closing HTTP port [::]:3129
2014/09/29 23:44:13| Closing HTTP port 0.0.0.0:3128
2014/09/29 23:44:13| Closing Pinger socket on FD 12
2014/09/29 23:44:13| Shutdown: NTLM authentication.
2014/09/29 23:44:13| Shutdown: Negotiate authentication.
2014/09/29 23:44:13| Shutdown: Digest authentication.
2014/09/29 23:44:13| Shutdown: Basic authentication.
2014/09/29 23:44:18| Starting Squid Cache version 3.3.8 for x86_64-pc-linux-gnu...
2014/09/29 23:44:18| Process ID 3940
2014/09/29 23:44:18| Process Roles: master worker
2014/09/29 23:44:18| With 65536 file descriptors available
2014/09/29 23:44:18| Initializing IP Cache...
2014/09/29 23:44:18| DNS Socket created at [::], FD 5
2014/09/29 23:44:18| DNS Socket created at 0.0.0.0, FD 6
2014/09/29 23:44:18| Adding nameserver 208.67.222.123 from squid.conf
2014/09/29 23:44:18| Adding nameserver 208.67.220.123 from squid.conf
2014/09/29 23:44:18| Logfile: opening log daemon:/var/log/squid3/access.log
2014/09/29 23:44:18| Logfile Daemon: opening log /var/log/squid3/access.log
2014/09/29 23:44:18| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2014/09/29 23:44:18| Store logging disabled
2014/09/29 23:44:18| Swap maxSize 0 + 262144 KB, estimated 20164 objects
2014/09/29 23:44:18| Target number of buckets: 1008
2014/09/29 23:44:18| Using 8192 Store buckets
2014/09/29 23:44:18| Max Mem  size: 262144 KB
2014/09/29 23:44:18| Max Swap size: 0 KB
2014/09/29 23:44:18| Using Least Load store dir selection
2014/09/29 23:44:18| Set Current Directory to /var/spool/squid3
2014/09/29 23:44:18| Loaded Icons.
2014/09/29 23:44:18| HTCP Disabled.
2014/09/29 23:44:18| Pinger socket opened on FD 12
2014/09/29 23:44:18| Squid plugin modules loaded: 0
2014/09/29 23:44:18| Adaptation support is off.
2014/09/29 23:44:18| Accepting HTTP Socket connections at local=[::]:3129 remote=[::] FD 9 flags=9
2014/09/29 23:44:18| Accepting NAT intercepted HTTP Socket connections at local=0.0.0.0:3128 remote=[::] FD 10 flags=41
2014/09/29 23:44:18| pinger: Initialising ICMP pinger ...
2014/09/29 23:44:18| pinger: ICMP socket opened.
2014/09/29 23:44:18| pinger: ICMPv6 socket opened
2014/09/29 23:44:18| Pinger exiting.
2014/09/29 23:44:19| storeLateRelease: released 0 objects

Однако файл журнала dansguardian пуст.

Когда я проверяю iptables модема с помощью: iptables -t nat --line-numbers -L он возвращает следующее:

It Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination
1    DNAT       tcp  --  anywhere             200.200.200.200     tcp dpt:www to:192.168.2.1:8000
2    srvcntrl   all  --  anywhere             anywhere
3    fwports    all  --  anywhere             anywhere
4    portmapp   all  --  anywhere             anywhere
5    upnp       all  --  anywhere             anywhere
6    dmzmapp    all  --  anywhere             anywhere
7    DNAT       tcp  -- !192.168.2.2         !192.168.2.2         tcp dpt:www to:192.168.2.2:3128

Мне чего-то не хватает, потому что это не работает. Хотя я использую компьютеры с середины 80-х и привык пользоваться cli; топология сети мне пока чужда. Любая помощь приветствуется.