Vinnaren i pepparkakshustävlingen!
2009-08-04, 15:59
  #1
Medlem
djb2s avatar
Hej, jag håller på att fixa med min blivande hemmaserver (Ubuntu 9.04). Internetanslutningen kommer att gå in i denna burk, och ut till min stationära windowsdator. Jag antar att vad jag söker är en nätverksbrygga?

Server
OS: Ubuntu 9.04
Inkommande internetanslutning: 3 mobilt bredband med USB-modem (Huawei E220)
Utgående nätverksanslutning: vanlig trådbunden ethernetkabel (som går in i den stationära datorn)

Stationär dator
OS: Windows Vista x86

Citat:
Ursprungligen postat av Servern
djb@eklund:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:30:1b:ad:66:21
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::230:1bff:fead:6687/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:663 errors:0 dropped:0 overruns:0 frame:0
TX packets:42 errors:0 dropped:0 overruns: n0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:118615 (118.6 KB) TX bytes:8081 (8.0 KB)
Interrupt:18 Base address:0xc000

ppp0 Link encap:Point-to-Point Protocol
inet addr:97.209.22.139 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:5733 errors:0 dropped:0 overruns:0 frame:0
TX packets:4470 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:6487351 (6.4 MB) TX bytes:484014 (484.0 KB)
eth0 är som ni ser konfigurerat till 192.168.0.1. Detta har jag gjort manuellt genom ifconfig eth0 192.168.0.1. Jag har ändrat IP-adressen på den stationära till 192.168.0.2 och kan nu pinga mellan datorerna. Det mobila bredbandet (ppp0) fungerar och är uppkopplat mot internet. (Det är från servern jag skriver detta inlägg)

Jag har redan sökt och testat lite olika sätt som inte fungerat, men detta borde väl vara enkelt fixat? Hur ska jag konfigurera servern och den stationära datorn?
Citera
2009-08-04, 16:45
  #2
Medlem
Alfaslangs avatar
Det du är ute efter är inte en så kallad brygga (bridging), det är något annat, utan snarare att sätta upp din linux-dator som en NAT- (även känt som maquerade) router.

Det aktiverar du på din linuxburk genom följande två kommandorader:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Dessa måste köras som root. För att bli root i Ubuntu så kör du sudo su -

Du måste därefter ställa in din Windows-dator till att använda din Linux-dator som gateway, och din internetleverantörs namnserver som DNS. Vilken det är kan du se med cat /etc/resolv.conf på linuxburken efter att du kopplat upp dig med ditt trådlösa modem.
Citera
2009-08-04, 17:27
  #3
Medlem
Rizados avatar
Jag rekommenderar dig att ta en titt på firehol. Ett sjukt smidigt verktyg för att sätta upp avancerade nätverksregler.
Citera
2009-08-04, 21:35
  #4
Medlem
djb2s avatar
Citat:
Ursprungligen postat av Alfaslang
Det du är ute efter är inte en så kallad brygga (bridging), det är något annat, utan snarare att sätta upp din linux-dator som en NAT- (även känt som maquerade) router.

Det aktiverar du på din linuxburk genom följande två kommandorader:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Dessa måste köras som root. För att bli root i Ubuntu så kör du sudo su -

Du måste därefter ställa in din Windows-dator till att använda din Linux-dator som gateway, och din internetleverantörs namnserver som DNS. Vilken det är kan du se med cat /etc/resolv.conf på linuxburken efter att du kopplat upp dig med ditt trådlösa modem.
Kommandona gav inga fel, men det fungerade inte heller. Testade /etc/init.d/networking restart men det gav mig Ignoring unknown interface ppp0=ppp0. Så det verkar som att jag inte kan starta om ppp0 av nån anledning. Testade även ifconfig ppp0 down och sedan ifconfig ppp0 up men då fanns inte ppp0 kvar längre, av någon mystisk anledning (unknown interface).

Jag får känslan av att ubuntu har någon egen network manager som gör att det blir struligt så fort man konfigurerar något manuellt, ty det är inte första gången interfaces spökar.

Citat:
Ursprungligen postat av Rizado
Jag rekommenderar dig att ta en titt på firehol. Ett sjukt smidigt verktyg för att sätta upp avancerade nätverksregler.
Jag tittade på detta, och även firestarter. Testade att följa guiderna, men fick det inte att fungera. Har du något förslag på hur firehol.conf borde se ut?

Vad göra?
Citera
2009-08-04, 22:24
  #5
