Имеется прокси со сквидом 3.1 на CentOS 6.2. После того, как сделал прокси прозрачным, трафик стал ходить мимо сквида, т.е. в access.log нет новых записей. Подскажите, пожалуйста, в чём может быть проблема.
конфиг IPTABLES*filter
:FORWARD ACCEPT [0:0]
:RULE1 - [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -j RULE1
-A RULE1 -i eth1 -j ACCEPT
-A RULE1 -i eth0 -j ACCEPT
-A RULE1 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RULE1 -p tcp -m state -m tcp --dport 3389 --state NEW -j ACCEPT
-A RULE1 -p tcp -m state -m tcp --dport 3391 --state NEW -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state -m tcp --dport 22 --state NEW -j ACCEPT
-A INPUT -p tcp -m state -m tcp --dport 10000 --state NEW -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp -s 192.168.10.0/24 --dport 3128 -j ACCEPT
-A INPUT -j RULE1
-A INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Generated by webmin
*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
#-A PREROUTING -p tcp --dport 3128 -j DROP
COMMIT
# Completed
# Generated by webmin
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth1 -s 192.168.10.0/24 -j SNAT --to INETIP
-A PREROUTING -p tcp -m tcp -d INETIP --dport 3389 -j DNAT --to-destination 192.168.10.1
-A PREROUTING -p tcp -m tcp -d INETIP --dport 3391 -j DNAT --to-destination 192.168.10.4:3389
-A PREROUTING -s 192.168.10.0/24 -p udp --dport 53 -j DNAT --to-destination 8.8.8.8
-A POSTROUTING -j MASQUERADECOMMIT
так заверните пакеты на прокси
> так заверните пакеты на проксиПробовл сделать вот так: -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128
не помогло. Подскажите, где я наосячил
>> так заверните пакеты на прокси
> Пробовл сделать вот так: -A PREROUTING -p tcp --dport 80 -j REDIRECT
> --to-ports 3128
> не помогло. Подскажите, где я наосячилdnat на 192.168.10.2:3128
>>> так заверните пакеты на прокси
>> Пробовл сделать вот так: -A PREROUTING -p tcp --dport 80 -j REDIRECT
>> --to-ports 3128
>> не помогло. Подскажите, где я наосячил
> dnat на 192.168.10.2:3128Делал и так
-A PREROUTING -i eth1 -p tcp -s 192.168.10.0/24 --dport 80 -j DNAT --to-destination 192.168.10.2:3128 - ноль результата
>>>> так заверните пакеты на прокси
>>> Пробовл сделать вот так: -A PREROUTING -p tcp --dport 80 -j REDIRECT
>>> --to-ports 3128
>>> не помогло. Подскажите, где я наосячил
>> dnat на 192.168.10.2:3128
> Делал и так
> -A PREROUTING -i eth1 -p tcp -s 192.168.10.0/24 --dport 80 -j DNAT
> --to-destination 192.168.10.2:3128 - ноль результатаeth1 внутренний интерфейс?
>>>>> так заверните пакеты на прокси
>>>> Пробовл сделать вот так: -A PREROUTING -p tcp --dport 80 -j REDIRECT
>>>> --to-ports 3128
>>>> не помогло. Подскажите, где я наосячил
>>> dnat на 192.168.10.2:3128
>> Делал и так
>> -A PREROUTING -i eth1 -p tcp -s 192.168.10.0/24 --dport 80 -j DNAT
>> --to-destination 192.168.10.2:3128 - ноль результата
> eth1 внутренний интерфейс?Внешний
>>>>>> так заверните пакеты на прокси
>>>>> Пробовл сделать вот так: -A PREROUTING -p tcp --dport 80 -j REDIRECT
>>>>> --to-ports 3128
>>>>> не помогло. Подскажите, где я наосячил
>>>> dnat на 192.168.10.2:3128
>>> Делал и так
>>> -A PREROUTING -i eth1 -p tcp -s 192.168.10.0/24 --dport 80 -j DNAT
>>> --to-destination 192.168.10.2:3128 - ноль результата
>> eth1 внутренний интерфейс?
> Внешнийа там должен быть внутренний
>[оверквотинг удален]
>>>>>> Пробовл сделать вот так: -A PREROUTING -p tcp --dport 80 -j REDIRECT
>>>>>> --to-ports 3128
>>>>>> не помогло. Подскажите, где я наосячил
>>>>> dnat на 192.168.10.2:3128
>>>> Делал и так
>>>> -A PREROUTING -i eth1 -p tcp -s 192.168.10.0/24 --dport 80 -j DNAT
>>>> --to-destination 192.168.10.2:3128 - ноль результата
>>> eth1 внутренний интерфейс?
>> Внешний
> а там должен быть внутреннийПробовал, тогда не работает интернет вообще
>[оверквотинг удален]
>>>>>>> --to-ports 3128
>>>>>>> не помогло. Подскажите, где я наосячил
>>>>>> dnat на 192.168.10.2:3128
>>>>> Делал и так
>>>>> -A PREROUTING -i eth1 -p tcp -s 192.168.10.0/24 --dport 80 -j DNAT
>>>>> --to-destination 192.168.10.2:3128 - ноль результата
>>>> eth1 внутренний интерфейс?
>>> Внешний
>> а там должен быть внутренний
> Пробовал, тогда не работает интернет вообщеа с прописанным в браузере прокси работает?
>[оверквотинг удален]
>>>>>>>> не помогло. Подскажите, где я наосячил
>>>>>>> dnat на 192.168.10.2:3128
>>>>>> Делал и так
>>>>>> -A PREROUTING -i eth1 -p tcp -s 192.168.10.0/24 --dport 80 -j DNAT
>>>>>> --to-destination 192.168.10.2:3128 - ноль результата
>>>>> eth1 внутренний интерфейс?
>>>> Внешний
>>> а там должен быть внутренний
>> Пробовал, тогда не работает интернет вообще
> а с прописанным в браузере прокси работает?нет :( да и какой бы это тогда был прозрачный прокси?
>>> Пробовал, тогда не работает интернет вообще
>> а с прописанным в браузере прокси работает?
> нет :( да и какой бы это тогда был прозрачный прокси?работающий! да, неочевидно...
>>>> Пробовал, тогда не работает интернет вообще
>>> а с прописанным в браузере прокси работает?
>> нет :( да и какой бы это тогда был прозрачный прокси?
> работающий! да, неочевидно...но непрозрачный)) может какое из других правил перехватывает пакеты раньше? хотя я такого не вижу.
>[оверквотинг удален]
>>>>>>>> dnat на 192.168.10.2:3128
>>>>>>> Делал и так
>>>>>>> -A PREROUTING -i eth1 -p tcp -s 192.168.10.0/24 --dport 80 -j DNAT
>>>>>>> --to-destination 192.168.10.2:3128 - ноль результата
>>>>>> eth1 внутренний интерфейс?
>>>>> Внешний
>>>> а там должен быть внутренний
>>> Пробовал, тогда не работает интернет вообще
>> а с прописанным в браузере прокси работает?
> нет :( да и какой бы это тогда был прозрачный прокси?с начало с прописанным запустите, а потом уже в прозрачный режим перейдете
>[оверквотинг удален]
>>>>>>>> Делал и так
>>>>>>>> -A PREROUTING -i eth1 -p tcp -s 192.168.10.0/24 --dport 80 -j DNAT
>>>>>>>> --to-destination 192.168.10.2:3128 - ноль результата
>>>>>>> eth1 внутренний интерфейс?
>>>>>> Внешний
>>>>> а там должен быть внутренний
>>>> Пробовал, тогда не работает интернет вообще
>>> а с прописанным в браузере прокси работает?
>> нет :( да и какой бы это тогда был прозрачный прокси?
> с начало с прописанным запустите, а потом уже в прозрачный режим перейдетеС прописанным работал, когда в сквиде не было написано intercept. Сейчас интернет работает, правда в обход сквида. В IPTABLES после добавления прозрачности я добавил вроде только это:
-A PREROUTING -s 192.168.10.0/24 -p udp --dport 53 -j DNAT --to-destination 8.8.8.8
>[оверквотинг удален]
>>>>>>> Внешний
>>>>>> а там должен быть внутренний
>>>>> Пробовал, тогда не работает интернет вообще
>>>> а с прописанным в браузере прокси работает?
>>> нет :( да и какой бы это тогда был прозрачный прокси?
>> с начало с прописанным запустите, а потом уже в прозрачный режим перейдете
> С прописанным работал, когда в сквиде не было написано intercept. Сейчас интернет
> работает, правда в обход сквида. В IPTABLES после добавления прозрачности я
> добавил вроде только это:
> -A PREROUTING -s 192.168.10.0/24 -p udp --dport 53 -j DNAT --to-destination 8.8.8.8netstat -nplt |grep 3128
>[оверквотинг удален]
>>>>>>> а там должен быть внутренний
>>>>>> Пробовал, тогда не работает интернет вообще
>>>>> а с прописанным в браузере прокси работает?
>>>> нет :( да и какой бы это тогда был прозрачный прокси?
>>> с начало с прописанным запустите, а потом уже в прозрачный режим перейдете
>> С прописанным работал, когда в сквиде не было написано intercept. Сейчас интернет
>> работает, правда в обход сквида. В IPTABLES после добавления прозрачности я
>> добавил вроде только это:
>> -A PREROUTING -s 192.168.10.0/24 -p udp --dport 53 -j DNAT --to-destination 8.8.8.8
> netstat -nplt |grep 3128Прошу прощения, всё из-за моей глупости.
Вместе с одним из изменений файрвола я параллельно немного изменил из конфиг сквида
Файер запустил, а сквид забыл.
Всё работает.
Прошу не пинать ногами сильно, это мой первый опыт общения с *nix, просто начальство поставило задачу в короткие сроки сделать проксю без вложения в ПО. Голова кипит, вот и туплю жёстко. До этого админил лишь win-сервера.
Большое спасибо вам за помощь. Ещё раз простите.
конфиг SQUID#
# Recommended minimum configuration:
#
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# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl speedunlim src 192.168.10.76/32 192.168.10.28/32 192.168.10.245/32 192.168.10.101/32 #unlim/unlim (dir & IT)
acl highway src 192.168.10.201/32 192.168.10.206/32 #512/512kb (hotel reception & clients)
acl speedlimit src 192.168.10.0/24 #unlim/128kb (others)
#acl localnet src fc00::/7 # RFC 4193 local private network range
#acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machinesacl SSL_ports port 443
acl Safe_ports port 8088
acl Safe_ports port 8089
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 webconf1 port 8088
acl webconf2 port 8089
acl CONNECT method CONNECT#
# Recommended minimum Access Permission configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager# Deny requests to certain unsafe ports
http_access deny !Safe_ports# Deny CONNECT to other than secure SSL ports
http_access allow CONNECT webconf1 speedlimit
http_access allow CONNECT webconf2 speedlimit
http_access deny CONNECT !SSL_portsvisible_hostname proxy #proxy name
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
####################EXPLOIT NOTES##############################
#1. razdelit' uzerov na gruppy s ogranicheniem skorostej
#2. zakryt' protokoly: torrent, icq
#3. zakryt' soc. seti
#4. organizovat' probros portov
######################################################################POOLS DEF######
delay_pools 3
delay_class 1 2 # pool 1, class 2
delay_class 2 2 # pool 2, class 2
delay_class 3 2 # pool 3, class 2delay_access 1 allow speedunlim
delay_access 1 deny all
delay_access 2 allow highway
delay_access 2 deny all
delay_access 3 allow speedlimit
delay_access 3 deny all
######################## Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow speedunlim
http_access allow highway
http_access allow speedlimit
http_access allow localhost# And finally deny all other access to this proxy
http_access deny all######POOLS SPEED LIMITS###########
delay_parameters 1 -1/-1 -1/-1 # unlim - total, unlim per user # dir & IT
delay_parameters 2 64000/64000 64000/64000 # 512Kb - total, 512Kb per user # hotel reception & clients
delay_parameters 3 -1/-1 16000/16000 # unlim - total, 128Kb per user # others
#################################### Squid normally listens to port 3128
http_port 192.168.10.2:3128 intercept# 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 /var/spool/squid 2048 16 256
cache_mem 1024 MB# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid# 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
подскажите, как завернуть на сквид хотя бы http