The OpenNET Project / Index page

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

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

"SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 17-Ноя-08, 12:07 
Добрый день,
Есть проблема не могу решить.
Есть сеть с двумя интернет каналами, на каждом стоит фрее 6.3 на каждом есть одна сетевая с внешним IP и внутренним. Роутер 1 (с медленным каналом) имеет внешний XXX.XXX.XXX.XXX а внутренний 192.168.1.2, Роутер 2 (с быстрым каналом) имеет внешний IP YYY.YYY.YYY.YYY и внутренний 192.168.1.1 и выполняет DEFAULT GW для сети но не для Рoутер 1. На Роутер 1 стоит SQUID 2.6.22 с --enable-pf-transparent и PF с правилом
nat on $int_if proto tcp from 192.168.1.200 to 192.168.1.2 port 8080 -> $int_if
pass log all
Роутер 2 работает как роутер в котором есть правило редиректа
rdr pass on $int_if inet proto tcp from 192.168.1.200 to !192.168.1.0/24 port 80 -> 192.168.1.2 port 8080.
Теперь беда в том что, как транспарент ето всё неработает, есле я выставляю на 192.168.1.200 proxy то тогда всё работает ОК

П.С.
squid.conf
    http_port 192.168.1.2:8080 transparent
    icp_port 0
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY
    cache_dir ufs /samba/squid/array 14000 16 256
    cache_access_log /samba/squid/logs/access.log
    cache_log /samba/squid/logs/cache.log
    cache_store_log /samba/squid/logs/store.log
    emulate_httpd_log off
    log_ip_on_direct on
    pid_filename /samba/squid/logs/squid.pid
    ftp_user xxx@gmail.com
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl setka src 192.168.1.0/22
    acl admin src 192.168.1.200/255.255.255.255
    acl SSL_ports port 443 563
    acl CONNECT method CONNECT
    acl black_list url_regex "/usr/local/etc/squid/sex.inc"
    http_access allow manager localhost
    http_access deny manager
    http_access deny !Safe_ports !admin
    http_access deny CONNECT !SSL_ports !admin
    http_access deny black_list !admin
    http_access allow setka
    http_access allow admin
    http_access deny all
    icp_access allow all
    acl snmppublic snmp_community public
    snmp_access allow snmppublic localhost
    snmp_access deny all

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

 Оглавление

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


1. "SQUID transparent + PF"  
Сообщение от reader (ok) on 17-Ноя-08, 16:51 
1
>каждом есть одна сетевая с внешним IP и внутренним. Роутер 1
>(с медленным каналом) имеет внешний XXX.XXX.XXX.XXX а внутренний 192.168.1.2, Роутер 2
>(с быстрым каналом) имеет внешний IP YYY.YYY.YYY.YYY и внутренний 192.168.1.1 и
>выполняет DEFAULT GW для сети но не для Рoутер 1. На
>Роутер 1 стоит SQUID 2.6.22 с --enable-pf-transparent и PF с правилом
>
>nat on $int_if proto tcp from 192.168.1.200 to 192.168.1.2 port 8080 -> $int_if

не понял что это и для чего. помоему оно должно быть на Роутер 2
>pass log all
>Роутер 2 работает как роутер в котором есть правило редиректа
>rdr pass on $int_if inet proto tcp from 192.168.1.200 to !192.168.1.0/24 port 80 -> 192.168.1.2 port 8080.

нужен SNAT на внутреннем интерфейсе, иначе 192.168.1.2 будет отвечать напрямую клиенту или 192.168.1.2 выведите в другую подсеть.

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

2. "SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 17-Ноя-08, 17:34 
Может моглибы подсказатё как SNAT на внутреннем интерфейсе сделать.
Спасибо
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "SQUID transparent + PF"  
Сообщение от reader (ok) on 17-Ноя-08, 17:46 
>Может моглибы подсказатё как SNAT на внутреннем интерфейсе сделать.
>Спасиб

так как вы и писАли
nat on $int_if proto tcp from 192.168.1.200 to 192.168.1.2 port 8080 -> $int_if

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

4. "SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 17-Ноя-08, 17:54 
по поводу редиректа на Роутер 1 он редиректит весь трафик на 8080 порт 192.168.1.2 и он для внутренней сети работает как DEFAULT GW, по этому на нём я и прописал правило для редиректа. Может я собственно не стого и начал?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "SQUID transparent + PF"  
Сообщение от reader (ok) on 17-Ноя-08, 18:18 
>по поводу редиректа на Роутер 1 он редиректит весь трафик на 8080
>порт 192.168.1.2 и он для внутренней сети работает как DEFAULT GW,
>по этому на нём я и прописал правило для редиректа. Может
>я собственно не стого и начал?

