Linux gooit niet meer dan een ip online

Pagina: 1
Acties:

  • bruto
  • Registratie: Juni 2001
  • Laatst online: 13-07 15:44

bruto

Druktemaker.

Topicstarter
Hallo,

Ik heb een server met de volgende specs:

RedHat Linux 6.1
Kernel 2.2.18
PMFirewall met de volgende config:
eth0 = 100Mbit Ext. 130.X.X.14
eth1 = 100Mbit Ext. 130.X.X.18
eth2 = 100Mbit Int. 192.168.0.1
eth3 = 100Mbit Ext. 130.X.X.10
3COM 905 TX-M NIC's

De internal interface (eth2) hangt aan een switch die een aantal users van internet voorziet. De rest hoort allemaal op de AIX te hangen :7
Als ik nu op SSH inlog op bijv. de .18, dan check ik dmv naar me eigen ftp server te surfen het IP waar ie mee inlogged. Dan staat er dus altijd .14 :?

Iemand die hier ervaring mee heeft en eventueel zijn oplossing met mij kan delen?
Andere guru's die zich dood lachen om mijn (st00pid) probleem? ;)

The more you know, the more you know you don't know.


Verwijderd

De internal interface (eth2) hangt aan een switch die een aantal users van internet voorziet. De rest hoort allemaal op de AIX te hangen
Als ik nu op SSH inlog op bijv. de .18, dan check ik dmv naar me eigen ftp server te surfen het IP waar ie mee inlogged. Dan staat er dus altijd .14
Mooie server.

Hoe ftp je naar jezelf op die server? met 'ftp localhost'? 'ftp 192.168....'? of over een ander IP?

Als je niet via 127.0.0.1 naar jezelf ftp'd zal ie het extern proberen (neem ik aan) en dus de eerste poort naar buiten nemen om via dezefde weg weer naar binnen te komen - de .14 dus. Vergeet niet dat alleen 127.0.0.1 naar binnen verwijst, de rest verwijst allemaal naar buiten.

  • bkor
  • Registratie: November 2000
  • Niet online
Kijk naar je route tabellen (route -n), de default route staat naar eth0 en dan pakt ie je eth0 IP adres.

  • Xandrios
  • Registratie: Februari 2001
  • Laatst online: 17-08 17:33
De rest hoort allemaal op de AIX te hangen :7
volgensmij heb jij het allemaal wel GOED voor elkaar :P

  • bruto
  • Registratie: Juni 2001
  • Laatst online: 13-07 15:44

bruto

Druktemaker.

Topicstarter
Ik ftp dan naar me thuis hier.
Dus in dit geval:

ftp 212.187.X.X 21

The more you know, the more you know you don't know.


  • bruto
  • Registratie: Juni 2001
  • Laatst online: 13-07 15:44

bruto

Druktemaker.

Topicstarter
Kijk naar je route tabellen (route -n), de default route staat naar eth0 en dan pakt ie je eth0 IP adres.
Kan ik er dan ook meerdere instellen?

The more you know, the more you know you don't know.


  • bkor
  • Registratie: November 2000
  • Niet online
Op vrijdag 29 juni 2001 23:57 schreef BRuTo het volgende:

Kan ik er dan ook meerdere instellen?
Ja, gebruik dan de metric optie van route. Zodra de ene interface niet meer werkt, zal Linux de volgende interface gebruiken (in theorie dan).

  • bruto
  • Registratie: Juni 2001
  • Laatst online: 13-07 15:44

bruto

Druktemaker.

Topicstarter
Hallo,

Thnx voor je reactie.
Wat ik eigenlijk bedoel, is dat linux erg strange doet. Ik wil dus dat als er naar .18 geconnect wordt, dat ie dan ook echt op de .18 inlogged, en dan tijdens die sessie ook traffic maakt op .18. Ik draai nl. een ftp servertje op een campus, en daar hebben we nasty traffic limits. :'( Nu hebben we wat buurmannen en vrouwen omgekocht en die internetten nu via de server. In ruil voor hun 100Mbit lijntje 8-)

