Konfigurera TCP/IP

Slackware.SE Wiki

Hoppa till: navigering, sök

[redigera] 5.3 Konfigurera TCP/IP

Just nu bör ditt nätverkskort vara fysiskt installerat på din dator, och relevanta moduler bör vara laddade. Du kan fortfarande inte kommunicera över ditt nätverkskort, men du kan få information om nätverksenheter med kommandot ifconfig -a.

# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:110081 errors:1 dropped:0 overruns:0 frame:0
TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb)
Interrupt:5 Base address:0x8400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2234 errors:0 dropped:0 overruns:0 frame:0
TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)

Om du bara skrev /sbin/ifconfig utan prefixet -a, så ser du inte gränssnittet (interface) eth0 eftersom ditt nätverkskort inte har någon riktig IP-adress eller route.

Medan det finns många olika sätt att upprätta nätverk och att dela in dessa i delnät, så kan alla sätt brytas ner till två typer: Statisk och Dynamisk. Statiska nätverk är upprättade på ett sådant sätt att varje nod (slangord för en sak med en IP-adress) alltid har samma IP-adress. Dynamiska nätverk är upprättade på sådant sätt att IP-adressen för noden är kontrollerad av en server, som kallas för DHCP-server.

5.3.1 DHCP

DHCP (eller Dynamic Host Configuration Protocol), är ett verktyg, med vilket en dator kan tilldelas en IP-adress vid uppstarten. När DHCP-klienten startas upp så skickar den en förfrågan över det lokala nätverket till en DHCP-server för att be om en IP-adress. DHCP-servern har en pool (eller ett spann) av IP-adresser lediga. Servern svarar på förfrågan med en IP-adress från spannet, tillsammans med en "lånetid". När lånetiden för den erhållna IP-adressen har gått ut måste klienten skicka en ny förfrågan till serven för att repetera förfrågan

Klienten kommer sen att acceptera IP-adressn från servern och kommer att konfigurera nätverksgränssnittet med ipadressen. Det finns dock ett mer behändigt trick som DHCP-klienter använder vid förhandling om vilken IP-adress den kommer att få. Klienten kommer ihåg den IP-adress som den senast tilldelades och kommer att fråga servern om att få den adressen igen vid nästa förhandling. Om det är möjligt, så gör servern så, men om inte så kommer klienten att erhålla en ny IP-adress. Förhandlingen ser ut som nedan:

Client: Is there a DHCP server available on the LAN?
Server: Yes, there is. Here I am.
Client: I need an IP address.
Server: You may take 192.168.10.10 for 19200 seconds.
Client: Thank you.
Client: Is there a DHCP server available on the LAN?
Server:Yes, there is. Here I am.
Client:I need an IP address. The last time we
talked, I had 192.168.10.10;
May I have it again?
Server:Yes, you may (or No, you may not: take 192.168.10.12 instead).
Client: Thank you.

DHCP-klienten i Linux är /sbin/dhcpd. Om du öppnar /etc/rc.d/rc.inet1 i din favoriteditor så kommer du se att /sbin/dhcpd anropas någonstans i mitten av scriptet. Detta tvingar fram konversationen du såg här ovan. dhcpd kommer också att följa den tid som är kvar på lånet av den nuvarande IP-adressen, och den kommer automatiskt att kontakta DHCP-servern med en ny förfrågan om att förnya lånet när det är nödvändigt. DHCP kan också kontrollera relaterad information, såsom vilken ntp-server som ska användas och vilken route som ska tas m.m.

Att upprätta DHCP på Slackware är enkelt, kör bara netconfig och välj DHCP när du blir erbjuden. Om du har mer än ett NIC (nätverkskort) och inte vill att eth0 ska vara konfigurerat via DHCP, redigera då filen /etc/rc.d/rc.inet1.conf och ändra relevanta viariabler för ditt NIC till "YES"

5.3.2 Statiskt IP

Statiska IP-adresser är fixerade och ändras bara när man manuellt gör så. Dessa används i de fall där administratören inte vill att IP-adressen ska ändras, såsom för interna servrar på nätverket, servrar anslutna till internet, samt routrar. Med statisk adressering kan du ställa in en IP-adress och sedan låta den vara så. Andra maskiner vet att du alltid har den adressen och kontaktar dig således genom den