DEFAULT GW - Роутер 1 или Роутер 2? из первого поста я понял что Роутер 2. какие правила  для PF сейчас.
я понял что вы хотите так: запрос от 192.168.1.200 идет через 192.168.1.1 (DEFAULT GW), тут перенаправляется на 192.168.1.2 (squid)

на клиенте не забывайте прописать DNS и шлюз

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

6. "SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 18-Ноя-08, 09:08 
Извените сам запутался когда писал первый пост. :)
Роутер 1 DEFAULT GW 192.168.1.1
Роутер 2 squid 192.168.1.2

На Роутер 1 стоит редирект, всего WEB трафика приходющего на него, на Роутер 2 8080 порт
rdr pass on $int_if inet proto tcp from 192.168.1.200 to !192.168.1.0/24 port 80 -> 192.168.1.2 port 8080

Роутер 2 SQUID transparent
nat on $int_if proto tcp from 192.168.1.200 to 192.168.1.2 port 8080 -> $int_if

С TCPDUMP-ом посмотрел как ходят пакеты, так от клиента 192.168.1.200 исходит пакет попадает на Роутер 1 192.168.1.1 тогда он его перекидывает на squid 192.168.1.2 а тот в свою очередь отвечает на прямую клиенту 192.168.1.200, мне кажется что вся беда втом и есть что назад клиенту пакет проходит не через 192.168.1.1 а на прямую.


Спасибо :)

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

7. "SQUID transparent + PF"  
Сообщение от reader (ok) on 18-Ноя-08, 10:27 
>Извените сам запутался когда писал первый пост. :)
>Роутер 1 DEFAULT GW 192.168.1.1
>Роутер 2 squid 192.168.1.2
>
>На Роутер 1 стоит редирект, всего WEB трафика приходющего на него, на
>Роутер 2 8080 порт
>rdr pass on $int_if inet proto tcp from 192.168.1.200 to !192.168.1.0/24 port 80 -> 192.168.1.2 port 8080

nat on $int_if proto tcp from any to 192.168.1.2 port 8080 -> 192.168.1.1
>
>Роутер 2 SQUID transparent
>nat on $int_if proto tcp from 192.168.1.200 to 192.168.1.2 port 8080 -> $int_if

это помоему не нужно и тайный смысл этого правила не понял :).
>
>С TCPDUMP-ом посмотрел как ходят пакеты, так от клиента 192.168.1.200 исходит пакет
>попадает на Роутер 1 192.168.1.1 тогда он его перекидывает на squid
>192.168.1.2 а тот в свою очередь отвечает на прямую клиенту 192.168.1.200,
>мне кажется что вся беда втом и есть что назад клиенту
>пакет проходит не через 192.168.1.1 а на прямую.

на 192.168.1.200 временно укажите шлюзом 192.168.1.2 и посмотрите что будет
>
>
>Спасибо :)

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

8. "SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 18-Ноя-08, 10:55 
>rdr pass on $int_if inet proto tcp from 192.168.1.200 to !192.168.1.0/24 port 80 -> 192.168.1.2 port 8080
>nat on $int_if proto tcp from any to 192.168.1.2 port 8080 -> 192.168.1.1

Это всё выставил

не работает всёравно

Роутер 1
10:04:45.805477 IP 192.168.1.200.gv-us > bw-in-f104.google.com.http: S 3962768219:3962768219(0) win 65535 <mss 1460,nop,nop,sackOK>
10:04:45.806148 IP samba > 192.168.1.200: ICMP redirect 192.168.1.2 to net 192.168.1.2, length 36
10:04:45.806304 IP 192.168.1.200.gv-us > 192.168.1.2.8080: S 3962768219:3962768219(0) win 65535 <mss 1300,nop,nop,sackOK>
10:04:48.854246 IP 192.168.1.200.gv-us > bw-in-f104.google.com.http: S 3962768219:3962768219(0) win 65535 <mss 1460,nop,nop,sackOK>
10:04:54.875607 IP 192.168.1.200.gv-us > bw-in-f104.google.com.http: S 3962768219:3962768219(0) win 65535 <mss 1460,nop,nop,sackOK>

Роутер 2
09:52:49.976277 arp who-has 192.168.1.1 tell 192.168.1.2

