Re: Dwa ³±cza i squid.

2003-09-27 Wątek Marek Adamski - Debian
Witaj Marek,

W Twoim liście datowanym 25 września 2003 (16:19:22) można przeczytać:

MAD> Witaj Grupa!

MAD>   Posiadam dwa łącza DSL, co prawda jednego prowaidera, ale nie o to
MAD>   chodzi. Moje pytanie to jak zmusić squida żeby pracował nie na łączu
MAD>   które jest jako domyślne w tablicy routingu tylko na łączu które nie
MAD>   jest wykożystywane. Przeglądałem dokumentacje squida i nic nie
MAD>   dostrzegłem co by mogło mi pomóc, albo poprostu za słabo znam
MAD>   angielski.

Witaj Marek,

W Twoim liście datowanym 25 września 2003 (16:19:22) można przeczytać:

MAD> Witaj Grupa!

MAD>   Posiadam dwa łącza DSL, co prawda jednego prowaidera, ale nie o to
MAD>   chodzi. Moje pytanie to jak zmusić squida żeby pracował nie na łączu
MAD>   które jest jako domyślne w tablicy routingu tylko na łączu które nie
MAD>   jest wykożystywane. Przeglądałem dokumentacje squida i nic nie
MAD>   dostrzegłem co by mogło mi pomóc, albo poprostu za słabo znam
MAD>   angielski.

Diękuję wszystkich za pomoc. Jednak okazało się że po za opcją dla
squida tak jak kolega napisał tcp_outgoing_address xxx.xxx.xxx.xxx
(oraz udp_outgoing_address xxx.xxx.xxx.xxx.xxx tego już nie napisał :)
) miałem źle skonfigurowane tablice routingu w rezultacie czego nie
mogłem z routera kożystać z drugiego łącza. Tu z pomocą przyszły gogle
(chociaż znalezienie konkretnej odpowiedzi nie było łatwe) zrobiłem
wkącu tablice routingu. Tablice wykonałem na podstawie strony:
http://mr0vka.eu.org/tlumaczenia/2.4routing.html
Na początku tylko raz wykonujemy polecenie: (tego autor na stronie nie
napisał)echo "200 N1" >> /etc/iproute2/rt_tables
echo "201 N2" >> /etc/iproute2/rt_tables
te polecenia wykonujemy tylko raz.
Następnie albo klepiemy z renki albo robimy skrypcik:

-- tN.bat --

#!/bin/bash
echo "Ładuje zmienne"
IF0=eth2
IF1=eth0
IF2=eth1
IP1=
IP2=
P1=
P2=
P0_NET=
P1_NET=
P2_NET=
echo "Etap 1"
ip route add $P1_NET dev $IF1 src $IP1 table N1
ip route add default via $P1 table N1
ip route add $P2_NET dev $IF2 src $IP2 table N2
ip route add default via $P2 table N2
echo "Etap 2"
ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2
echo "Etap 3"
ip route add default via $P1
# Dla automatycznego rozłożenia obciążenia zamiast linijki wyżej
# ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
# nexthop via $P2 dev $IF2 weight 1
# ale nie sprawdzałem.
echo "Etap 4"
ip rule add from $IP1 table N1
ip rule add from $IP2 table N2
echo "Etap 5"
ip route add $P0_NET dev $IF0 table N1
ip route add $P2_NET dev $IF2 table N1
ip route add 127.0.0.0/8 dev lo table N1
ip route add $P0_NET dev $IF0 table N2
ip route add $P1_NET dev $IF1 table N2
ip route add 127.0.0.0/8 dev lo table N2
echo "Etap 6"
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via 
$P2 dev $IF2 weight 1
echo "Flush"
ip route flush cache

-- END tN.bat --

skrypcik kasujący:

-- tNd.bat --

