Forward eth to eth transparent

Serwery i sieci oparte na Slackware, wszelkiego rodzaju usługi, troubleshooting.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Forward eth to eth transparent

Post autor: webster »

Hej

Pomysłu nie mam, a co parę głów to nie jedna.

Jest router - posiada 4 karty eth 1Gbit/s. Dwie karty są wpięte do sieci lokalnej 192.168.0.0/24, dwie kolejne spinają sieci 192.168.1.0/24 oraz 192.168.2.0/24. Jest również WAN w lokalnej nazwijmy go 192.168.0.1.
WAN = 192.168.0.1

Interfejsy w routerze:
eth0 = 192.168.0.10
eth1 = 192.168.0.11
eth2 = 192.168.1.1
eth3 = 192.168.2.1
Opis rysunkowy
Opis rysunkowy
lan.png (6.05 KiB) Przejrzano 5379 razy
Chodzi o to by z sieci 192.168.1.0/24 przepuszczać ruch przez interfejs eth0 czyli ip 192.168.0.10 oraz aby ruch z sieci 192.168.2.1 przechodził przez eth1 czyli 192.168.0.11.



O tyle jest to problematyczne, że jeden i drugi ma ten sam next hop do WAN wiec ip route table odpada.

Cel ? Sieci są gigabitowe = nie chcę tracić przepustowości = gigabit, niech zostanie dalej gigabitem. Wchodzi i wychodzi full speedem.

Nie mogę zmienić maski na /16 i spiąć w przełącznik - kilka sieci o ten masce jest na VPN i wchodzą przez WAN.

Pomysły?
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
Awatar użytkownika
michas100
Użytkownik
Posty: 316
Rejestracja: 2009-06-23, 07:56
Lokalizacja: Włocławek
Kontakt:

Re: Forward eth to eth transparent

Post autor: michas100 »

Skoro podałeś "... Chodzi o to by z sieci 192.168.1.0/24 przepuszczać ruch przez interfejs eth0 czyli ip 192.168.0.10 oraz aby ruch z sieci 192.168.2.1 przechodził przez eth1 czyli 192.168.0.11."... to wystarczy w hostach podać bramę ip danego interfejsu do wyboru dla części eth1 a dla części eth0, nie pisałeś o ruchu do sieci :-)
BTW mysle że jedna podsiec i dwa interfejsy routera w niej to nie jest dobry pomysł... chyba że bondowanie interfejsów jednak wtedy nie byłoby dwóch ip na interfejsach. Pytanie czy eth0 i eth1 nie mogą być w dwóch różnych podsieciach?
slackware student :-)
ObrazekObrazek
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Forward eth to eth transparent

Post autor: webster »

ke ? :D

Skąd host 192.168.1.0 /24 ma znać 192.168.0.10 a adresy z sieci 192.168.2.0/24 adres 192.168.0.11 skoro są w masce 24 ? :D one muszą mieć gate w swojej klasie by móc przez niego wychodzić :D

eth0 i eth1 nie mogą być w dwóch różnych podsieciach - musiałbym zmniejszyć im maskę np /30, w tedy na WAN musiałbym znowuż dodać nowy ip dla któregoś z nich - plątanina - burdel z patatajnią...

Kombinuj dalej :)
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
Awatar użytkownika
michas100
Użytkownik
Posty: 316
Rejestracja: 2009-06-23, 07:56
Lokalizacja: Włocławek
Kontakt:

Re: Forward eth to eth transparent

Post autor: michas100 »

Masz racje bramy musza byc w tej samej sieci co hosty... spałem...
A bondowanie interfejsów: http://www.linux-corner.info/bonding.html?
Wtedy tworzysz dwóm 1Gbit NIC jeden ip addr np. z sieci 192.168.0.10/24 (drugiego adresu w tej sieci nie ma) interfejs nazywa się zamist ethx np. bond0 jakos ten ruch zostanie rozłożony :?:
slackware student :-)
ObrazekObrazek
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Forward eth to eth transparent

Post autor: webster »

hmhmhmhmhmhmmm... asaaasasasaaaaaa.... hmm... good lookam na bonding więc

Od razu znalazłem ciekawe how to dla slackware oraz ciekawy man z opisem opcji modułu bonding

Pobawię się i dam cynę

na tą chwilę thx michas100.

Ps. Bawił się ktoś bondingiem team ? lepszy / gorszy od bondingu & ifenslave ?
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
Awatar użytkownika
michas100
Użytkownik
Posty: 316
Rejestracja: 2009-06-23, 07:56
Lokalizacja: Włocławek
Kontakt:

Re: Forward eth to eth transparent

Post autor: michas100 »

