The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Прозрачный Squid и маршрутизация"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Настройка Squid и других прокси серверов (Прозрачный proxy)
Изначальное сообщение [ Отслеживать ]

"Прозрачный Squid и маршрутизация"  +/
Сообщение от onyx email(ok) on 09-Май-10, 15:55 
Имеется:
1. Есть Squid 3 на Ubuntu 10.4 lts server x64
2. Сетка eth0 (локальная 192.168.10.*) и eth1 (инет 10.2.4.*)
3. iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
заворачиваем все tcp 80 порт на Squid
4. iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.2.4.2
маршрутизая

Итог:
route
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.2.4.0        *               255.255.255.0   U     0      0        0 eth1
192.168.10.0    *               255.255.255.0   U     0      0        0 eth0
default         10.2.4.1        0.0.0.0         UG    100    0        0 eth1

netstat -apn | grep squid
tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN

Проблема:
моя машина
        IP-адрес  . . . . . . . . . . . . : 192.168.10.62
        Маска подсети . . . . . . . . . . : 255.255.255.0
        Основной шлюз . . . . . . . . . . : 192.168.10.7
        DNS-серверы . . . . . . . . . . . : 192.168.10.7

Если указывать в качестве прокси в IE 192.168.10.7:3128 - прокси работает, если убрать то запросы в инет идут минуя прокси напрямую.

Что я сделал не так?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Прозрачный Squid и маршрутизация"  +/
Сообщение от reader (ok) on 10-Май-10, 12:41 
конфиг squid без комментированных строк
вывод iptables-save

у клиента с не прописаным прокси, инет есть или нет?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Прозрачный Squid и маршрутизация"  +/
Сообщение от onyx email(ok) on 11-Май-10, 08:45 
iptables-save
# Generated by iptables-save v1.4.4 on Tue May 11 08:42:16 2010
*mangle
:PREROUTING ACCEPT [1334389:476515717]
:INPUT ACCEPT [439391:195738774]
:FORWARD ACCEPT [751306:249775564]
:OUTPUT ACCEPT [324168:182492011]
:POSTROUTING ACCEPT [1075474:432267575]
COMMIT
# Completed on Tue May 11 08:42:16 2010
# Generated by iptables-save v1.4.4 on Tue May 11 08:42:16 2010
*nat
:PREROUTING ACCEPT [52668:9389494]
:POSTROUTING ACCEPT [20847:2093713]
:OUTPUT ACCEPT [15351:1007701]
-A PREROUTING ! -d 192.168.0.0/24 -i eth0 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.10.7:3128
-A POSTROUTING -o eth1 -j SNAT --to-source 10.2.4.2
COMMIT
# Completed on Tue May 11 08:42:16 2010
# Generated by iptables-save v1.4.4 on Tue May 11 08:42:16 2010
*filter
:INPUT ACCEPT [428101:193765671]
:FORWARD ACCEPT [672620:192515493]
:OUTPUT ACCEPT [316382:180048666]
-A INPUT -p tcp -m tcp ! --dport 22 -j LOG
COMMIT
# Completed on Tue May 11 08:42:16 2010

у клиентов инет есть, проблема в том что запросы на 80 порт squid не перенаправляются, т.е. я если принудительно поставлю в настройках IE прокси 192.168.10.7:3128 squid работает, если убираю по логике iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 должно перехватить пакет и отправить его squid, но этого не происходит.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Прозрачный Squid и маршрутизация"  +/
Сообщение от onyx email(ok) on 11-Май-10, 09:58 
## Network
http_port 3128 transparent

# Paths
access_log /var/log/squid3/access.log squid
error_directory /etc/squid3/messages

# Задаем 1 Гб кэша, 16 каталогов первого уровня и 256 - второго
cache_dir ufs /var/spool/squid 1024 16 256

## Networks
acl     localhost       src             127.0.0.1/32
acl     internal                src             192.168.10.0/255.255.255.0

# Havp
cache_peer 127.0.0.1 parent 3129 0 no-query no-digest
never_direct allow all

# Hosts
acl m-2-3 arp 00:1A:4D:55:8F:80

## Messages
deny_info space.message advertising
deny_info space.message spy

## Destanations
acl     advertising             url_regex       "/etc/squid3/acl/advertising.acl"
acl     advauto                 url_regex       "/etc/squid3/acl/advauto.acl"
acl     social                  url_regex       "/etc/squid3/acl/social.acl"
acl     proxy                   url_regex       "/etc/squid3/acl/proxy.acl"
acl     news                    url_regex       "/etc/squid3/acl/news.acl"
acl     music                   url_regex       "/etc/squid3/acl/music.acl"
acl     entertainment           url_regex       "/etc/squid3/acl/entertainment.acl"
acl     spy                     url_regex       "/etc/squid3/acl/spy.acl"
acl     soft                    url_regex       "/etc/squid3/acl/soft.acl"
acl     file                    url_regex       "/etc/squid3/acl/file.acl"
acl     whitelist               url_regex       "/etc/squid3/acl/whitelist.acl"
acl     vacancy                 url_regex       "/etc/squid3/acl/vacancy.acl"

