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=<IP ŁĄCZA 1> IP2=<IP ŁĄCZA 2> P1=<BRAMKA ŁĄCZA 1> P2=<BRAMKA ŁĄCZA 2> P0_NET=<Lokalna sieć włącznie z prefixem> P1_NET=<Sieć w której jest IP1 z prefixem> P2_NET=<Sieć w której jest IP2 z prefixem> 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=<IP ŁĄCZA 1> IP2=<IP ŁĄCZA 2> P1=<BRAMKA ŁĄCZA 1> P2=<BRAMKA ŁĄCZA 2> P0_NET=<Lokalna sieć włącznie z prefixem> P1_NET=<Sieć w której jest IP1 z prefixem> P2_NET=<Sieć w której jest IP2 z prefixem> 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 * ******************************