Medlem
Har du satt in din win burk på att använda servern som gateway och att använda din isp:s dns servrar som Alfaslang nämner?

Du måste fibla med både win och linux burken.
Citera
2009-08-04, 22:58
  #6
Medlem
djb2s avatar
Citat:
Ursprungligen postat av bp2500
Har du satt in din win burk på att använda servern som gateway och att använda din isp:s dns servrar som Alfaslang nämner?

Du måste fibla med både win och linux burken.
Ja, jag har testat både att använda de IP-adresserna som anges av /etc/resolv.conf och 192.168.0.1 (serverns IP) som gateway i inställningarna i Windows. Om jag använder 192.168.0.1 så får jag upp en IP-adress när jag pingar t.ex. google.se, men jag får inget svar. Om jag använder den som anges av /etc/resolv.conf som GW får jag inte ens en IP-adress.

Det fungerar utmärkt att pinga mellan datorerna fortfarande.
Citera
2009-08-04, 23:32
  #7
Medlem
djb2s avatar
Startade om datorn och nu funkar det

Jag hade installerat en dhcp-server på ubuntuburken (dhcpd3) och ställde in min windows-burk på automatisk (dhcp) IP-konf. Då fick den automatiskt adressen 192.168.0.100. Om detta hade något att göra med att det funkar nu vet jag inte. Jag startade om datorn och det var efter det det började fungera.

Ubuntus network manager är fortfarande omåttligt knasig imo.
Citera
2009-08-04, 23:41
  #8
Medlem
Alfaslangs avatar
Citat:
Ursprungligen postat av djb2
Ja, jag har testat både att använda de IP-adresserna som anges av /etc/resolv.conf och 192.168.0.1 (serverns IP) som gateway i inställningarna i Windows. Om jag använder 192.168.0.1 så får jag upp en IP-adress när jag pingar t.ex. google.se, men jag får inget svar. Om jag använder den som anges av /etc/resolv.conf som GW får jag inte ens en IP-adress.

Det fungerar utmärkt att pinga mellan datorerna fortfarande.

Det var jag som uttryckte mig otydligt.

IP-adressen du ska ange som gateway på din Windows-dator är samma IP-adress som din Linux-dator har på sitt interna nätverkskort. I ditt fall är det 192.168.0.1. (Med internt nätverkskort så menar jag det som sitter kopplat till ditt interna nät. Ditt externa "nätverkskort" blir ditt modem).

På Windows-datorn måste du också ange en namnserver (DNS). IP-adressen till den hittar du i /etc/resolv.conf

Det är rätt märkligt att du kan göra namnuppslag från Windows-datorn, d.v.s. pinga google.com och få tillbaka en IP-adress, men trots det så kan du inte surfa? I och med att du kan göra namnuppslag så innebär det att trafik går från din Windows-dator via Linux-datorn ut på internet, till din internetleverantörs namnserver, och tillbaka igen. Alltså flödar det trafiken.

Det låter för mig, som icke insatt i hur du har ditt nätverk uppsatt, som om att du antingen på Windows-datorn har en proxy inställd som du inte kommer åt av en eller annan anledning. Det skulle kunna förklara varför du inte kan surfa. Vilka program förutom ping har du testat? MSN? Något e-mailprogram?

Ett annat möjligt scenario är att du på ett eller annat sätt har brandväggsregler uppsatta på din Linux-maskin; antingen medvetet eller omedvetet. För att ta reda på det så kan du köra följande två kommando och kopiera det du får tillbaka i ditt svar till detta:

sudo iptables -L
sudo iptables -t nat -L

EDIT: Jahapp. Bortse från allt ovan
Ska jag tolka ditt inlägg ovan som att du inte ens behövde köra raderna med iptables... och echo...?
__________________
Senast redigerad av Alfaslang 2009-08-04 kl. 23:43.
Citera
2009-08-05, 10:42
  #9
Medlem
Rizados avatar
Citat:
Ursprungligen postat av djb2
Jag tittade på detta, och även firestarter. Testade att följa guiderna, men fick det inte att fungera. Har du något förslag på hur firehol.conf borde se ut?

I ditt fall skulle något sådant här fungera:

Kod:
#Sample config
version 5

interface eth0 wired
        policy accept
#      Innebär samma sak som:
#      server all accept
#      client all accept
#      dvs all trafik är tillåten på eth0

interface ppp0 mobile
       protection strong
       masquerade
       client all accept

router wired2mobile inface eth0 outface ppp0
       route all accept

router mobile2wired inface ppp0 outface eth0
       #route ssh accept