#!/bin/bash
echo "Ładuje zmienne"
IF0=eth2
IF1=eth0
IF2=eth1
IP1=
IP2=
P1=
P2=
P0_NET=
P1_NET=
P2_NET=
echo "Etap 6"
ip route del default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via 
$P2 dev $IF2 weight 1
echo "Etap 5"
ip route del $P0_NET dev $IF0 table N1
ip route del $P2_NET dev $IF2 table N1
ip route del 127.0.0.0/8 dev lo table N1
ip route del $P0_NET dev $IF0 table N2
ip route del $P1_NET dev $IF1 table N2
ip route del 127.0.0.0/8 dev lo table N2
echo "Etap 4"
ip rule del from $IP1 table N1
ip rule del from $IP2 table N2
echo "Etap 3"
ip route del default via $P1
echo "Etap 2"
ip route del $P1_NET dev $IF1 src $IP1
ip route del $P2_NET dev $IF2 src $IP2
echo "Etap 1"
ip route del $P1_NET dev $IF1 src $IP1 table N1
ip route del default via $P1 table N1
ip route del $P2_NET dev $IF2 src $IP2 table N2
ip route del default via $P2 table N2
echo "Flush"
ip route flush cache

-- END tNd.bat --

oraz przydają się wpisy do firewall'a:
iptables -t nat -A POSTROUTING -s $P0_NET -o $IF1 -j SNAT \
--to $IP1
iptables -t nat -A POSTROUTING -s $P0_NET -o $IF2 -j SNAT \
--to $IP2

Skrypt wystarczy odpalić tylko raz. Debian bez problemu zapamiętuje
wpisy nawet po restarcie.
Należy też wspomnieć że gdy chcemy skożystać z tych tablic routingu to
w pliku /etc/network/interfaces nie powinien występować wpis GATEWAY.

A dla jasności wykonałem to wszystko na Debianie 3.0 a właściwie to
Testowej upgrejdowanej na bierząco.

P.S. Podejżewam że i tak jeszcze co nie które osoby dodadzą coś od
siebie.
P.S.2 Poraz kolejny zapomniałęm zmienić pole "Do:" i wysłałem sam do
siebie. :]
-- 
Pozdrowienia,
**
*  Marek (SirAdams) Adamski  *
* [EMAIL PROTECTED] *
*ICQ:42751516*
*  GG:14747  *
**



Re: Dwa ³±cza i squid.

2003-09-26 Wątek Marek
Hello Marek,

Thursday, September 25, 2003, 4:19:22 PM, you wrote:

MAD> Witaj Grupa!

MAD>   Posiadam dwa łącza DSL, co prawda jednego prowaidera, ale nie o to
MAD>   chodzi. Moje pytanie to jak zmusić squida żeby pracował nie na łączu
MAD>   które jest jako domyślne w tablicy routingu tylko na łączu które nie
MAD>   jest wykożystywane. Przeglądałem dokumentacje squida i nic nie
MAD>   dostrzegłem co by mogło mi pomóc, albo poprostu za słabo znam
MAD>   angielski.

Witam,
 sprobowal bym nat lokalnych polaczen i regole lapiaca polaczenie
wykonane przez squida. przy okazji prosze doswiadczonych o opinie co o
tym sadza, jesli nie palnelem totalnej glupoty

Pozdrawia Marek



Dwa ³±cza i squid.

2003-09-25 Wątek Marek Adamski - Debian
Witaj Grupa!

  Posiadam dwa łącza DSL, co prawda jednego prowaidera, ale nie o to
  chodzi. Moje pytanie to jak zmusić squida żeby pracował nie na łączu
  które jest jako domyślne w tablicy routingu tylko na łączu które nie
  jest wykożystywane. Przeglądałem dokumentacje squida i nic nie
  dostrzegłem co by mogło mi pomóc, albo poprostu za słabo znam
  angielski.

-- 
Pozdrowienia,

* Marek (SirAdams) Adamski *
* [EMAIL PROTECTED] *
*   ICQ:42751516   *
* GG:14747 *