Gå til innhold
Trenger du hjelp med internett og nettverk? Still spørsmål her ×

bridge lokale subnett


Anbefalte innlegg

Hjemme har jeg en router med 4 nettverkskort.

 

eth0 er forbindelsen til NGT router, 10.0.0.0/24

 

eth1 er til en lokal 100 mbit switchet nett med 3-4 pc'er, kalt "nett A", 10.0.1.0/24

 

eth2 er til et trådløst aksesspunkt, 10.0.2.0/24

 

eth3 er til et gigabit nett med 1 pc koblet til, kalt "nett B", 10.100.100.0/24

 

Det jeg ønsker å gjøre, er å bridge nett A til nett B - tror jeg.

 

Problemet er når vi spiller på LAN, så finner ikke pcen på nett B pcene på nett A, så kan noen si meg hva jeg må gjøre for å sette opp en bridge, og om det er mulig?

 

jeg har sett litt på brctl, og prøvd å lage en bridge med de to eth'ene som det gjelder her, men resultatet av det ble bare at begge nettene mistet forbindelsen til noe som helst.

Lenke til kommentar
Videoannonse
Annonse

Hvis du skal ha et rutet nett, må du finne deg i at trafikken må gå via routeren. Interfacene for Nett A og Nett B må konfigureres med rutetabeller (som inneholder destinasjonsnett, subnettmaske, default gateway og inteface). Det enkleste i din situasjon er trolig å gå for en enkel routing-protokoll som RIP - så slipper du all den manuelle konfigurasjonen.

 

En bridge er for alle praktiske formål å anse som en switch. Den opererer på lag2, med MAC-adresser. Problemet ditt ligger på lag3 - du har ulike nett. Få dem til å snakke først.

 

 

Men bruker du ikke RIP:

Sett opp Eth3 til å rute alle pakker som skal til 10.0.1.0/24 til Eth1 og vice versa.

 

Det skulle gjøre susen.

Lenke til kommentar

Du må route nettene i routeren.

 

Forutsetter at adressen på interfacene heter 10.0.1.1 og 10.100.100.1

 

enable

conf t

ip route 10.0.1.0 255.255.255.0 10.0.1.1

ip route 10.100.100.0 255.255.255.0 10.100.100.1

write

logout

 

Nå stiller jeg spørsmål ved hvorfor du i det hele tatt har en router midt i nettet og har delt det opp i subnett? Men det er ikke min sak, du får iallefall lært deg IOS og routing etterhvert da!

 

timtowtdi

Lenke til kommentar

rutene fungerer fint, problemet er ved spilling - maskiner på nett A finner ikke maskiner på nett B fordi de ikke er på samme subnett.

 

så jeg lurer på om jeg kan sette opp ruteren til å bridge de to nettene?

 

EDIT: Det gikk ikke så bra fram ser jeg, men nettet fungerer fint slik det er idag, som en ruter med 3 subnet, og har gjort det i lang tid. problemet oppstod nå i det siste med den ene maskinen som er satt ut på eth3.

 

Hvorfor rute nettet slik jeg gjør:

eth3:

jeg har et gigabitkort til den ene pc'en, så å koble den i 100 mbit switchen ville vært bortkastet. derfor den er plugget rett i eth3 gigabittkortet på ruteren

 

eth2:

jeg får ikke satt krypteringsnøkler på trådkøspunktet, så jeg gjør MAC filtrering i ruteren istedet.

 

NGT ruteren strekker tydeligvis ikke til til de mulighetene jeg her vil ha for enttet mitt, så jeg har derfor satt opp en egen ruter koblet til NGT ruteren, eth0

 

resten av maskinene hjemme sitter på 100 mbit switchen på eth1-nettet

Endret av Torbjørn
Lenke til kommentar

Det er en Cisco-router du har?

 

Jeg forstår ikke helt den Gb-problematikken. Den fete linja stopper vel uansett i routeren, så du får egentlig aldri brukt den båndbredden

 

Men uansett: Hvis nettene fungerer feilfritt i alle andre sammenhenger, bare ikke ikke med bestemte spill, så må vel problemet ligge der. Det er ikke aksesslister i sving?

Lenke til kommentar

ruteren er en Duron 1.3 GHz linux installasjon - gigabit er satt opp som en test mtp filoverføring og grafiske applikasjoner over nett.

 

Jeg regner med spillet setter opp en server som broadcaster til lokalt nett, og at maskinen på 10.100.100.0/24 ikke derfor får med seg hva som skjer på 10.0.1.0/24

 

Så hvis jeg kan få til å forwarde, (bridge), det ene nettet til det andre, eller slå sammen nettet til ett - jeg vet ikke hvordan jeg bets skal beskrive det - ville det vært meget interessant læring om ikke annet.

Lenke til kommentar

Hei .

 

Jeg synes bestandig at det enkleste er det beste . Mitt forslag er : Sett opp disse tre nettene med samme nettverksmaske 10.0.1 , og tre forsjellige DHCP scopes.

Eth 1 : 10.0.1.10-10.0.1.50

Eth 2 : 10.0.1.70-10.0.1.125

Eth 3 : 10.0.1.150-10.0.1.200

 

Alle skal bruke 255.255.255.0

 

På denne måten vil alle maskinene på nettet ditt kunne snakke sammen , samtidig som de vil jobbe som 3 forsjellige nett .

 

Når det gjelder Gigabit nett , så er det 3 tilg du må ha for å få gigagit hastighet : minimum 2 pc`er med gigabit nettverkskort

Nettverkskabler Tp kategori 6 !!

Gigabit switch eller ruter .

 

Du skriver at du har 1 PC med gigabit nettverkskort hjemme. Det betyr at når den PC`en "snakker" med de andre PC`ene i nettet ditt , kan den maks oppnå 100 Mbs med disse (mindre med de trådløse maskinene). Når du får deg en PC nr2 i nettet med gigabit nettverkskort , kan de 2 PC`ene snakke sammen med gigabithastighet , men til alle andre PC`er kun 100 Mbs . I tilegg , hvis du har en normal nettvekskabel , er det TP kategori 5 , som ikke støtter høyere overføringshastighet enn 100 Mbs.

 

Jeg ville lagt den PC`en inn i et av de andre DHCP scopene , og endt opp ned 2 nett , et kablet og et trådløst . Så lenge begge har samme nettverks-identifikator ( 10.0.1) vil de snakke sammen som om de var et nettverk .

Lenke til kommentar

serveren kjører de tjenestene den er ment å kjøre og fungerer 100% slik det er ment utfra subnettoppdelingen jeg har.

 

"bridging" vil i prinsipp si at alle pakker fra et nett blir sendt til alle pakker på et annet nett, som om nettene var koblet sammen (hvilket en bridge gjør)

 

En switch (såvidt jeg skjønner) er en multiport bridge, som kobler sammen et nettverk av flere maskiner.

 

Det jeg så vil gjøre, er å få linuxserveren til å bruke to nettkort, med tilhørende to subnett, som en switch med to porter.

 

Og det har jeg nå også fått til.

 

Det var meget interessant og meget lærerikt! Her er hva jeg hadde på serveren og hva jeg gjorde:

 

FØR

Før var alt fint og problemfritt, da hadde vi dette oppsettet

http://sirius.isa-geek.org/~lindahl/net_before.png

et fastnett, et trådløst nett, og en oppkobling mot NGT ruteren. 3 subnett mao, hver markert med lyseblått og bitmaske skrevet ut i bobla.

 

UNDERVEIS

Jeg investerte i to gigabitt nettverkskort av ren nysgjerrighet, og satte det ene i linuxserveren og det andre i min maskin, slik tegningen viser:

http://sirius.isa-geek.org/~lindahl/net_middle.png

