Portál AbcLinuxu, 12. května 2025 08:17

Dotaz: Presmerovani portu

1.6.2008 17:00 Zdenek.k | skóre: 6
Presmerovani portu
Přečteno: 585×
Odpovědět | Admin
Zdravim vas, mam tu doma pro nekoho mozna trivialni problem. mam linux router postaveny na Debian Sarge 2.6.16. Router ma 2 uplinky do internetu od 2 ISP, mezi kterymi je dynamicky smerovano ( load balancing). Nyni ale resim problem jak udelat to, ze kdyz mi na router prijde pozadavek na pristup napriklad na www.seznam.cz tak to vzdy pujde pres providera1 a nebude se uplatnovat load balancing. Reseni je podle me ve spravnem pravidlu pomoci iptables, ale bohuzel se mi nedari jej sestavit. Pokud by slo o presmerovani z internetu do vnitrni site to je bez problemu. Diky za radu. Zdenek
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.6.2008 20:09 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Presmerovani portu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Myslím že je to zíležitost směrování. Viz man route.
2.6.2008 09:10 Zdenek.k | skóre: 6
Rozbalit Rozbalit vše Re: Presmerovani portu
urcite ano ale nvim jak ji resit.
2.6.2008 08:14 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovani portu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na jakém principu je udělaný ten load balancing? Podívejte se na man ip (z balíčku iproute2). Obecné řešení je takové, že máte několik směrovacích tabulek a k tomu pravidla, kdy se má která tabulka použít. Ve vašem případě možná bude stačit nastavit napevno směrování některých IP adres přes jednu bránu, ale záleží na tom, jak kde a jak se dělá load balancing.
2.6.2008 09:10 Zdenek.k | skóre: 6
Rozbalit Rozbalit vše Re: Presmerovani portu
Zdravim, ten load balancing je udelany na zaklade vytvoreni postranich routovacich tabulek a balicku iproute2. Bohuzel vase reseni je pro me nepouzitelne. Tento stroj na kterem bezi load balancing je pres LAN rozhrani spojen s dalsim serverem, kde je NAT. Tento dalsi server pak dela shaping, je zde DNS atd. Ja tedy na serveru s load balancingem vidim pouze jednu zdrojovou ip pro vsechny sluzby. Premyslel jsem o nejake pravidlem v iptables, ktere by zakazalo pouzivani jedne brany pro napriklad ICQ. Tim by se muselo pripojovat pouze pres jednu a melo by to fungovat. S timto souvisi dalsi problem. Zjistil jsem ze kdyz nasadim takto upraveny server vse je ok, ale ICQ, JABBER a podobne sluzby se mi v intervalu cca 3-5 minut odpoji a ihned pripoji zpet. Nereseil jsme nekdy tento problem ?
2.6.2008 09:23 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovani portu
Pokud už další routovací tabulky používáte, bude nejjednodušší využít je i pro tenhle případ. Tedy buď upravit pravidla tak, aby se u konkrétních cílových adres (ty vás zajímají, zdrojové adresy nepotřebujete) vybírala vždy jedna tabulka, nebo doplnit všechny tabulky o záznamy, že určité cílové IP adresy mají být směrovány vždy přes jednu bránu. Tj. např. v tabulce 1 máte default GW1 a v tabulce 2 default GW2, pak do tabulky 2 přidáte ještě routy (napevno), že IP adresy ty a ty se mají routovat přes GW1.
2.6.2008 10:57 Zdenek.k | skóre: 6
Rozbalit Rozbalit vše Re: Presmerovani portu
Zdravim, diky za radu. Mate tedy na mysli neco v tomto smyslu :

pro smtp napriklad: /sbin/ip rule add prio 80 to $SMTP_IP table 201

Zkuste me prosim naznacit reseni ...
2.6.2008 11:26 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovani portu
Spíš bych jenom do té routovací tabulky, která routuje přes 2. poskytovatele, přidal záznamy pro určité IP adresy, že se má jít přes poskytovatele 1.
ip route add to $SMTP_IP table $TABLE_POSK_2 via $BRANA_POSK_1
Pro konkrétnější popis bych musel vidět, jak vypadají současné směrovací tabulky a pravidla…
2.6.2008 12:25 Zdenek.k | skóre: 6
Rozbalit Rozbalit vše Re: Presmerovani portu
Zdravim diky za radu. Pokusim se osvetlit situaci v nastaveni tabulek.

Prvni tabulka je oznacena 201 routovana pres ip 192.168.3.253, branu 192.168.3.1 rozhrani eth2.

Druha tabulka je oznacena 202 routovana pres ip 192.168.1.4, branu 192.168.1.1 rozhrani eth0.

V tomto nastaveni se mi odpojuje ICQ,JABBER v intervalech cca 5 minut, RTSP streamy v intervalech cca 30 minut.
2.6.2008 12:30 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovani portu
Přidal bych tedy třeba do tabulky 202 pro některé cílové IP adresy routování přes IP 192.168.3.253, bránu 192.168.3.1 rozhraní eth2 (příkaz vizte v předchozím komentáři). Záznamy budou specifičtější než default gw, takže budou mít přednost. Tím pádem pro zvolené cílové IP adresy se půjde vždy přes stejného poskytovatele (a se stejnou odchozí IP adresou, kterou zřejmě někde později NATujete), ať se bude routovat podle tabulky 201 nebo 202.
2.6.2008 12:33 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovani portu
Ještě mne napadá, zda to vůbec neřešit jenom NATem. Protože aby mělo rozkládání zátěže smysl i pro download, předpokládám, že NATujeet odchozí IP adresy aby odpovídaly tomu, přes kterého jdou poskytovatele. Záleží na topologii sítě, ale možná by stačilo jen upravit ten NAT (pokud je mezi sítí a routerem, který dělá loadbalancing).
2.6.2008 12:41 Zdenek.k | skóre: 6
Rozbalit Rozbalit vše Re: Presmerovani portu
Zdravim diky za radu.Tabulky jsou tedy jak jsem psal nasledujici:

Prvni tabulka je oznacena 201 routovana pres ip 192.168.3.253, branu 192.168.3.1 rozhrani eth2.

Druha tabulka je oznacena 202 routovana pres ip 192.168.1.4, branu 192.168.1.1 rozhrani eth0.

Nasledne NATuji pomoci SNAT na rozhrani eth2 i eth1. NAT je mezi siti a routerem ktery dela load balancing. Premyslel jsem o necem jako zakazu forwardovani tcp portu 5190 ( ICQ) pres jednu branu a povoleni pres druhou ale nevim jestli by to vyresilo muj problem. Pokusim se nyni aplikvat Vasi prvni radu a uvidime jak se bude sit chovat. Zdenek
2.6.2008 13:36 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovani portu
Pokud jde o zákaz pomocí iptables, to by podle mne nefungovalo. iptables prostě daný paket vyhodnotí a podle pravidel jej zahodí, nevyhodnocuje se jestli by ten paket nešlo poslat jinou cestou, kde by se aplikovala jiná pravidla iptables a paket by tudy prošel.
5.6.2008 17:25 Zdenek.k | skóre: 6
Rozbalit Rozbalit vše Re: Presmerovani portu
Zdravim, takze jsme problem uspesne vyresil. Reseni bylo jednoduche. Provadel jsem NATovani pomoci prikazu -o POSTROUTING atd., po zmene prikazu na -j SNAT atd. se situace vyresila. Ale Vase rada ohledne toho prikazu skutecne funguje a pakety putuji pres zadanou trasu. Zdenek

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.