Maar, als hij dus telkens alles via een ip doet, dan heeft het dus vrij weinig zin om er meerder lijnen in te doen. :(

Thnx

The more you know, the more you know you don't know.


  • Horus
  • Registratie: Juli 2000
  • Laatst online: 02-07 22:25
Ik heb exact het zelfde probleem, je kan heel fijn naar het IP van eth1 connecten, maar alle traffic loopt toch over eth0.
Nu heb ik iets gehoord over een proggie 'multilink' maar kan daar verder niks over vinden.
Iemand ?

  • Rudoli
  • Registratie: Juni 1999
  • Laatst online: 28-04-2025
Gooi de output van:

netstat -nr eens online, ik snap je probleem niet, (misschien dan wel)

  • Horus
  • Registratie: Juli 2000
  • Laatst online: 02-07 22:25
root@horus:~# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
130.89.0.0 0.0.0.0 255.255.0.0 U 40 0 0 eth0
130.89.0.0 0.0.0.0 255.255.0.0 U 40 0 0 eth1
10.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 eth2
10.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 eth3
127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo
0.0.0.0 130.89.220.1 0.0.0.0 UG 40 0 0 eth0


De bedoeling is dus, dat als je van buitenaf met het ip van eth1 connect (bv FTP) dat de data ook over de link van eth1 gaat. Momenteel is het zo dat je naar het ip van eth1 connect, maar dat de data altijd over de link van eth0 gaat ( dus ook als je naar eth0 connect).
Beetje duidelijk zo ?, anders kun je me natuurlijk ook ICQ-en, wil dit zeer graag gefixed hebben.

  • Bigs
  • Registratie: Mei 2000
  • Niet online
Op zondag 01 juli 2001 01:46 schreef BRuTo het volgende:
Hallo,

Thnx voor je reactie.
Wat ik eigenlijk bedoel, is dat linux erg strange doet. Ik wil dus dat als er naar .18 geconnect wordt, dat ie dan ook echt op de .18 inlogged, en dan tijdens die sessie ook traffic maakt op .18. Ik draai nl. een ftp servertje op een campus, en daar hebben we nasty traffic limits. :'( Nu hebben we wat buurmannen en vrouwen omgekocht en die internetten nu via de server. In ruil voor hun 100Mbit lijntje 8-)

Maar, als hij dus telkens alles via een ip doet, dan heeft het dus vrij weinig zin om er meerder lijnen in te doen. :(

Thnx
Het is een en dezelfde bak, dus dat maakt niet uit. Voor wat jij doet heb je niet eens meerdere interfaces nodig (gewoon IP aliasing voldoet ook wel).
Als jij vanaf die bak een verbinding maakt zoekt het OS in zijn routetabellen op via welke if hij naar jouw bestemming kan en eth0 zal dan meestal bovenaan staan.
De enige uitzondering hierop zijn bijvoorbeeld sommige IRC clients, die hebben vaak de mogelijkheid om een IP op te geven waarmee je wilt verbinden.

  • Horus
  • Registratie: Juli 2000
  • Laatst online: 02-07 22:25
Ja maar dat is dus het probleem, eth0 mag niet zoveel traffic maken, de traffic zal verdeeld moeten worden,
over de verschillende ip's

  • Bigs
  • Registratie: Mei 2000
  • Niet online
Dan zul je een load-balancer moeten installeren, maar volgens mij kan dat alleen als je die als losse bak ervoor zet. Waarom moet dat traffic eigenlijk verdeeld worden (als ik zo vrij mag zijn :))?

  • Horus
  • Registratie: Juli 2000
  • Laatst online: 02-07 22:25
Maar ook dat is niet de bedoeling, simpel komt het er gewoon hier op neer:

het moet zo:
connect met eth0 => traffic gaat over eth0
connect met eth1 => traffic gaat over eth1
ect.

Maar nu is het zo dat:
connect met eth0 => traffic gaat over eth0
connect met eth1 => traffic gaat over eth0

  • Horus
  • Registratie: Juli 2000
  • Laatst online: 02-07 22:25
En het verdelen van de traffic is nodig omdat ik hier maar 50GB/week per link mag maken, en dat is een beetje te weinig voor mijn 'praktijken' if u know what i mean. Dus heb ik meerdere links in me server zitten, maar nu loopt alle traffic nog steeds over één link :(

  • Horus
  • Registratie: Juli 2000
  • Laatst online: 02-07 22:25
Iemand ?

  • Bigs
  • Registratie: Mei 2000
  • Niet online
Wat jij wil kan gewoon niet :) Niet met Linux iig (weet niet waarmee wel). Ik snap ook niet helemaal waarom je het zo vreemd vind. Als je via die interne interface connect en je vraagt bijv. een website op dan zou dat toch ook niet via die interne interface gaan?

Verwijderd

Tuurlijk kan zoiets wel :)
Gewoon met shapping gaan liggen spelen om de load te verdelen over meerdere interfaces.
Zie vooral ook de advanced routing HOWTO op www.linuxdoc.org (moet je wel wat verstand van networking hebben).

  • Wilke
  • Registratie: December 2000
  • Laatst online: 13:11