>на 192.168.1.200 временно укажите шлюзом 192.168.1.2 и посмотрите что будет

Поставил на 192.168.1.200 шлюз 192.168.1.2 и прописал в pf.conf-е редирект
rdr on $int_if proto tcp from 192.168.1.200 to any port 80 -> 192.168.1.2 port 8080
работает


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

9. "SQUID transparent + PF"  
Сообщение от reader (ok) on 18-Ноя-08, 12:26 
>>rdr pass on $int_if inet proto tcp from 192.168.1.200 to !192.168.1.0/24 port 80 -> 192.168.1.2 port 8080
>>nat on $int_if proto tcp from any to 192.168.1.2 port 8080 -> 192.168.1.1
>
>Это всё выставил
>
>не работает всёравно
>
>Роутер 1
>10:04:45.805477 IP 192.168.1.200.gv-us > bw-in-f104.google.com.http: S 3962768219:3962768219(0) win 65535 <mss 1460,nop,nop,sackOK>
>10:04:45.806148 IP samba > 192.168.1.200: ICMP redirect 192.168.1.2 to net 192.168.1.2, length 36

net.inet.ip.redirect=0

>10:04:45.806304 IP 192.168.1.200.gv-us > 192.168.1.2.8080: S 3962768219:3962768219(0) win 65535 <mss 1300,nop,nop,sackOK>
>10:04:48.854246 IP 192.168.1.200.gv-us > bw-in-f104.google.com.http: S 3962768219:3962768219(0) win 65535 <mss 1460,nop,nop,sackOK>
>10:04:54.875607 IP 192.168.1.200.gv-us > bw-in-f104.google.com.http: S 3962768219:3962768219(0) win 65535 <mss 1460,nop,nop,sackOK>
>

пакеты на 192.168.1.2 не перенаправились?
>Роутер 2
>09:52:49.976277 arp who-has 192.168.1.1 tell 192.168.1.2

то есть на 192.168.1.2 пакеты не приходят?
>
>
>
>>на 192.168.1.200 временно укажите шлюзом 192.168.1.2 и посмотрите что будет
>
>Поставил на 192.168.1.200 шлюз 192.168.1.2 и прописал в pf.conf-е редирект
>rdr on $int_if proto tcp from 192.168.1.200 to any port 80 -> 192.168.1.2 port 8080
>работает

с 192.168.1.2 похоже все нормально
>
>

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

10. "SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 18-Ноя-08, 12:49 
На 192.168.1.1 net.inet.ip.redirect=1
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "SQUID transparent + PF"  
Сообщение от reader (ok) on 18-Ноя-08, 13:10 
>На 192.168.1.1 net.inet.ip.redirect=1

а смысл какой был?

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

12. "SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 18-Ноя-08, 14:56 
Роутер 2
[root@router2 ~]# tcpdump -i em1 -ttt -e -n port 8080
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em1, link-type EN10MB (Ethernet), capture size 96 bytes
000000 00:1e:4a:a9:d2:1c > 00:0e:a6:b6:cd:40, ethertype IPv4 (0x0800), length 62: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
000037 00:0e:a6:b6:cd:40 > 00:14:5e:a4:f8:92, ethertype IPv4 (0x0800), length 62: 192.168.3.59.8080 > 192.168.1.251.51073: S 3309537150:3309537150(0) ack 2956257228 win 65535 <mss 1460,sackOK,eol>
000213 00:14:5e:a4:f8:92 > 00:0e:a6:b6:cd:40, ethertype IPv4 (0x0800), length 60: 192.168.1.251.51073 > 192.168.3.59.8080: R 2956257228:2956257228(0) win 0
2. 996740 00:1e:4a:a9:d2:1c > 00:0e:a6:b6:cd:40, ethertype IPv4 (0x0800), length 62: 192.168.1.251.60616 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
000047 00:0e:a6:b6:cd:40 > 00:14:5e:a4:f8:92, ethertype IPv4 (0x0800), length 62: 192.168.3.59.8080 > 192.168.1.251.60616: S 423381392:423381392(0) ack 2956257228 win 65535 <mss 1460,sackOK,eol>
000196 00:14:5e:a4:f8:92 > 00:0e:a6:b6:cd:40, ethertype IPv4 (0x0800), length 60: 192.168.1.251.60616 > 192.168.3.59.8080: R 2956257228:2956257228(0) win 0