5.3.3 /etc/rc.d/rc.inet1.conf

Om du planerar att sätta en IP-adress på din nya Slackware-maskin, så kan du antingen göra det genom skriptet netconfig, eller så kan du redigera /etc(rc.d/rc.inet1.conf, du kommer då att få se:

   # Primary network interface card (eth0)
   IPADDR[0]=""
   NETMASK[0]=""
   USE_DHCP[0]=""
   DHCP_HOSTNAME[0]=""
   Then further at the bottom:
   GATEWAY=""

I detta fall placerar du bara rätt information mellan citationstecknen. Dessa variabler anropas av /etc/rc.d/rc.inet1 under uppstart, för att förbereda dina nätverkskort. För varje NIC du vill ändra sätt bara rätt IP-information eller skriv "yes" om du ska använda DHCP. Slackware startar upp gränssnitten med den information som finns här (om det finns någon).

Variabeln DEFAULT_GW (standard gateway) upprättar standard route för Slackware. All kommunikation mellan din dator och andra datorer på internet måste passera genom denna gateway om ingen annan route är specifierad för dem. Om du använder DHCP brukar du vanligtvis inte behöva skriva något här, eftersom DHCP-servern redan specificerar vilken du ska använda.

5.3.4 /etc/resolv.conf

Okej, så du har en IP-adress, du har en default gateway och du kanske har 10 miljoner dollar (ge oss då lite), men vad är det för bra med det om du inte kan slå upp namn till IP-adresser? Ingen vill ju skriva in 72.9.234.112 i sin webbläsare för att nå www.slackbook.org. Nåja, men vilka andra än upphovsmännen kommer att memorera den IP-adressen? Vi måste upprätta DNS, men hur? Det är här /etc/resolv.conf kommer in i leken.

Chanserna är goda att du redan har de rätta inställningarna i etc/resolv.conf. Om du upprättade din nätverksanslutning med hjälp av DHCP, så bör DHCP-servern då hålla den här filen uppdaterad åt dig. (Rent tekniskt så säger bara DHCP-servern åt dhcpd vad den ska skriva här och så lyder den.) Om du trotts allt manuellt behöver uppdatera din DNS-serverlista, så måste du redigera /etc/resolv.conf för hand. Nedan ser du ett exempel:

# cat /etc/resolv.conf
nameserver 192.168.1.254
search lizella.net

Den första raden är enkel. Namnservers direktiv talar om vilken DNS-server vi ska fråga. Det är nödvändigt att dessa är IP-adresser. Du kan ha så många som du vill listade här. Slackware kommer gladeligen att kolla en efter en tills den får tillbaka en träff.

Den andra raden är lite mera intressant. Detta sökdirektiv ger oss en lista över domännam att anta så fort en DNS förfrågan är gjord. Detta låter oss kontakta en maskinen med endast första delen av dess FQDN (Fully Qualifies Domain Name). Till exempel, om "slackware.com" stod i din sökväg så skulle du kunna nå http://store.slackware.com genom att bara skriva http://store.

# ping -c 1 store
PING store.slackware.com (69.50.233.153): 56 data bytes
64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.251/0.251/0.251 ms

5.3.5 /etc/hosts

Nu när vi har en väl fungerande DNS, vad händer om vi vill kringgå vår DNS-server, eller lägga till DNS för en maskin som inte är i DNS? Slackware inkluderar filen /etc/hosts, vilken innehåller en lokal lista över DNS-namn med matchande IP-adresser.

# cat /etc/hosts
127.0.0.1           localhost  locahost.localdomain
192.168.1.101       redtail
172.14.66.32        foobar.slackware.com
.

Här kan du se att localhost har IP-adressen 127.0.0.1 (alltid reserverad för localhost), redtail kan nås på 192.168.1.191, och foobar.slackware.com har 172.14.66.32.

Klart för någon att skumma igeom
Korrigerad av SwiperII.

--Dartanjang 12 juli 2006 kl.16.00 (CEST)

Den här artikeln är hämtad från http://wiki.slackware.se/index.php/Konfigurera_TCP/IP
Personliga verktyg