## Other
acl blockedext url_regex "/etc/squid3/acl/blockedext.acl"
http_access deny all blockedext

## Media
acl blockedmime rep_mime_type -i "/etc/squid3/acl/blockedmime.acl"
http_access deny all blockedmime

http_access allow localhost

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Прозрачный Squid и маршрутизация"  +/
Сообщение от irbis_triffle (ok) on 12-Май-10, 13:49 
Прошу помощи специалистов!
Ситуация та же что и у топикстартера - если принудительно задавать пользователям прокси (по порту 3128), то всё работает, НО если прокси не указывать явно - сквид ничего не делает.

Конфиг сквида:
---------------------------------------------------------------------
http_port 192.168.201.10:3128 transparent
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 64 MB
maximum_object_size 16384 KB

cache_dir ufs /var/log/squid/cache 5000    16 256
cache_access_log /var/log/squid/access.log
#cache_log /var/log/squid/cache.log
#cache_store_log /var/log/squid/store.log

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
acl all src 192.168.201.0/255.255.255.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Jabber_ports port 5222 5223
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
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


#BLOKIROVKA ODNOKLASNIKO
acl odn url_regex ^http://www.odnoklasniki.ru\.*
acl odn1 url_regex ^http://www.odnoklassniki.ru\.*
acl odn2 url_regex ^http://www.odnoklassniki.ua\.*
acl odn3 url_regex ^http://www.odnoklasniki.ua\.*
acl odn4 url_regex odnoklasniki
acl odn5 url_regex odnoklassniki
acl kont2 url_regex vkontakte
acl kont url_regex ^http://vkontakte.ru\.*
acl xxx1 url_regex porno
acl xxx2 url_regex xvideo
acl youtube url_regex youtube
acl mediaf url_regex -i ftp(\.mpa|\.mp3|\.wma|\.swf|\.m3u|\.avi|\.mpg|\.mpeg|\.wmv|\.wav|\.asf)

http_access allow manager localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports !Jabber_ports
acl our_networks src 192.168.201.0/24

#BLOKIROVKA
http_access deny mediaf
http_access deny odn
http_access deny odn1
http_access deny odn2
http_access deny odn3
http_access deny odn4
http_access deny odn5
http_access deny kont2
http_access deny kont
http_access deny odn1
http_access deny youtube

http_access allow our_networks
http_access allow localhost manager
http_access deny all
http_reply_access allow all
visible_hostname **.**.***.**
acl FTP proto FTP
coredump_dir /var/spool/squid

#squidguard
redirect_program /usr/bin/squidGuard
redirect_children 5
redirector_bypass on
---------------------------------------------------------------------

На том же сервере стоит Postfix с веб-интерфейсом, в связи с чем не знаю как правильно задать порты для сквида и апача.

Заранее спасибо!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Прозрачный Squid и маршрутизация"  +/
Сообщение от reader (ok) on 12-Май-10, 16:33 
что у топикстартера непонятно если вывод iptables это с 192.168.10.7, то должно работать, может что-то с модулями , но врятли.

Вам , смотрите что в iptables.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Прозрачный Squid и маршрутизация"  +/
Сообщение от irbis_triffle (ok) on 12-Май-10, 17:44 
>Вам , смотрите что в iptables.