Dette fungerte fint, jeg gikk fra 8 mb/sek til 12 mb/sek mellom meg og servern (hurra) men det fungerte bra og jeg får se om hele nettverket blir slengt på gigabit med en switch etter hvert.

 

Men følgende problem oppsto - jeg kunne ikke lengre spille med maskinene på 100-mbit nettet, dette gjaldt for flere LAN type spill. Så jeg satt med to kabler inntil videre, og plugget i etter behov.

 

Det var derfor jeg spurte slik jeg spurte i denne tråden. Men etter å ha søkt litt rundt og prøvd meg fram, lyktse det til slutt å sette opp linuxserveren som en bridge mellom de to nettene på eth3 og eth1, slik vist nedenfor.

 

TIL SLUTT

Nettet ser nå slik ut:

http://sirius.isa-geek.org/~lindahl/net_after.png

 

PC 1 får svar på lokalnett forespørsler fra PC 2 og PC 3, og LAN spilling ser ut til å fungere fint!

 

"lan" er betegnelsen på bridge-device'en i redhat serveren. denne kan beraktes som en skalgs container med flere interfaces i, i dette tilfellet eth1 og eth3, mulig jeg også legger til eth2 i samme nettet etter hvert, slik at trådløsnettet blir lagt på lokalnettet.

 

Så, oppskriften var følgende på en redhat server:

# må først installere brctl pakker fra rhn.redhat.com:
root@master[~]# up2date -i brctl
root@master[~]# up2date -i brctl-devel

# deretter lage bridge-device'n, lan
root@master[~]# brctl addbr lan

# legger så inn nettkort som skal være med i denne:
root@master[~]# brctl addif lan eth1
root@master[~]# brctl addif lan eth3

# setter så IP på nytt device
root@master[~]# ip addr add 10.0.1.1/24 dev lan brd + scope global

# må så fjerne informasjon fra interface som er med i bridgen
root@master[~]# ip addr del 10.0.1.1/24 dev eth1
root@master[~]# ip addr del 10.100.100.1/24 dev eth3

# følgende informasjon står nå for "lan"-bridgen
root@master[~]# ip addr show lan
14: lan: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue
   link/ether 00:08:a1:3c:3c:85 brd ff:ff:ff:ff:ff:ff
   inet 10.0.1.1/24 brd 10.0.1.255 scope global lan

# ting ser ikke så verst ut, for eth1 og eth3 ser det slik ut:
root@master[~]# ip addr show eth1
3: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
   link/ether 00:10:dc:92:bf:e1 brd ff:ff:ff:ff:ff:ff
root@master[~]# ip addr show eth3
5: eth3: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
   link/ether 00:08:a1:3c:3c:85 brd ff:ff:ff:ff:ff:ff

# verd å merke seg at begge står i "promiscous mode" - 
# som en naturlig del av at de forwarder alle pakker mellom nettene.
# - og ikke lenger har ip informasjon.

# og så tilslutt, opp og kjøre!

root@master[~]# ip link set lan up

 

se følgende side for hvordan bruke ip kommando:

http://lartc.org/howto/

 

EDIT: manglet litt på koden

Endret av Torbjørn
Lenke til kommentar

kommentar til rogersj:

jeg er 90% sikker på at din løsning ikke vil fungere. hvordan skal pc'ene på nett 1 vite at resten av nettet ligger på gjennom ruteren på andre subnett? det er dette man tilordner default gateway til, og det man bruker nettverksadresse til for å kunne vite hvor man skal sende pakkene.

 

med andre ord, hvis en PC vil koble til en annen pc, sjekker den ip'en til den andre pcen opp mot sin egen ip konfigurasjon og rutetabell, hvis den er innenfor samme nettverksadresse, spør den alle pc'er etter MAC adressen med den gitte ipen, noe den da ikke vil finne, siden pc'en her står på et annet nett, og ruteren ikke er satt opp til å sende pakker videre uten videre.

 

Vang1: gigabitt nettet har ingenting med saken å gjøre, det kunne like gjerne vært et ekstra nettkort på 100 mbit jeg hadde den ene PC'en på.

 