Op zondag 01 juli 2001 01:46 schreef BRuTo het volgende:
[....] Ik draai nl. een ftp servertje op een campus, en daar hebben we nasty traffic limits. :'( Nu hebben we wat buurmannen en vrouwen omgekocht en die internetten nu via de server. In ruil voor hun 100Mbit lijntje 8-)
[...]
Ah, je woont op de campus in Enschede! >:)

Cool, nieuwe manieren om de datalimiet te omzeilen!

Om wat voor soort traffic gaat het. Laat me een gok wagen, FTP >:) of HTTP of SMB of nog iets anders?

Want je zult hiervoor inderdaad een load balancer nodig hebben, bij mijn weten kan het niet op een andere manier (ten minste niet in Linux, wie weet in FreeBSD maar ik zou er niet te hard op rekenen).

Linux redeneert gewoon simpelweg zo: er komt een pakketje vanaf .14. Prima. Er moet een pakketje terug naar de versturende host. Wat voor IP had die? Hmmm, dat kan ik dan versturen via...eth0. Eth0 kan altijd omdat alles immers dezelfde netmask heeft. Dus worden eth1 en eth3 nooit gebruikt :'(

  • Coen Rosdorff
  • Registratie: Januari 2000
  • Niet online
Je zal iig ook een default-route naar eth1 moeten maken. En dan nog iets vogelen met source of policy-routing.

Met de advanced routing functies moet het wel kunnen.
Ik draai nl. een ftp servertje op een campus, en daar hebben we nasty traffic limits. :'(
BTW mensen zoals jij zorgen ervoor dat dit soort netwerken onmogelijk worden.

  • Horus
  • Registratie: Juli 2000
  • Laatst online: 02-07 22:25
Dit heeft toch eigenlijk niks met traffic sharing te maken ...
Kijk, de bouncer zorgt er wel voor dat de verschillende IPs om de beurt worden aan gesproken, maar wat ik wil is dat als een bepaald ip van buiten worct aan gesproken, de data ook via dat ip gaat en dat is niet het geval. En het interne backend verhaal staat hier dus voledig buiten.
Nog een keer het hele verhaal:

Er draait een server .. met 2 ips naat het internet laten we zeggen x en y(met x=>eth0 en y=>eth1) . Als er nu een ftp verbinding met ip x wordt gemaakt loopt de traffic netjes ook via x, wordt er nu met y geconnect dan loopt de traffic nog steeds via x omdat dat blijkbaar de default is ofzo. En ik wil dus dat als er naar y wordt geconnect ook de data via y loopt.

Verder zitten er nog interne links op eth2 en 3 maar die doen niet mee in dit verhaal.

Ik hoop dat het zo duidelijk is....?

  • Wilke
  • Registratie: December 2000
  • Laatst online: 13:11
* Wilke bedenkt net een andere oplossing

Een loadbalancer werkt niet, dan heb je alsnog 1 extern IP en dat moet juist niet dus :'(

Wat je wel kunt doen, is telkens 1 netwerkkaart activeren en daar een route naar aanmaken.