Detta är en enkel config med alla portar stängda utifrån och som tillåter all trafik ut, både från servern och det trådade nätverket.
masquerade innebär att nat sätts upp på det interfacet. Namnen (wired, mobile) är helt godtyckliga.
protection strong startar skydd mot en massa saker, syn-floods, fragmented packages och gud vet vad!
En lite mer sofistikerad ppp0 conf kan se ut såhär:

Kod:
trusted_ips="123.123.123.123, 123.212.111.1"

interface ppp0 mobile src not "${UNROUTABLE_IPS}"
       protection strong
       masquerade
       client all accept
       client telnet drop dst not "${trusted_ips}"
       server telnet accept src "${trusted_ips}"
       server http accept src not 123.123.123.7
Det går att göra en väldig massa, bara att läsa dokumentationen, men tänk på att man måste aktivera brandväggen i "/etc/defaults/firehol" i ubuntu.
Med hjälp av ctshaper kan man relativt enkelt ställa in QoS tillsammans med firehol.
Citera
2009-08-05, 11:31
  #10
Medlem
djb2s avatar
Citat:
Ursprungligen postat av Alfaslang
EDIT: Jahapp. Bortse från allt ovan
Ska jag tolka ditt inlägg ovan som att du inte ens behövde köra raderna med iptables... och echo...?
Jo, de raderna körde jag, och jag tror att det var de som gjorde att det fungerade. Alternativt att firestarter gjorde denna konf automatiskt (följde deras guide).

Så egentligen är det inte några konstigheter, bortsett från att jag använder en DHCP-server som tilldelar IP, GW, nätmask och DNS per automagi. (Väldigt smidigt. behövde inte ens ändra i default-konfen om jag minns rätt).

Rizado, tack för all information om firehol. Jag får titta mer på det. Även om det må vara smidigt för er som pysslar med brandväggar etc så är det lite för hög nivå för mig just nu. Känns som att jag borde ha mer koll på grundläggande koncept först inom TCP/IP, protokoll, portar etc.

Däremot upptäckte jag till min häpnad ett nytt problem. Hastigheten, enligt bredbandskollen.se:s TP-test, är ungefär en tredjedel på windowsburken som mot ubuntuservern. Vad kan detta bero på?
Citera
2009-08-05, 16:03
  #11
Medlem
Rizados avatar
Citat:
Ursprungligen postat av djb2
Däremot upptäckte jag till min häpnad ett nytt problem. Hastigheten, enligt bredbandskollen.se:s TP-test, är ungefär en tredjedel på windowsburken som mot ubuntuservern. Vad kan detta bero på?
Väldigt lustigt iom att mobilt bredband inte har någon hög hastighet så det ska inte vara några problem att skyffla det egentligen. En jättevild tanke är att ditt hemnätverk använder sig av för stor mtu (jumboframes) som måste kapas ner när det ska över det mobila bredbandet, som använder sig av 1500 eller 1492 eller något. Tycker dock att det låter otroligt att det skulle ha någon påverkan på några mbit. Men testa att ställa in mtu på 1500 eller mindre och se om det gör någon skillnad, hur man gör detta i windows vet jag inte men det bör finnas någonstans i enhetshanteraren. Testa att ladda hem något också och se om det faktiskt är någon skillnad, och testa att dra något direkt mellan datorerna.
Citera
2009-08-06, 20:45
  #12
Medlem
djb2s avatar
Citat:
Ursprungligen postat av Rizado
Väldigt lustigt iom att mobilt bredband inte har någon hög hastighet så det ska inte vara några problem att skyffla det egentligen. En jättevild tanke är att ditt hemnätverk använder sig av för stor mtu (jumboframes) som måste kapas ner när det ska över det mobila bredbandet, som använder sig av 1500 eller 1492 eller något. Tycker dock att det låter otroligt att det skulle ha någon påverkan på några mbit. Men testa att ställa in mtu på 1500 eller mindre och se om det gör någon skillnad, hur man gör detta i windows vet jag inte men det bör finnas någonstans i enhetshanteraren. Testa att ladda hem något också och se om det faktiskt är någon skillnad, och testa att dra något direkt mellan datorerna.
Eftersom Windows Vista utan anledning ännu en gång började jävlas med mig flyttade jag över allt viktigt till min andra hårddisk och kastade ut skitoperativet Nu kör jag Ubuntu på båda burkarna. Dock verkar det fortfarande vara samma problem (långsamt internet på den datorn som inte är direktkopplad till modemet). Kan det fortfarande vara MTU som spökar?
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback