WCCP OpenBSD-n keresztul

Fórumok

Sziasztok,

Kovetkezo a helyzet:
Van egy Cisco router wccp-vel felkonfiguralva:

ip wccp web-cache redirect-list WCCP-Redirect-List group-list wccp password WCCP-Password

int "Kulso if" -> ip wccp web-cache redirect out

Standard IP access list wccp
10 permit 192.168.0.13 (344 matches) # Squid proxy IP-cim#
20 deny any log

Extended IP access list WCCP-Redirect-List # Squid proxy tcp_outgoing_address cimek #
30 deny ip host 192.168.0.21 any (89 matches)
40 deny ip any host 192.168.0.21
50 deny ip host 192.168.0.22 any (2801 matches)
60 deny ip any host 192.168.0.22
90 permit ip any any (730 matches)

Meg egy Squid proxy ugyancsak felkonfiguralva:

wccp2_router 192.168.0.250
wccp2_service standard 0 password=WCCP-Password

iptunnel add wccp0 mode gre remote 192.168.0.250 local 192.168.0.13 dev eth0
ifconfig wccp0 192.168.0.13 netmask 255.255.255.255
sysctl -w net.ipv4.conf.wccp0.rp_filter=0

iptables -t nat -A PREROUTING -i wccp0 -p tcp -j REDIRECT --to-ports 3128

A Squid-nek ezekutan sikerul is magat regisztalnia a routernel.

A ketto kozott pedig van egy OpenBSD transparent tuzfal pf-el:

2 ilyen szaballyal az elejen:
block in log on $ext_if all
block out log on $ext_if all

Minden egyeb ami a proxy kapcsolatokhoz, a Squid-Cisco kapcsolathoz szukseges engedve is van, es ha direktbe allitom be a proxy szervert a bongeszoben, akkor mukodik is. Ha azonban a [No proxy] opciot valasztom, egybol nem mukodik es jonnek a logok:

Jan 22 20:09:19.202260 rule 8/(match) block out on fxp0: 216.34.181.71.80 > 192.168.0.102.37784: S 3349374862:3349374862(0) ack 3966229184 win 5792 (DF)
Jan 22 20:09:22.199167 rule 8/(match) block out on fxp0: 216.34.181.71.80 > 192.168.0.102.37784: S 3396196045:3396196045(0) ack 3966229184 win 5792 (DF)
Jan 22 20:09:28.199418 rule 8/(match) block out on fxp0: 216.34.181.71.80 > 192.168.0.102.37784: S 3489942701:3489942701(0) ack 3966229184 win 5792 (DF)

Itt konkretan egy sourceforge-os logot probaltam meg letolteni a 192.168.0.102-es cimrol (ami egy nat utani cim), az fxp0 pedig az OpenBSD-s tuzfal kulso nic-je.

Ha kikommentezem a "block out log on $ext_if all" sort ujra mukodik, de igy egy csomo mas is kemehet, aminek nem kene. Probaltam mindenfelevel atengedni ezeket a csomagokat, de nem sikerult. Valakinek esetleg van erre megoldasa?

Minden segitseget elore koszonok!
smz

Hozzászólások

A squid-től kifele irányuló kapcsolatokra be van állítva a stateful tracking?

Igen, a tcp_outgoing_address-ek szabalyaiban ott a 'keep state', ha arra gondolsz:

pass out on $ext_if proto tcp from [tcp_outgoing_address-ek felsorolva] to any port $HTTP_Ports keep state

A gond akkor van, amikor a wccp-vel elert http-szerverekrol a valaszt vissza kene kuldeni a http-kliensnek. "antispoof" csak a loopback-re van beallitva, tehat az sem lehet. Sajnos a dolog akkor sem megy, ha a klienseket hozzaadom egy
pass out on $ext_if proto tcp from any to kliens(a mellekelt logban 192.168.0.102) keep state

http://hup.pastebin.com/f65a98abe (Nagyjabol ugyanaz, mint a post elejen. Kozben probalgattam mast is ezert a "rule 9/(match)" <-> "rule 10/(match)" elteres.)

Az $int_if-en nincs szures, igy probaltam elkapni az ott bejovo csomagokat, de sok okosat nem sikerult kitalalnom, hogy milyen rule-t irhatnek ra.

Kozben ujra probalkoztam:

1. Kivettem a "block out log on $ext_if all" rule-t es a helyre beraktam negy "block out log on $ext_if proto icmp,udp,tcp,gre" szabalyt, es itt ugyancsak megakadtak a csomagok a tcp rule-on.

2. Utana visszaraktam a "block out log on $ext_if all" majd tobbfelekeppen a "pass out on $ext_if proto tcp" rule-t, de tovabbra sem mukodott.

Nem tudom mi lehet a gond. Valamit nem jol ertek/csinalok? De mit?

Minden tovabbi segitseget koszonok,
smz

Up: Valakinek esetleg van barmilyen otlete?