IPtables:
# Generated by iptables-save v1.3.8 on Wed May 12 16:42:20 2010
*raw
:PREROUTING ACCEPT [121822690:76232346187]
:OUTPUT ACCEPT [12359244:8144377425]
COMMIT
# Completed on Wed May 12 16:42:20 2010
# Generated by iptables-save v1.3.8 on Wed May 12 16:42:20 2010
*nat
:PREROUTING ACCEPT [1723575:115308130]
:POSTROUTING ACCEPT [366762:21646585]
:OUTPUT ACCEPT [259722:17363597]
-A PREROUTING -d ***.***.***.*** -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --to-d                                                                                                  estination 192.168.201.100:3389
-A POSTROUTING -s 192.168.201.0/255.255.255.0 -o eth1 -j MASQUERADE
COMMIT
# Completed on Wed May 12 16:42:20 2010
# Generated by iptables-save v1.3.8 on Wed May 12 16:42:20 2010
*mangle
:PREROUTING ACCEPT [121822690:76232346187]
:INPUT ACCEPT [11935089:6042371108]
:FORWARD ACCEPT [109883113:70189601599]
:OUTPUT ACCEPT [12359246:8144377753]
:POSTROUTING ACCEPT [122239051:78333769825]
COMMIT
# Completed on Wed May 12 16:42:20 2010
# Generated by iptables-save v1.3.8 on Wed May 12 16:42:20 2010
*filter
:INPUT DROP [587:198852]
:FORWARD DROP [3308:213959]
:OUTPUT ACCEPT [6204081:5950252458]
:DMZIN - [0:0]
:DMZOUT - [0:0]
:INETIN - [0:0]
:INETOUT - [0:0]
:LDROP - [0:0]
:LREJECTLTREJECT - [0:0]
:TCPACCEPT - [0:0]
:TREJECT - [0:0]
:UDPACCEPT - [0:0]
:ULDROP - [0:0]
:ULREJECT - [0:0]
:ULTREJECT - [0:0]
-A INPUT -i eth1 -j INETIN
-A INPUT -s 192.168.201.0/255.255.255.0 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -s 192.168.201.10 -o eth1 -p tcp -m tcp --sport 3389 -j ACCEPT
-A FORWARD -d 192.168.201.10 -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i eth1 -o eth0 -j INETIN
-A FORWARD -i eth0 -o eth1 -j INETOUT
-A FORWARD -s 192.168.201.0/255.255.255.0 -i ! eth1 -o ! eth1 -j ACCEPT
-A OUTPUT -o eth1 -j INETOUT
-A INETIN -m state --state INVALID -j TREJECT
-A INETIN -p icmp -m icmp --icmp-type 5 -j TREJECT
-A INETIN -p icmp -m icmp --icmp-type 9 -j TREJECT
-A INETIN -p icmp -m icmp --icmp-type 10 -j TREJECT
-A INETIN -p icmp -m icmp --icmp-type 15 -j TREJECT
-A INETIN -p icmp -m icmp --icmp-type 16 -j TREJECT
-A INETIN -p icmp -m icmp --icmp-type 17 -j TREJECT
-A INETIN -p icmp -m icmp --icmp-type 18 -j TREJECT
-A INETIN -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
-A INETIN -p icmp -m icmp --icmp-type 8 -j TREJECT
-A INETIN -p icmp -m icmp ! --icmp-type 8 -j ACCEPT
-A INETIN -p tcp -m tcp --dport 25 -j TCPACCEPT
-A INETIN -p tcp -m tcp --dport 47 -j TCPACCEPT
-A INETIN -p tcp -m tcp --dport 80 -j TCPACCEPT
-A INETIN -p tcp -m tcp --dport 21 -j TCPACCEPT
-A INETIN -p tcp -m tcp --dport 22 -j TCPACCEPT
-A INETIN -p tcp -m tcp --dport 110 -j TCPACCEPT
-A INETIN -p tcp -m tcp --dport 1723 -j TCPACCEPT
-A INETIN -p tcp -m tcp --dport 143 -j TCPACCEPT
-A INETIN -p tcp -m tcp --dport 3389 -j TCPACCEPT
-A INETIN -p tcp -m tcp --dport 1490 -j TCPACCEPT
-A INETIN -p udp -m udp --dport 47 -j UDPACCEPT
-A INETIN -p udp -m udp --dport 68 -j UDPACCEPT
-A INETIN -p udp -m udp --dport 6112 -j UDPACCEPT
-A INETIN -p udp -m udp --dport 6119 -j UDPACCEPT
-A INETIN -p udp -m udp --dport 4000 -j UDPACCEPT
-A INETIN -p udp -m udp --dport 1490 -j UDPACCEPT
-A INETIN -p udp -m udp --dport 1723 -j UDPACCEPT
-A INETIN -p udp -m udp --dport 500 -j UDPACCEPT
-A INETIN -p udp -m udp --dport 143 -j UDPACCEPT
-A INETIN -m state --state ESTABLISHED -j ACCEPT
-A INETIN -p tcp -m tcp --dport 1024:65535 -m state --state RELATED -j TCPACCEPT                                                                                                  
-A INETIN -p udp -m udp --dport 1024:65535 -m state --state RELATED -j UDPACCEPT                                                                                                  
-A INETIN -j TREJECT
-A INETOUT -j ACCEPT
-A LDROP -p tcp -m limit --limit 2/sec -j LOG --log-prefix "TCP Dropped " --log-                                                                                                  level 6
-A LDROP -p udp -m limit --limit 2/sec -j LOG --log-prefix "UDP Dropped " --log-                                                                                                  level 6
-A LDROP -p icmp -m limit --limit 2/sec -j LOG --log-prefix "ICMP Dropped " --lo                                                                                                  g-level 6
-A LDROP -f -m limit --limit 2/sec -j LOG --log-prefix "FRAGMENT Dropped "
-A LDROP -j DROP
-A TCPACCEPT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 20/s                                                                                                  ec -j ACCEPT
-A TCPACCEPT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 2/se                                                                                                  c -j LOG --log-prefix "Possible SynFlood "
-A TCPACCEPT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TREJECT
-A TCPACCEPT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A TCPACCEPT -m limit --limit 2/sec -j LOG --log-prefix "Mismatch in TCPACCEPT "                                                                                                  
-A TCPACCEPT -j TREJECT
-A TREJECT -p tcp -j REJECT --reject-with tcp-reset
-A TREJECT -p udp -j REJECT --reject-with icmp-port-unreachable
-A TREJECT -p icmp -j DROP
-A TREJECT -j REJECT --reject-with icmp-port-unreachable
-A UDPACCEPT -p udp -j ACCEPT
-A UDPACCEPT -m limit --limit 2/sec -j LOG --log-prefix "Mismatch on UDPACCEPT "                                                                                                  
-A UDPACCEPT -j TREJECT
-A ULDROP -p tcp -m limit --limit 2/sec -j ULOG --ulog-prefix "LDROP_TCP"
-A ULDROP -p udp -m limit --limit 2/sec -j ULOG --ulog-prefix "LDROP_UDP"
-A ULDROP -p icmp -m limit --limit 2/sec -j ULOG --ulog-prefix "LDROP_ICMP"
-A ULDROP -f -m limit --limit 2/sec -j ULOG --ulog-prefix "LDROP_FRAG"
-A ULDROP -j DROP
-A ULREJECT -p tcp -m limit --limit 2/sec -j ULOG --ulog-prefix "LREJECT_TCP"
-A ULREJECT -p udp -m limit --limit 2/sec -j ULOG --ulog-prefix "LREJECT_UDP"
-A ULREJECT -p icmp -m limit --limit 2/sec -j ULOG --ulog-prefix "LREJECT_UDP"
-A ULREJECT -f -m limit --limit 2/sec -j ULOG --ulog-prefix "LREJECT_FRAG"
-A ULREJECT -j REJECT --reject-with icmp-port-unreachable
-A ULTREJECT -p tcp -m limit --limit 2/sec -j ULOG --ulog-prefix "LTREJECT_TCP"
-A ULTREJECT -p udp -m limit --limit 2/sec -j ULOG --ulog-prefix "LTREJECT_UDP"
-A ULTREJECT -p icmp -m limit --limit 2/sec -j ULOG --ulog-prefix "LTREJECT_ICMP                                                                                                  "
-A ULTREJECT -f -m limit --limit 2/sec -j ULOG --ulog-prefix "LTREJECT_FRAG"
-A ULTREJECT -p tcp -j REJECT --reject-with tcp-reset
-A ULTREJECT -p udp -j REJECT --reject-with icmp-port-unreachable
-A ULTREJECT -p icmp -j DROP
-A ULTREJECT -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Wed May 12 16:42:20 2010


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Прозрачный Squid и маршрутизация"  +/
Сообщение от reader (ok) on 12-Май-10, 18:19 
у вас нет правила для заворачивания на прокси
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Прозрачный Squid и маршрутизация"  +/
Сообщение от irbis_triffle (ok) on 12-Май-10, 18:32 
>у вас нет правила для заворачивания на прокси