Jednak będziesz miał na wyjściu do WAN dwie skręki UTP, będzie musiało cos zebrać ten interfejs cos np. switch(zarządzalny np ciscowy) z ETHERCHANNEL , a co ze switcha wyjdzie? jedna skrętka?, czy moze router wanoski to sprzęt np. ciscowy? żeby mozna było w pełni wykorzystac ETHERCHANNEL?

Chyba że... router WAN to komputer z dwoma interfejsami tez zbondowanymi wtedy skrosowanymi skrętkami mozna by bezpośrednio połaczyć tak:

router WAN bond0 -------cross-------bond0router
-------cross-------
slackware student :-)
ObrazekObrazek
Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: Forward eth to eth transparent

Post autor: Pajaczek »

router WAN to musi być maszyna z 2 interfejsami (albo musi być po drodze coś co zbiera z 2x1Gbit na szybsze medium), inaczej bez sensu było by zdanie:
webster pisze:Sieci są gigabitowe = nie chcę tracić przepustowości = gigabit, niech zostanie dalej gigabitem. Wchodzi i wychodzi full speedem.
webster pisze:O tyle jest to problematyczne, że jeden i drugi ma ten sam next hop do WAN wiec ip route table odpada.
A dlaczego odpada? tyle że różne table, do tego ip rule, i np. marki w iptables -t mangle.
Jeżeli tą metodą udało mi się kiedyś zrobić router z tylko 1 sieciówką a dwoma łączami w świat (nie pomnę ile było sieci wewnętrznych... oczywiście odseparowanych od siebie). Oczywiście było jeszcze coś poza routerem co rozdzielało... pseudointeligentny switch... ale fizycznie router miał tylko 1 interface.
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Forward eth to eth transparent

Post autor: webster »

Pajaczek pisze:router WAN to musi być maszyna z 2 interfejsami (albo musi być po drodze coś co zbiera z 2x1Gbit na szybsze medium), inaczej bez sensu było by zdanie:
webster pisze:Sieci są gigabitowe = nie chcę tracić przepustowości = gigabit, niech zostanie dalej gigabitem. Wchodzi i wychodzi full speedem.
?? Każde z sieci niech wchodzi pełnym speedem w lan - czego tu nie kumać ?
Pajaczek pisze:
webster pisze:O tyle jest to problematyczne, że jeden i drugi ma ten sam next hop do WAN wiec ip route table odpada.
A dlaczego odpada? tyle że różne table, do tego ip rule, i np. marki w iptables -t mangle.
Jeżeli tą metodą udało mi się kiedyś zrobić router z tylko 1 sieciówką a dwoma łączami w świat (nie pomnę ile było sieci wewnętrznych... oczywiście odseparowanych od siebie). Oczywiście było jeszcze coś poza routerem co rozdzielało... pseudointeligentny switch... ale fizycznie router miał tylko 1 interface.
Właśnie, miałeś dwa różne wyjcia w świat, co oznacza, że każde z tych "światów" miało osobną bramę, która była next hop.

To co podał michas jest odpowiedzią na moje pytanie - będzie działać - powinno, znajdę tylko chwilę na zabawię.

dzisiaj padam już na twarz.

Pozdr0
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: Forward eth to eth transparent

Post autor: Pajaczek »

webster pisze:
Pajaczek pisze:router WAN to musi być maszyna z 2 interfejsami (albo musi być po drodze coś co zbiera z 2x1Gbit na szybsze medium), inaczej bez sensu było by zdanie:
webster pisze:Sieci są gigabitowe = nie chcę tracić przepustowości = gigabit, niech zostanie dalej gigabitem. Wchodzi i wychodzi full speedem.
?? Każde z sieci niech wchodzi pełnym speedem w lan - czego tu nie kumać ?
Teraz nie kumam... nie kumam kto mógłby czegoś nie kumać?
Przeczytaj jeszcze raz uważnie, bo to odniesienie powyżej nie ma sensu. Przypominam, odnosiłem się do wątpliwości Michasia.


webster pisze:Właśnie, miałeś dwa różne wyjcia w świat, co oznacza, że każde z tych "światów" miało osobną bramę, która była next hop.
A co ma do tego next hop? Twierdzisz że niemożliwy jest load balancing na 2 (lub więcej) łączach pomiędzy 2 bezpośrednio spiętymi ze sobą maszynami?
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Forward eth to eth transparent

Post autor: webster »

Pajączek, nie chcę by przez WAN 2Gbit wychodziło - chcę by 1Gbit + 1Gbit wchodziło w LAN.

