26 (edytowany przez snifer 2012-10-09 17:39:43)

Odp: Dwa VLANy wyjście jednym na świat przez http_proxy, jak zacząć ?

Możesz spróbować jeszcze inaczej, jeżeli dostajesz adresy z klasy raz 172.20 .x.x a raz 172.30.x.x to dopisz w interfejsie wan_350 bramę 0.0.0.0 żeby jej nie pobierało i zrób route na proxy tak jak miałeś na początku z bramą wpisaną 172.20.x.1 i drugi taki sam ale z bramą 172.30.x.1, zadziała i tak tylko ta właściwa a domyślną dostaniesz jedną z wana eth0.2, tylko upewnij się co do maski, w route powinieneś mieć wpis 212.x.x.x 172.20.x.1 255.255.255.255 U 0 0 0 eth0.350 lub z bramą 172.30.x.1

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

27

Odp: Dwa VLANy wyjście jednym na świat przez http_proxy, jak zacząć ?

snifer napisał/a:

Jesteś pewien że maska w route do proxy nie musi być wpisana? Nie widać tego w tablicy rutingu.

W tym wypadku miałem zakomentowaną trasę do proxy aby nie zamącać problemu,
bo chciałem się skupić na problemie z bramami (bo te końcówki bez proxy przestały działać przez ten problem).