Если я правильно понял, то мне надо добавить правило
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
и таким образом запросы всех пользователей из локальной сети на порт 80 попадут на порт 3128 (на сквид). Правильно?
И не помешает ли такая операция апачу (или доступу к нему), т.к. он изначально использует 80 порт??

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Прозрачный Squid и маршрутизация"  +/
Сообщение от reader (ok) on 12-Май-10, 20:11 
>>у вас нет правила для заворачивания на прокси
>
>Если я правильно понял, то мне надо добавить правило
>iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
>REDIRECT --to-port 3128
>и таким образом запросы всех пользователей из локальной сети на порт 80
>попадут на порт 3128 (на сквид). Правильно?
>И не помешает ли такая операция апачу (или доступу к нему), т.к.
>он изначально использует 80 порт??

iptables -t nat -I PREROUTING -i eth0 -p tcp -d ! 192.168.201.10 --dport 80 -j DNAT --to-destination 192.168.201.10:3128

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Прозрачный Squid и маршрутизация"  +/
Сообщение от irbis_triffle (ok) on 13-Май-10, 19:35 
>iptables -t nat -I PREROUTING -i eth0 -p tcp -d ! 192.168.201.10
>--dport 80 -j DNAT --to-destination 192.168.201.10:3128

Большое спасибо!! Всё работает, теперь можно спокойно учить тамчасть :)


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру