
Originally Posted by
Azur4
Оно вроде как для прозрачности... должно быть, только там ошибка есть (топикстартер поиздеваться решил)
....
Если нужен прозрачный (типа что бы не писать проксик в браузере) то пиши я переделаю правило.
Ок, Я напишу...Прошу помощи в настройке...имею: ASUS RT-N16 с прошивкой от энтузиастов, а нём установлен скрипт для чайников,transmission,twonky,nshaper, palantir, MPD(радио) есть также privoxy & polipo, НО настроить их для прозрачного проксирования не смог...Установил Squid, но при запуске ругается:
Code:
]$ squid
2012/05/18 10:10:16| WARNING cache_mem is larger than total disk cache space!
squid.conf :
Code:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 192.168.1.0/27 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 # 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 allow localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
# And finally deny all other access to this proxy
http_access deny all
http_port 192.168.1.1:3128 transparent
icon_directory /opt/share/squid/icons
error_directory /opt/share/squid/errors/ru-ru/
# We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?
# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /opt/var/squid/cache 5 16 256
cache_swap_low 95 # Заканчивает очистку лога
cache_swap_high 100 # Начинает очистку лога
#access_log /opt/var/squid/logs/access.log squid #место, куда пишется лог-файл доступа к ресурсам. Собственно его можно анализировать
pid_filename /opt/var/squid/logs/squid.pid
coredump_dir /opt/var/squid/cache
# Add any of your own refresh_pattern entries above these.
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
url_rewrite_program /opt/bannerfilter/redirector.sh #направляем на редиректор
url_rewrite_children 30 #количество процессов
iptables >
Code:
# Generated by iptables-save v1.4.3.2 on Fri May 18 10:28:36 2012
*nat
:PREROUTING ACCEPT [2850492:171563247]
:POSTROUTING ACCEPT [488984:36233969]
:OUTPUT ACCEPT [492880:37581291]
:UPNP - [0:0]
:VSERVER - [0:0]
-A PREROUTING -d 77.66.146.194/32 -j VSERVER
-A PREROUTING -d 192.168.0.2/32 -j VSERVER
-A POSTROUTING ! -s 77.66.146.194/32 -o ppp0 -j MASQUERADE
-A POSTROUTING ! -s 192.168.0.2/32 -o vlan2 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -o br0 -j MASQUERADE
-A VSERVER -j UPNP
COMMIT
# Completed on Fri May 18 10:28:37 2012
# Generated by iptables-save v1.4.3.2 on Fri May 18 10:28:37 2012
*mangle
:PREROUTING ACCEPT [10135784:2379822366]
:INPUT ACCEPT [10085380:2374753886]
:FORWARD ACCEPT [31085:2729418]
:OUTPUT ACCEPT [9559546:7448937593]
:POSTROUTING ACCEPT [9659366:7478586753]
-A PREROUTING -i ppp0 -j IMQ --todev 0
-A POSTROUTING -o ppp0 -j IMQ --todev 1
COMMIT
# Completed on Fri May 18 10:28:37 2012
# Generated by iptables-save v1.4.3.2 on Fri May 18 10:28:37 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [16851:1543868]
:OUTPUT ACCEPT [9559424:7448925849]
:BRUTE - [0:0]
:MACS - [0:0]
:SECURITY - [0:0]
:UPNP - [0:0]
:logaccept - [0:0]
:logdrop - [0:0]
-A INPUT -p udp -m udp --dport 123 -j ACCEPT
-A INPUT -i tun0 -p tcp -m tcp --dport 901 -j ACCEPT
-A INPUT -i tun0 -p udp -m udp --dport 138 -j ACCEPT
-A INPUT -i tun0 -p udp -m udp --dport 137 -j ACCEPT
-A INPUT -i tun0 -p tcp -m tcp --dport 445 -j ACCEPT
-A INPUT -i tun0 -p tcp -m tcp --dport 139 -j ACCEPT
-A INPUT -i tun0 -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -i tun0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 411 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9000 -j ACCEPT
-A INPUT -s 63.241.31.144/32 -d 77.66.146.194/32 -j DROP
-A INPUT -p tcp -m tcp --dport 9091 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 51413 -j ACCEPT
-A INPUT -p udp -m udp --dport 65534 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 65534 -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -i br0 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -i ppp0 -m conntrack --ctstate NEW -j SECURITY
-A INPUT -i vlan2 -m conntrack --ctstate NEW -j SECURITY
-A INPUT -p tcp -m tcp --dport 20022 --tcp-flags FIN,SYN,RST,ACK SYN -j BRUTE
-A INPUT -d 192.168.1.1/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -j DROP
-A FORWARD -i tun0 -o br0 -j ACCEPT
-A FORWARD -i br0 -o tun0 -j ACCEPT
-A FORWARD -i br0 -o br0 -j ACCEPT
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD ! -i br0 -o ppp0 -j DROP
-A FORWARD ! -i br0 -o vlan2 -j DROP
-A FORWARD ! -i br0 -m conntrack --ctstate NEW -j SECURITY
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
-A FORWARD -o br0 -j DROP
-A OUTPUT -s 77.66.146.194/32 -d 63.241.31.144/32 -j DROP
-A BRUTE -m recent --update --seconds 600 --hitcount 3 --name BRUTE --rsource -j DROP
-A BRUTE -m recent --set --name BRUTE --rsource -j ACCEPT
-A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j RETURN
-A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j RETURN
-A SECURITY -p udp -m limit --limit 5/sec -j RETURN
-A SECURITY -p icmp -m limit --limit 5/sec -j RETURN
-A SECURITY -j DROP
-A logaccept -m conntrack --ctstate NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequence --log-tcp-options --log-ip-options --log-macdecode
-A logaccept -j ACCEPT
-A logdrop -m conntrack --ctstate NEW -j LOG --log-prefix "DROP " --log-tcp-sequence --log-tcp-options --log-ip-options --log-macdecode
-A logdrop -j DROP
COMMIT
интерфейсы:
Code:
$ ifconfig
br0 Link encap:Ethernet HWaddr EE:CC:44:BB:FF:DD
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
RX bytes:43909685 (41.8 Mb) TX bytes:1761332162 (1679.7 Mb)
eth0 Link encap:Ethernet HWaddr EE:CC:44:BB:FF:DD
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX bytes:2840515699 (2708.9 Mb) TX bytes:2099796255 (2002.5 Mb)
Interrupt:4 Base address:0x2000
eth1 Link encap:Ethernet HWaddr EE:CC:44:BB:FF:DD
RX bytes:45886385 (43.7 Mb) TX bytes:1250426245 (1192.4 Mb)
Interrupt:3 Base address:0x1000
imq0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:1492 Metric:1
RX bytes:2168992522 (2068.5 Mb) TX bytes:2168448539 (2067.9 Mb)
imq1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:1492 Metric:1
RX bytes:1610030837 (1535.4 Mb) TX bytes:1321123528 (1259.9 Mb)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MULTICAST MTU:16436 Metric:1
RX bytes:165495015 (157.8 Mb) TX bytes:165495015 (157.8 Mb)
ppp0 Link encap:Point-to-Point Protocol
inet addr:78.86.164.149 P-t-P:80.80.111.97 Mask:255.255.255.255
UP POINTOPOINT RUNNING MULTICAST MTU:1492 Metric:1
RX bytes:2524736527 (2407.7 Mb) TX bytes:1324546002 (1263.1 Mb)
vlan1 Link encap:Ethernet HWaddr EE:CC:44:BB:FF:DD
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX bytes:6184588 (5.8 Mb) TX bytes:550656831 (525.1 Mb)
vlan2 Link encap:Ethernet HWaddr EE:CC:44:BB:FF:DD
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX bytes:2653949439 (2531.0 Mb) TX bytes:1549139424 (1477.3 Mb)
Собственно, мне Squid нужен лишь для того, чтоб фильтровать порнуху и банеры из домашней сети, и чтоб домашние об этом не подозревали...моя сеть 192.168.1.0/27 (т.е только 16 аппаратов м.б. в сети - DHCP)
Помогите разобраться КАК НАПИСАТЬ ПРАВИЛО IPTABLES ДЛЯ ПРОЗРАЧНОГО ПРОКСИРОВАНИЯ, не затронув при этом других правил? Спасибо!