Men ja, jeg har (selvsagt) et gigabittkort i begge ender, men jeg bruker riktignok cat 5 kabel mellom dem. skal prøve med en cat 6 kabel senere og se hva det har å si.

Lenke til kommentar

kan være interessant å vise dette også - rutetabellen etter bridging:

root@master[~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
10.0.1.0        0.0.0.0         255.255.255.0   U         0 0          0 lan
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth2
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 eth0

 

eller med ip route show:

root@master[~]# ip route show
10.0.0.0/24 dev eth0  scope link
10.0.1.0/24 dev lan  proto kernel  scope link  src 10.0.1.1
10.0.2.0/24 dev eth2  proto kernel  scope link  src 10.0.2.1
127.0.0.0/8 dev lo  scope link
default via 10.0.0.1 dev eth0

 

man ser her at interfacet "lan" kommer opp med rute til 10.0.1.0/24 nettet, slik det er ment!

Lenke til kommentar

rogersj: Du vil ikke ha tre nett med den subnettmaska der, men et enkelt.

 

Torbjørn:

En bridge forholder seg til frames og segmenterer ETT nett, f.eks 10.0.1.0-nettet. Den bruker MAC-adresser, ikke IP-adresser. Du kan ikke får tildet du ønsker med en bridge.

 

Jeg har ikke kikka på den rhat-softwaren, men det du gjør er å lage en bridge ut av linux-boksen. Routern ruter mellom ulike nett, bridgen effektiviserer hvert enkelt nett.

 

Den netstat -rn outpu'en ser ikke god ut. Alle hat jo 0.0.0.0 som gateway.

 

Du trenger ikke en bridge nettet ditt, slik jeg ser det.

Lenke til kommentar

vet ikke hvor nøye du har lest det jeg skrev, men jeg mener jeg har fått til det jeg ville.

 

jeg har slått sammen to nettsegmenter til et nett ved å sette opp en bridge imellom dem, ie tidligere 10.0.1.0/24 og 10.100.100.0/24 er nå 10.0.1.0/24 slik at maskinene som tidligere var adskilt nå har kontakt som om de sto på felles switch. selvom de fortsatt står på forskjellige interface på serveren.

 

netstat output som vist der, ser ut som det gjør på alle linux bokser/rutere jeg har vært borti...

hvordan mener du det skal se ut?

 

Uten bridgen får jeg ikke direktekontakt mellom nettsegmentene uten å gå via gatewayen - mener jeg har sagt fra ganske klart at det var det jeg ønsket å oppnå i nesten hver eneste post av meg nedover denne tråden?

 

den nederste figuren i min lange post viser hvordan det er nå, og hvordan jeg har et felles nett over to interface, vha bridging.

Lenke til kommentar

Jeg hadde veldig dårlig tid i stad, så det gikk litt (for) fort.

 

Det du har gjort et å slå sammen to nettverk til et enkelt. 10.100.100.0 nettet er borte og i praksis har du plugget en switch (bridge) i en switch og laget et stort broadcastdomene der du før hadde to, atskilt av routeren. Interfacene som inngår i bridgen på serveren, blir å anse som to porter i en switch. Og dette nettverket (10.0.1.0) er delt opp i flere segmenter.

 

Effekten er den samme som om du hadde satt en switch mellom 100Mb-switchen og Eth1 og koblet PC1 i denne (og ikke brukt Eth3 i det hele tatt), borsette fra at båndbredden mellom PC1 og Eth3 er 1Gb.

 

Nettet ville faktisk blitt renere om du hadde plugget PC1 rett i 100Mb switchen.

 

Det du snakket om i stad var å bridge to nett. Det virket som du ville at linux-boksen skulle være både router og bridge over de samme interfacene. Det må gå galt.

 

Men når det er sagt: Jeg skjønner fortsatt ikke hvorfor alt dette styret er nødvendig. Spillene støtter jo tcp/ip, så de skal finne hverandre så sant host og/eller applikasjon er rett konfigurert. Normalt skal spillet kun behøve ip-adressen. Tcp/ip-konfigurasjonen på host skal håndtere resten.

 

Hvilke spill er det snakk om?

Lenke til kommentar

ok, skjønner forvirring, med "bridge to nett" mente jeg altså

 

C&C Generals i dette tilfellet. jeg prøvde å angi IP direkte på nabonettet, men dette fungerte ikke. Jeg vet ikke detaljene i hvordan dette spillet gjør det, men jeg kan tenke meg at det forholder seg til lokalt LAN når man går inn på den menyen.

 

Grunnen til at jeg har PC 1 i eth3 er at jeg har kjøpt inn 2 gigabitt nettkort som jeg ville prøve. (ie teste filøverføring mot server og se etter forskjeller i grafiske applikasjoner over nett)

 

som du ser, så satt PC 1 i switchen tidligere, som det går fram av figuren under kategorien "FØR", her:

http://sirius.isa-geek.org/~lindahl/net_before.png

Lenke til kommentar

Selv om det virker som dere har fått alt til å fungere vil jeg bare kaste ut min mening her.

 

IP Routing er læren om hvordan man skal levere pakker. Ikke noe annet enn det.

 

Det at C&C Generals bare leter/sender ut på lokalnettet er vel ikke helt korrekt siden at mange windows brukere velger wingate vpn når de vil spille en "lan" kamp med sine venner. Såvidt jeg vet er det faktisk helt normalt at spillene prøver alle ip adressene som er satt av til internt bruk.

 

Altså disse:

 

10.0.0.0 - 10.255.255.255

172.16.0.0 - 172.31.255.255

192.168.0.0 - 192.168.255.255

 

Og en vpn setup er som regel satt opp med forskjellige subnets t.ex 192.168.1.x og 192.168.2.x (alt annet er for avansert for de som bare vil spille "lan" over internett, selv om det finnes løsninger for det også)

 

Så det som jeg mener skjedde her var at du hadde en feil i oppsettet av nettverket, som gjorde at pakkene ikke ble levert korrekt (husk begge veiene!). Grunnen til at jeg sier dette er pga. jeg har nettopp gjort noe ganske lignende selv og det er enkelt å glemme en liten men viktig ting, den eneste forskjellen var at jeg hadde en ruter som midtpunkt og ikke en linux boks.

Endret av pantrax
Lenke til kommentar

jeg forstår ikke hva som kan være feil med rutene jeg har.

 

linuxruteren NAT'er pakker utover, dvs ut mot 10.0.0 nettet

 

fra 10.0.1 nettet (100 mbit lan), kommer jeg inn på tjenester på 10.0.2 nettet. netstat viser "sann" ip i begge ender (dvs NAT'ing slår ikke inn på lokaltrafikken gjennom lokalnettene

 

jeg prøvde med C&C Generals fra 10.100.100 nettet jeg hadde først. da fant jeg ingen spill som ble "hostet" på 10.0.1 nettet. (det kommer opp en liste med tilgjengelige spill) jeg prøvde så å koble til manuelt, ved å angi ip direkte, men ingen respons.

 

På samme lokalnett fungerer alt smertefritt. Dette var i tillegg meget interessant læring ;)

Lenke til kommentar

hm.. ser at jeg glemte å fullføre første linje i min post 2 hakk oppover.

 

mens jeg satt på 10.100.100.2, prøvde jeg manuelt å koble til et spill som ble hostet på 10.0.1.4 - uten å lykkes. spillet kom heller ikke opp som det skulle i listen over spill tilgjengelige.

 

mener du pantrax at det er vanlig i slike situasjoner at programmet skanner gjenneom samtlige lokale iper etter tilgjengelige spill?

 

jeg skal prøve å koble tilbake (legge ned broen) og sette opp som det var med separat gitabitt nett, og sitte med iptraf oppe og se hva som skjer gjennom ruteren.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...