Portál AbcLinuxu, 10. května 2025 02:10

Dotaz: SQUID a tcp_outgoing_address nefunguje

2.11.2009 16:29 faha
SQUID a tcp_outgoing_address nefunguje
Přečteno: 258×
Odpovědět | Admin
Zdravim, mam linux server se tremi eth(0,1,2). eth0 -> smer ISP1 eth1 -> LAN eth2 -> smer ISP2 ---

Na linuxu je nahozen transparetni squid, ktery bere requesty pouze z LAN (192.168.1.0/24).

V LAN jsou IP 192.168.1.178 a 192.168.1.241, pro ktere chci jejich provoz smerovat ven pres eth2(ISP2) ostatni trafik jde pres eth0 (ISP).

Na eth0 i eth2 je postrouting s DNAT na verejnou IP. Default GW jde pres eth0. Pro zminene 2 IP je nastaven source routing, ktery funguje protokoly jako FTP, SSH jsou ven pres eth2 jen zaboha se mi nedari rozbehnout HTTP pomoci direktivy tcp_outgoing_address.

acl VIP src 192.168.1.178 192.168.1.241 tcp_outgoing_address xxx.xxx.xxx.xxx VIP (za xxx... je samo IP na eth2).

Nemate nekdo tuseni v cem je problem? Samozdrejme bych mohl ve firewallu obejit trasparent proxy a tyto 2 IP z ni vyradit, ale ja bych rad aby trafik prosel pres proxy.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.11.2009 17:56 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
Odpovědět | | Sbalit | Link | Blokovat | Admin
Máte v pravidlech routování nastaveno, že pakety se zdrojovou IP adresou xxx.xxx.xxx.xxx mají odcházet přes eth2? Jinak by asi pomohlo dát sem výpis firewallu a routovacích tabulek a pravidel, takhle můžeme jen hádat…
2.11.2009 21:16 faha
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
Ano, toto mi bez problemu funguje. Jak jsem psal, ostatni protokoly jako napr. FTP, SSH i HTTPS (tedy vse co neprochazi pres proxy = http) funguje bez problemu, source routing je nastaveny v poradku, udelal jsem specialni route-ovaci tabulku, kde odlisuji src IP a tuto tabulku nasledne routuji celou pres eth2.

Problem je nekde v tom proxy serveru, dokonce to jeden cas i bezelo, nasledne ve stroji odesla sitova karta, stroj byl vypnut a zapnut a od te doby to nebezi.
2.11.2009 21:23 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
A co tedy přesně nefunguje? Odchozí pakety ze Squidu mají špatnou zdrojovou adresu?
2.11.2009 22:51 faha
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
Ano presne tak, i kdyz pomoci direktivy tcp_outgoing_address a ACL urcim pres jaky interface ma byt pozadavek vyrizen , squid to proste ignoruje, nejhorsi je,ze uz me nenapada jak to ladit, zkusim se podivat jestli squid nema debug mod.

Jen ta bokem, prave jsem si obdobnout situaci nasimuloval na jinem s debianem a zde vse chodit jak ma.
3.11.2009 08:24 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
tcp_outgoing_address ale nedefinuje odchozí interface, ale IP adresu.
3.11.2009 08:31 faha
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
Aha, mam za to, ze kdyz nastavim jako tcp_outgoing_address na IP adresu interface tak nasledne pakety odputuji pres ten interface.
3.11.2009 10:48 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
Myslím, že to tak nefunguje – to by pak v routování musela fungovat nějaká magie, která by rozhodla, zda se bude routovat podle routovacích tabulek, nebo podle zdrojové IP adresy. Je to podle mne opačně – pokud se nezvolí odchozí IP adresa, podle routovacích pravidel se určí odchozí rozhraní a podle něj jádro doplní odchozí IP adresu. Ale pokud ji určíte, musíte pak vytvořit pro routování pravidlo a tabulku, které budou pakety routovat podle toho, jak určíte.
3.11.2009 11:08 darkenik
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
Odpovědět | | Sbalit | Link | Blokovat | Admin
zdravim ja to mam priblizne takto a funguje mi to
gargamel:/usr/src/lms-redirector# ip ru
0:      from all lookup local
32760:  from all to 195.146.x.0/19 lookup t-com
32763:  from 195.146.x.y lookup t-com
32765:  from 10.0.0.2 lookup 8
32766:  from all lookup main
32767:  from all lookup default

gargamel:/usr/src/lms-redirector# ip ro show table t-com
default via t-com-router-ip dev eth2

gargamel:/usr/src/lms-redirector# grep http_stuf /etc/squid/squid.conf
acl http_stuff url_regex -i \.(gif|png|jpg|jpeg|pdf|flv|swf)($|\?)
acl http_stuff url_regex -i \.(html|htm|xhtm|xhtml|js|php|asp|\/)($|\?)
acl http_stuff url_regex -i \.(css|txt|xml|xsl)$
acl http_stuff url_regex -i \/$
tcp_outgoing_address 195.146.x.y !http_stuff !full_speed
3.11.2009 15:18 faha
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
Ano, presne takto to mam aplikovane i ja.

Mam trochu pocit, se porad nerozumime.Zkusim to tedy jeste jednou. Source routing mi funguje v tom nemam problem, slape jak ma. Trochu problem je, ze v ceste paketu (a ted se to tyka JEN HTTP[80]) stoji transparentni proxy (SQUID), ktery pomoci prerouting pravidla chytne provoz co ma dport 80 a udela jeho redirect na port 3128,proste normalni transparentni proxy. Ja ted po squidu chci, aby pakety odeslal podle ACL pravidla do eth2 (default via xx.xx.xx.xx dev eth2).

3.11.2009 17:05 darkenik
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
tak si zaloz acl napriklad new_acl
a potom v squide 
tcp_outgoing_adress [ip] new_acl
samozrejme sourcrouting musis mat nastaveny podle zdrojovej IP
3.11.2009 21:01 faha
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
ANO, presne takto to mam nastavene, ale z neznameho duvodu to proste nejede.
4.11.2009 10:43 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: SQUID a tcp_outgoing_address nefunguje
Dokud neuvidíme, co se u vás doopravdy děje, nemůžeme vám poradit, co je špatně. Zatím nevíme ani to, s jakou zdrojovou IP adresou opouští příslušné pakety počítač, ani jak máte nastavena routovací pravidla, a ni jak máte nastaven NAT. To bychom ale potřebovali křišťálovou kouli, abychom zjistili, kde je problém…

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.