Dan moet je op een of andere manier het verkeer door die kaart monitoren en als dat in de buurt van de 50G komt de netwerkkaart uitschakelen en een volgende inschakelen (en de route aanpassen naar de nieuwe kaart, uiteraard)

Nadeel is wel dat op het moment van omschakelen ineens de server van het ene IP verdwijnt en op een ander IP opduikt - nogal verwarrend voor de gebruikers misschien. Maar volgens mij kom je daar sowieso niet omheen....

Zie je iets in deze oplossing (snap je de voor- en nadelen?), dan wil ik best ff helpen wat scriptjes te maken die dit daadwerkelijk regelen.

Laat hier maar horen dan...

  • Horus
  • Registratie: Juli 2000
  • Laatst online: 02-07 22:25
Op maandag 03 september 2001 17:40 schreef little_soundman het volgende:
Je zal iig ook een default-route naar eth1 moeten maken. En dan nog iets vogelen met source of policy-routing.

Met de advanced routing functies moet het wel kunnen.
Ja zoiets dacht ik idd ook, al maar ik ben geen expert op dit gebied en omdat ik weet dat meerdere mensen zo hun traffic limiet willen uitbreiden had ik gehoopt dat iemand dit al had gedaan, en een concept had uitgewerkt.

  • Rudoli
  • Registratie: Juni 1999
  • Laatst online: 28-04-2025
Met het load balancing kan ik je niet helpen :? . Static routes naar je vrienden opzetten lost waarschijnlijk je probleem al op (zijn waarschijnlijk toch altijd dezelfden die de problemen veroorzaken >:))

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Kan je niet gewoon met een crontab ofzo je default route naar buiten steeds roteren over je drie lijntjes?
Dat ie dus eens in de zoveel tijd switched... ?

Please do not contact me telepathically.


Verwijderd

Je vindt veel info over deze materie (advanced routing) op http://www.ds9a.nl/2.4Routing/ . Er is ook een mailinglist waar je je voor kunt aanmelden op dezelfde site .

Verwijderd

Je kunt ook routen op basis van device.. dus een route adden dat .18 verkeer via device eth1 moet lopen is zeker _wel_ mogelijk imo.

Verwijderd

Om nog een korte toelichting te geven:
Je kunt met iptables op basis van criteria pakketjes naar een tabel laten verwijzen die weer rules bevat over routering van deze pakketjes. Je zou daarbij kunnen denken aan alle ftp data naar eth0, alle www-data naar eth1 etc. Ook op basis van herkomst van subnet/ipadres kun je zo regelen. De door mij hierboven genoemde HOWTO moet je een eind op weg kunnen helpen.

Verwijderd

Hij gebruikt kernel 2.2.x, oftewel ipchains.. geen iptables dus.

Volgens mij is dat ook niet nodig, ik zie het probleem even niet.

Hij heeft gewoon 2 lijnen met 2 ip's. Dan moet het _natuurlijk_ mogelijk zijn dat de traffic voor een van beide via ip's via de juiste lijn loopt, zonder packet shaping of wat dan ook.

De hardwarematige oplossing is een switch er tussen zetten. gewoon alle lijnen in die switch en je probleem is opgelost:

PC ---> per IP 1 NIC+IP -->switch ---> lijnen naar resp. aansluiting(en)

Kijk eens goed met tcpdump naar je traffic. Als iemand naar de FTP op .18 connect komt dan het 1e pakketje wel binnen op het juiste device of dat ook al niet?

Kijk eens of het blokkeren van alle pakketjes met als doel .18 op de eth0 helpt. Hoe het met ipchains werkt kan ik je zo niet vertellen, iptables doet het zo:

iptables -p INPUT -i eth0 -d 130.89.x.18 -j DROP

Voor de packet shaping mensen:
Dat is nodig als je er gewoon 1 dikke pijp van wilt maken waarin bandbreedte dynamisch wordt toegekend. Dat is hier (nog) niet aan de orde. Voor de eigenlijke load-balancing rekent de poster hier nog op willekeurige connects op 1 van de IP's, een soortement van round-robin achtig iets dus.
Pagina: 1