- SQUID transparent + PF,
reader, 16:51 , 17-Ноя-08 (1)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 выведите в другую подсеть.
- SQUID transparent + PF,
sergeii01, 17:34 , 17-Ноя-08 (2)Может моглибы подсказатё как SNAT на внутреннем интерфейсе сделать. Спасибо
- SQUID transparent + PF,
reader, 17:46 , 17-Ноя-08 (3)>Может моглибы подсказатё как SNAT на внутреннем интерфейсе сделать. >Спасибтак как вы и писАли nat on $int_if proto tcp from 192.168.1.200 to 192.168.1.2 port 8080 -> $int_if
- SQUID transparent + PF,
sergeii01, 17:54 , 17-Ноя-08 (4)по поводу редиректа на Роутер 1 он редиректит весь трафик на 8080 порт 192.168.1.2 и он для внутренней сети работает как DEFAULT GW, по этому на нём я и прописал правило для редиректа. Может я собственно не стого и начал?
- SQUID transparent + PF,
reader, 18:18 , 17-Ноя-08 (5)>по поводу редиректа на Роутер 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 и шлюз
- SQUID transparent + PF,
sergeii01, 09:08 , 18-Ноя-08 (6)Извените сам запутался когда писал первый пост. :) Роутер 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 а на прямую. Спасибо :)
- SQUID transparent + PF,
reader, 10:27 , 18-Ноя-08 (7)>Извените сам запутался когда писал первый пост. :) >Роутер 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 8080nat 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 и посмотрите что будет > > >Спасибо :)
- SQUID transparent + PF,
sergeii01, 10:55 , 18-Ноя-08 (8)>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 работает
- SQUID transparent + PF,
reader, 12:26 , 18-Ноя-08 (9)>>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 36net.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 похоже все нормально > >
- SQUID transparent + PF,
sergeii01, 12:49 , 18-Ноя-08 (10)На 192.168.1.1 net.inet.ip.redirect=1
- SQUID transparent + PF,
reader, 13:10 , 18-Ноя-08 (11)>На 192.168.1.1 net.inet.ip.redirect=1 а смысл какой был?
- SQUID transparent + PF,
sergeii01, 14:56 , 18-Ноя-08 (12)Роутер 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> Вот что получается :)
- SQUID transparent + PF,
reader, 15:45 , 18-Ноя-08 (13)>[оверквотинг удален] >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 - это кто?
- SQUID transparent + PF,
sergeii01, 15:49 , 18-Ноя-08 (14)Это так, Роутер 1 192.168.1.251 клиент 192.168.3.79
- SQUID transparent + PF,
reader, 16:07 , 18-Ноя-08 (15)>Это так, >Роутер 1 192.168.1.251 почему адрес из другой подсети? >клиент 192.168.3.79 у клиента 192.168.3.79 шлюзом 192.168.1.251 ? что то я не понимаю вашу топологию сети %)
- SQUID transparent + PF,
sergeii01, 16:15 , 18-Ноя-08 (16)>>Это так, >>Роутер 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
- SQUID transparent + PF,
reader, 17:07 , 18-Ноя-08 (17)так и не работает?судя по дампу на 192.168.3.59 все отработало правильно, адреса клиента (192.168.3.79) он не видел значит SNAT на 192.168.1.251 отработал. с Роутер1 ушел пакет с обратным адресом 192.168.1.251.51073. на Роутер2 принят и на него же отвечен, а вот что дальше на Роутер1 происходит не понятно
- SQUID transparent + PF,
sergeii01, 18:34 , 18-Ноя-08 (18)А как можно эту ситуацию прояснить?
- SQUID transparent + PF,
reader, 10:34 , 19-Ноя-08 (19)>А как можно эту ситуацию прояснить? можно начать с просмотра tcpdump с адресом клиента или pftop смотреть на предмет что твопирся с адресом клиента
|