Pajączek, to nie chodzi o to jaka sieć poleci na WAN w lanie, tylko która sieć wejdzie którym interfejsem do lanu - po prostu do lanu , what ever na jaki ipek. Kwestia wydzielić by jedna sieć weszła w lan eth0 druga eth1.
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: Forward eth to eth transparent

Post autor: Pajaczek »

Ależ ja Cię rozumiem (wciąż mam przynajmniej taką nadzieję)... i moim zdaniem tak jak przedstawiłem da się to rozwiązać, choć sprawdzać tego teraz nie mam ani jak, ani kiedy.

Co do 1Gbit + 1Gbit:
Na początku napisałeś że masz router z 2 interfejsami gigabitowymi w stronę WAN, we wspólnej puli adresowej, odpowiednio eth0 = 192.168.0.10 i eth1 = 192.168.0.11; Oraz 2 inne sieci i że chcesz jedną z tych dodatkowych sieci komunikować zawsze przez jeden, a drugą zawsze przez drugi interfejs - jak na razie wszystko się zgadza?

W pewnym momencie Michaś podniósł wątpliwość (można tak powiedzieć?)
michas100 pisze:Jednak będziesz miał na wyjściu do WAN dwie skręki UTP, będzie musiało cos zebrać ten interfejs cos np. switch(zarządzalny np ciscowy) z ETHERCHANNEL , a co ze switcha wyjdzie? jedna skrętka?, czy moze router wanoski to sprzęt np. ciscowy? żeby mozna było w pełni wykorzystac ETHERCHANNEL?
która wydała mi się niespójna z założeniami... no bo skoro chcesz jak napisałeś
webster pisze:nie chcę tracić przepustowości = gigabit, niech zostanie dalej gigabitem. Wchodzi i wychodzi full speedem.
Oczywistym jest chyba że jest tam coś, co to "zbierze", po drugiej stronie tych 2 skrętek muszą być 2 inne porty (sieciówki) po 1Gbit każda... i albo jest to router WAN z 2 sieciówkami min 1Gbit w stronę LAN, albo switch z co najmniej 1 portem 2Gbit+ w stronę WAN i 2 portami 1Gbit+ w stronę LAN... inaczej nie spełniało by to założenia z postu pierwszego, a więc 1Gbit nie byłby 1Gbit full duplex.
Dodatkowo. Jeżeli po stronie wspomnianego routera jesteś w stanie postawić bondowanie portów, to i takie samo "ustrojstwo" powinieneś być w stanie postawić po drugiej stronie, czy to koniecznie musi być CISCO? No chyba że akurat ETHERCHANNEL byłby technologią dostępną wyłącznie w CISCO, ale wówczas nie prowadzili byśmy chyba tej dyskusji, bo a) instrukcja i możliwości sprzętu rozwiązywały by problem, b) i tak nie byłbyś w stanie postawić tej usługi na czymkolwiek innym niż CISCO (w tym na omawianym routerze z 4 sieciówkami).
I chociaż to nie jest w 100% to o czym pisałeś w pierwszym poście, to jest to rozwiązanie chyba lepsze.

Może nieporozumienie wprowadziło to, że w pierwszej części tamtej wypowiedzi odnosiłem się do Michasia i Jego wypowiedzi, a w drugiej do Twojego problemu... pomiędzy jest jedynie pusta linia.

Niemniej jednak wciąż utrzymuję (w przeciwieństwie do Ciebie), że dokładnie to o czym pisałeś, dało by się osiągnąć za pomocą: [iptables -t mangle -s pewna_pula -j MARK X] + [ip rules fwmark X table odpowiednia_tabela] + [ip route odpowiednia_tabela]. Skoro jednak uda Ci się z bondingiem, to pewnie nie prędko się o tym przekonamy ;-)
Awatar użytkownika
michas100
Użytkownik
Posty: 316
Rejestracja: 2009-06-23, 07:56
Lokalizacja: Włocławek
Kontakt:

Re: Forward eth to eth transparent

Post autor: michas100 »

Napisałem tak gdyż dla mnie oraz sprzętu -> typowego routera np. Cisco jest nie do zrobienia aby DWA interfejsy miały adres warstwy 3(OSI) z tej samej sieci. Dlatego chciałem bondować interfejsy i zastosować tam loadbalancing (np. roundrobin) z zachowaniem fizycznej przepustowości interfejsów.... jednak drugie urządzenie (po drugiej stronie musi również odebrać dwie skrętki jako jedno LOGICZNE medium)

Alternatywa :

Gdy router WAN jest komputerem z linuxem i również 2 sieciówkami x 2 gigabipsy (w bondingu) skrosowane UTP W -- STRONE -- już zbondowanego routera prowadzącego routing do LAN
Ostatnio zmieniony 2013-08-29, 19:47 przez michas100, łącznie zmieniany 1 raz.
slackware student :-)
ObrazekObrazek
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Forward eth to eth transparent