Роутер 1
[root@router /var/log]# tcpdump -i pflog0 -ttt -e host 192.168.3.59
tcpdump: WARNING: pflog0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pflog0, link-type PFLOG (OpenBSD pflog file), capture size 96 bytes
538021 rule 0/0(match): pass in on bridge0: 192.168.3.79.interhdl_elmd > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1460,nop,nop,sackOK>
1.    000006 rule 0/0(match): pass out on bridge0: 192.168.3.79.interhdl_elmd > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1460,nop,nop,sackOK>
000004 rule 0/0(match): pass out on bge1: 192.168.3.79.interhdl_elmd > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1460,nop,nop,sackOK>
000648 rule 0/0(match): pass in on bge1: 192.168.3.79.interhdl_elmd > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
000005 rule 0/0(match): pass in on bridge0: 192.168.3.79.interhdl_elmd > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
000005 rule 0/0(match): pass out on bridge0: 192.168.3.79.interhdl_elmd > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
000007 rule 3/0(match): pass out on bge0: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
2. 996507 rule 0/0(match): pass in on bridge0: 192.168.3.79.interhdl_elmd > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1460,nop,nop,sackOK>
000010 rule 3/0(match): pass out on bge1: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1460,nop,nop,sackOK>
000513 rule 3/0(match): pass in on bge1: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
000005 rule 3/0(match): pass in on bridge0: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
000005 rule 3/0(match): pass out on bridge0: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
000009 rule 3/0(match): pass out on bge0: 192.168.1.251.60616 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>

Вот что получается :)

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

13. "SQUID transparent + PF"  
Сообщение от reader (ok) on 18-Ноя-08, 15:45 
>[оверквотинг удален]
>000005 rule 0/0(match): pass out on bridge0: 192.168.3.79.interhdl_elmd > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
>000007 rule 3/0(match): pass out on bge0: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
>2. 996507 rule 0/0(match): pass in on bridge0: 192.168.3.79.interhdl_elmd > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1460,nop,nop,sackOK>
>000010 rule 3/0(match): pass out on bge1: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1460,nop,nop,sackOK>
>000513 rule 3/0(match): pass in on bge1: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
>000005 rule 3/0(match): pass in on bridge0: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
>000005 rule 3/0(match): pass out on bridge0: 192.168.1.251.51073 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
>000009 rule 3/0(match): pass out on bge0: 192.168.1.251.60616 > 192.168.3.59.8080: S 2956257227:2956257227(0) win 65535 <mss 1300,nop,nop,sackOK>
>
>Вот что получается :)

192.168.3.59 - это Роутер 2 (squid)
192.168.3.79 и 192.168.1.251 - это кто?

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

14. "SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 18-Ноя-08, 15:49 
Это так,
Роутер 1 192.168.1.251
клиент 192.168.3.79
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "SQUID transparent + PF"  
Сообщение от reader (ok) on 18-Ноя-08, 16:07 
>Это так,
>Роутер 1 192.168.1.251

почему адрес из другой подсети?
>клиент 192.168.3.79

у клиента 192.168.3.79 шлюзом 192.168.1.251 ?

что то я не понимаю вашу топологию сети %)

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

16. "SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 18-Ноя-08, 16:15 
>>Это так,
>>Роутер 1 192.168.1.251
>
>почему адрес из другой подсети?
>>клиент 192.168.3.79
>
>у клиента 192.168.3.79 шлюзом 192.168.1.251 ?
>
>что то я не понимаю вашу топологию сети %)

у нас сеть с 192.168.0.0 с маской 255.255.252.0

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

17. "SQUID transparent + PF"  
Сообщение от reader (ok) on 18-Ноя-08, 17:07 
так и не работает?

судя по дампу на 192.168.3.59 все отработало правильно, адреса клиента (192.168.3.79) он не видел значит SNAT на 192.168.1.251 отработал.
с Роутер1 ушел пакет с обратным адресом 192.168.1.251.51073. на Роутер2 принят и на него же отвечен, а вот что дальше на Роутер1 происходит не понятно

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

18. "SQUID transparent + PF"  
Сообщение от sergeii01 email(ok) on 18-Ноя-08, 18:34 
А как можно эту ситуацию прояснить?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "SQUID transparent + PF"  
Сообщение от reader (ok) on 19-Ноя-08, 10:34 
>А как можно эту ситуацию прояснить?

можно начать с просмотра tcpdump с адресом клиента или pftop смотреть на предмет что твопирся с адресом клиента

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

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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