Maska do route chyba nie mus być wpisana
cyt. (http://wiki.openwrt.org/doc/uci/network)
"Route netmask. If omitted, 255.255.255.255 is assumed which makes target a host address"
Co rozumiem że "Jeśli pominięto, to wówczas jest 255.255.255.255 jest co sprawia, że kierowanie na adres hosta"
czyli tak jak podałeś "255.255.255.255".

snifer napisał/a:

Jak miałeś tak:

route -n

192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 br-lan
212.x.x.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.2
172.20.x.0     0.0.0.0         255.255.254.0   U     0      0        0 eth0.350
172.20.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0.350
224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eth0.350
0.0.0.0         172.20.x.1    0.0.0.0         UG    0      0        0 eth0.350
0.0.0.0         212.x.x.1    0.0.0.0         UG    1      0        0 eth0.2

to wszystko działało?

Nie, nie działo.
W tym przyadku własnie było ustawione metric=1 dla eth0.2 (dla definicji 'interface' a nie dla 'route')

TP-Link TL-WDR4300 v1, Reboot (17.01-SNAPSHOT, r3876-efb6ca1)

28

Odp: Dwa VLANy wyjście jednym na świat przez http_proxy, jak zacząć ?

To zrób tak jak napisałem w poprzednim poście, jak w interfejsie wpiszesz bramę 0.0.0.0 to jest ignorowana, zrób tylko dwa obiekty route do proxy z bramami wpisanymi na pałę i powinno wszystko działać.

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

29

Odp: Dwa VLANy wyjście jednym na świat przez http_proxy, jak zacząć ?

snifer napisał/a:

Możesz spróbować jeszcze inaczej, jeżeli dostajesz adresy z klasy raz 172.20 .x.x a raz 172.30.x.x to dopisz w interfejsie wan_350 bramę 0.0.0.0 żeby jej nie pobierało i zrób route na proxy tak jak miałeś na początku z bramą wpisaną 172.20.x.1 i drugi taki sam ale z bramą 172.30.x.1, zadziała i tak tylko ta właściwa a domyślną dostaniesz jedną z wana eth0.2, tylko upewnij się co do maski, w route powinieneś mieć wpis 212.x.x.x 172.20.x.1 255.255.255.255 U 0 0 0 eth0.350 lub z bramą 172.30.x.1

Teraz to już walka dla walki, bo tak naprawdę,
to rozwiązanie (http://eko.one.pl/forum/viewtopic.php?pid=52138#p52138)
działa (i z proxy i z resztą)

Jedynie ustawianie tego 'metric' wszytko psuje (nie wiem czemu)
i mam albo dwie bramy (172.20.x.1 i 212.a.b.1)
lub jedną 212.a.b.1 (i w logu błąd - "route: SIOCADDRT: File exists" z powodu zdublowania/dodania statycznej trasy)

W tej chwili działa net, działa proxy.
Niepokojące są :
- dwie bramy (ale jak pisałeś to nie problem)
- dwie lub jedna domyślna brama (i dublowanie się tras gdy wejdzie wcześniej ta z eth0.2)
- ustawienie metric' gdy są dwie bramy domyślnie - wszystko psuje

Teraz już tylko zastanawiam się czy gdzieś leży problem z tym metric,
bo jak rozumiem gdy są dwie domyślne bramy pakiet próbuje przebić się przez jedną i/lub drugą
(nie wiem jak to działa bez metric)
a gdyby miał metric wiedziałby gdzie iść wpierw (dobrze gdybam ?)

--
Pozdrawiam!

TP-Link TL-WDR4300 v1, Reboot (17.01-SNAPSHOT, r3876-efb6ca1)

30

Odp: Dwa VLANy wyjście jednym na świat przez http_proxy, jak zacząć ?

Teoretycznie jak metryka ustawiona to ten z wyższą jest priorytetowy a jak jest taka sama to wybiera losowo. Nie wiem czemu tutaj to nie działa, może ważna jest kolejność startowania interfejsów dlatego możesz popróbować różnych kombinacji z restartem jednego lub drugiego wana.

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

31

Odp: Dwa VLANy wyjście jednym na świat przez http_proxy, jak zacząć ?

Jak metryka jest taka sama, to nie wybiera losowo tylko sprawdza i jeżeli dana sieć jest podłączona do routera to ona będzie miała pierwszeństwo w wyborze albo ta sieć która ma mniejszą maskę czyli jest bardziej dopasowana - przynajmniej tak jest w Cisco o ile dobrze pamiętam. Być może w tym przypadku też działa taki mechanizm, że sieć bezpośrednio na interface ma większy priorytet niż wpis statyczny aczkolwiek to bez sensu, bo wtedy cała idea metryki (metric) poszłaby się ... znaczy do lasu wink Być może jest to też jakiś bug po prostu, kto wie wink

32

Odp: Dwa VLANy wyjście jednym na świat przez http_proxy, jak zacząć ?

xbartx napisał/a:

Jak metryka jest taka sama, to nie wybiera losowo tylko sprawdza i jeżeli dana sieć jest podłączona do routera to ona będzie miała pierwszeństwo w wyborze albo ta sieć która ma mniejszą maskę czyli jest bardziej dopasowana - przynajmniej tak jest w Cisco o ile dobrze pamiętam. Być może w tym przypadku też działa taki mechanizm, że sieć bezpośrednio na interface ma większy priorytet niż wpis statyczny aczkolwiek to bez sensu, bo wtedy cała idea metryki (metric) poszłaby się ... znaczy do lasu wink Być może jest to też jakiś bug po prostu, kto wie wink

Słaby jestem w te sprawy i nie wiem jak to powinno działać, ale ...
Czy nie powinno być tak że gdy mam dwa VLANy i dwa dhcp i dostaję dwie bramy
to powinny być dwie bramy ?

Backfire 10.03.1 usuwa poprzenie bramy (nie wiem czy to bug ?)
przyjrzałem się plikowi /usr/share/udhcpc/default.script

        [ -n "$router" ] && [ "$router" != "0.0.0.0" ] && [ "$router" != "255.255.255.255" ] && [ "$router" != "$old_router" ] && {
                echo "udhcpc: setting default routers: $router"

                local valid_gw=""
                for i in $router ; do
                        route add default gw $i ${user_metric:+metric $user_metric} dev $interface
                        valid_gw="${valid_gw:+$valid_gw|}$i"
                done

                route -n # to ja dopisałem

                eval $(route -n | awk '
                        /^0.0.0.0\W{9}('$valid_gw')\W/ {next}
                        /^0.0.0.0/ {print "route del -net "$1" gw "$2";"}
                ')

                route -n # to ja dopisałem

                change_state network "$ifc" gateway "$router"
        }

Jak widać jest tam "route del"
Dodałem sobie "route -n" przed tym eval
i widzę że wpierw wchodzi mi 'wan' mam domyślny gateway do wan (czyli ok),
potem wchodzi wan_350 mam dwa domyślne gateway do wan i do wan_350 (czyli chyba ok ?)
potem jest eval (robi route del)
i potem mam już tylko domyślny gateway do wan_350

Widać z tego ewidentnie że dąży do tego by mieć jedną bramę (i to tą ostatnią)

TP-Link TL-WDR4300 v1, Reboot (17.01-SNAPSHOT, r3876-efb6ca1)

33

Odp: Dwa VLANy wyjście jednym na świat przez http_proxy, jak zacząć ?

Metryka ma za zadanie wskazywać, która trasa jest ważniejsza przy wyborze przez router. Domyślnie w tablicy routingu routera lądują trasy z interface oraz ewentualnie te z jakiś protokołów routingu (oczywiście jeżeli takie są odpalone na routerze jak rip, ospf etc) i mają one jakąś metrykę. Jak dopisuje się kolejne trasy do tablicy routingu też można im dodać metrykę - tak się mniej więcej kształtuje politykę ruchu na danym urządzeniu czy tam w danej sieci.
Teraz tylko pozostaje sprawa czy Twój sprzęt pracuje jako router czy jako FW/gateway. Jeżeli jako FW/g, to być może zawsze będzie on dążył do tego, żeby był jeden default gateway. Może gdzieś w openwrt można wybrać tryb pracy i coś to ewentualnie zmienia?

34 (edytowany przez snifer 2012-10-11 19:12:01)

Odp: Dwa VLANy wyjście jednym na świat przez http_proxy, jak zacząć ?

Myślę że openwrt nie jest aż tak zaawansowany i zgodnie z powyższym skryptem po prostu wybiera tę trasę domyślną którą dostaje później a wcześniejszą usuwa, dlatego sugerowałem żeby olać temat dwóch tras domyślnych, zostawić tylko jedną (na eth0.2) a na wan_350 wyłączyć używanie bramy domyślnej (wpisać option gateway 0.0.0.0) a zamiast tego wpisać na pałę dwie trasy statyczne do hosta proxy via 172.20.x.1 i drugą via 172.30.x.1 (dwa osobne obiekty route a nie dwa razy gateway w jednym route), zadziała zawsze ta która będzie prawidłowa (brama w tej samej klasie co przydzielony adres), najwyżej w logu wywali błąd że jedna z nich jest nieprawidłowa, zależnie z jakiej klasy dostaniesz ip na wan_350, ta prawidłowa powinna zawsze zadziałać.
Zawsze najwyższy priorytet mają trasy z najkrótszą maską czyli jak będzie trasa do hosta (maska 255.255.255.255) to ma najwyższy priorytet i musi działać. W poleceniu route -n powinna być widoczna na samej górze.
Brama domyślna via wan_350 nie jest ci do niczego potrzebna bo potrzebujesz tylko dojścia do jednego hosta (proxy) via wan_350 i taki ruting zawsze ma wyższy priorytet.

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402