Post autor: webster »

Pajaczek, zrobiłem dla Ciebie test
Na gate [Ipki tego gate: 192.168.190/191; 192.168.40.2;192.168.5.2] ustawiłem

Kod: Zaznacz cały

ip route add table 100 via 192.168.0.190
iptables -t mangle -A PREROUTING -s 192.168.5.0/24 -d 192.168.0.0/24 -j MARK --set-mark 3525405
ip rule add fwmark 3525405 table 100

ip route add table 101 via 192.168.0.191
iptables -t mangle -A PREROUTING -s 192.168.40.0/24 -d 192.168.0.0/24 -j MARK --set-mark 3525406
ip rule add fwmark 3525406 table 101
Jak ustawiłem na table via 192.168.5.2 - czyli nie lanowy ipek i starałem się spingować coś z 192.168.0.0 to faktycznie gubił pingi, co potwierdza, że ping poleciał interfejsem(IP) który wskazałem. Musiałem dodać warunek w marku by -d był 192.168.0.0/24 i tylko wyłącznie tak, bo gubił pakiety spoza sieci 192.168.0.0 czyli np net.

Nie bardzo jednak w praktyce mogę udowodnić Twój pomysł. Z sieci 192.168.0.0 kiedy pinguję 192.168.40.253(taki tam ip) tracepath pokazuje że leci przez 190 mimo że podałem trasę:

Kod: Zaznacz cały

ip route add 192.168.40.0/24 via 192.168.0.191
 traceroute 192.168.40.253
traceroute to 192.168.40.253 (192.168.40.253), 30 hops max, 38 byte packets
 1  192.168.0.190 (192.168.0.190)  0.309 ms  0.295 ms  0.260 ms
 2  192.168.40.253 (192.168.40.253)  1.099 ms  1.213 ms  1.061 ms
Może weszło 191 tylko mi na tracpath odpowiedział 190 interfejsem ?

z 192.168.40.243 ping do 192.168.0.1

Kod: Zaznacz cały

raceroute 192.168.0.1
traceroute to 192.168.0.1 (192.168.0.1), 30 hops max, 38 byte packets
 1  192.168.40.2 (192.168.40.2)  0.978 ms  0.908 ms  0.884 ms
 2  192.168.0.1 (192.168.0.1)  1.665 ms  1.090 ms  1.072 ms
tutaj nie pokazuje gdzie wychodzi - tak więc słabo z potwierdzeniem
Ostatnio zmieniony 2013-08-29, 20:59 przez webster, łącznie zmieniany 3 razy.
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
Pajaczek
Użytkownik
Posty: 1439
Rejestracja: 2006-08-03, 13:16
Lokalizacja: Winny Gród

Re: Forward eth to eth transparent

Post autor: Pajaczek »

Michaś:

Kod: Zaznacz cały

root@sXXX:~# ip a | tail -n 15 | head -n 6; ip a a dev eth1 192.168.10.1/24; echo -e "\nPomiedzy komendami\n\n"; ip a a dev eth2 192.168.10.2/24; ip a | tail -n 17 | head -n 8
19: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc htb state DOWN qlen 1000
    link/ether 00:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 172.20.0.1/30 scope global eth1
20: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UNKNOWN qlen 1000
    link/ether 00:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 172.20.0.5/30 scope global eth2

Pomiedzy komendami


19: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc htb state DOWN qlen 1000
    link/ether 00:XX:XX:XX:XX:XX  brd ff:ff:ff:ff:ff:ff
    inet 172.20.0.1/30 scope global eth1
    inet 192.168.10.1/24 scope global eth1
20: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UNKNOWN qlen 1000
    link/ether 00:XX:XX:XX:XX:XX  brd ff:ff:ff:ff:ff:ff
    inet 172.20.0.5/30 scope global eth2
    inet 192.168.10.2/24 scope global eth2
Linux... rzeczy niemożliwe załatwiamy od razu... na cuda musicie chwilę poczekać. (ps head i tail w celu ukrycia reszty interfejsów - z adresami w tej samej sieci ;) ).
Ale teraz jasne jest skąd to Twoje zwątpienie.
Awatar użytkownika
webster
Użytkownik
Posty: 1269
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Forward eth to eth transparent

Post autor: webster »

no dobra dobra Pajęczak :) jak pomysły u mnie :) Masz propozycję sprawdzenia dokładnej trasy pakietów ?
Załączniki
Lan
Lan
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook
ODPOWIEDZ