Vad är NFS? Nätverksfilsystem. Nätverksåtkomstprotokoll för filsystem. Vad är nätverk och hur fixar jag det? Vad ska finnas i nätverksfilen

Hur är det praktisk användning filen /etc/networks? Så vitt jag förstår kan du ange nätverksnamn i den här filen. Till exempel:

Root@fw-test:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 google-dns 8.8.4.4 root@fw-test:~#

Men om jag försöker använda detta nätverksnamn till exempel i ip-verktyget, fungerar det inte:

root@fw-test:~# ip-rutt lägg till google-dns via 104.236.63.1 dev eth0 Fel: ett inet-prefix förväntas snarare än "google-dns". root@fw-test:~# ip-rutt lägg till 8.8.4.4 via 104.236.64.1 dev eth0 root@fw-test:~#

Vad är den praktiska användningen av filen /etc/networks?

2 lösningar samlar formulärwebb för "praktisk användning av /etc/networks-filen"

Som det står på man-sidan måste filen /etc/networks beskriva symboliska namn för nätverk. Med nätverk innebär detta en nätverksadress med en tail.0 i slutet. Endast stöds enkla nätverk klass A, B eller C.

I ditt exempel är google-dns-posten felaktig. Det är inte nätverk A, B eller C. Det är ett förhållande ip-adress-värdnamn, så det tillhör /etc/hosts . Faktum är att standardposten inte matchar heller.

Låt oss säga att du har en IP-adress på 192.168.1.5 från din företagsnätverk. Posten i /etc/network kan se ut så här:

Företagsnamn 192.168.1.0

När du använder verktyg som route eller netstat , översätts dessa nätverk (såvida du inte undertrycker behörighet med flaggan -n). Routingtabellen kan se ut så här:

Kernel IP-routningstabell Destination Gateway Genmask Flaggor Metrisk Ref Användning Iface default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 företagsnamn * 255.255.255.0 U 0 0 0 eth0

Kommandot ip använder aldrig värdnamnet för inmatning, så ditt exempel är osannolikt relevant. Du lägger också värdnamnet i /etc/networks och inte nätverksnamnet!

Poster från /etc/networks används av verktyg som försöker konvertera siffror till namn, som t.ex. (utfasad) ruttkommando. Utan en lämplig post visar den:

# route Kärna IP-routningstabell Destination Gateway Genmask Flaggor Metrisk Ref Använd Iface default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 * 255.255.254.0 U 0 0 eth0

Om vi ​​nu lägger till raden mylocalnet 192.168.0.0 till /etc/networks:

# route Kärna IP-routningstabell Destination Gateway Genmask Flaggor Metrisk Ref Använd Iface default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 mylocalnet * 255.255.254.0 U 0 0 0 eth0

I praktiken används detta aldrig.

Gå!

När det kommer till dator nätverk, kan du ofta höra NFS nämnas. Vad betyder denna förkortning?

Detta är ett distribuerat protokoll filsystem, ursprungligen utvecklad av Sun Microsystems 1984, vilket gör det möjligt för en användare på en klientdator att komma åt filer över ett nätverk, liknande att få åtkomst till lokal lagring. NFS, liksom många andra protokoll, är baserat på Open Network Computing Remote Procedure Call (ONC RPC)-systemet.

Med andra ord, vad är NFS? Det är en öppen standard, definierad av Request for Comments (RFC), som tillåter vem som helst att implementera protokollet.

Versioner och varianter

Uppfinnaren använde endast den första versionen för sina egna experimentändamål. När utvecklingsteamet lade till betydande ändringar i den ursprungliga NFS och släppte den utanför Suns ägande, utsåg de ny version som v2 så att interoperabilitet mellan distributioner kan testas och en reserv kan skapas.

NFS v2

Version 2 fungerade initialt endast över User Datagram Protocol (UDP). Dess utvecklare ville behålla serversidan utan blockering implementerad utanför huvudprotokollet.

Det virtuella filsystemets gränssnitt möjliggör en modulär implementering som återspeglas i ett enkelt protokoll. I februari 1986 hade lösningar demonstrerats för operativsystem som System V release 2, DOS och VAX/VMS med Eunice. NFS v2 tillät endast att de första 2 GB av en fil lästes på grund av 32-bitars begränsningar.

NFS v3

Det första förslaget att utveckla NFS version 3 hos Sun Microsystems tillkännagavs kort efter lanseringen av den andra distributionen. Den främsta motivationen var att försöka mildra prestandaproblemet med synkron inspelning. I juli 1992 hade praktiska förbättringar löst många av bristerna i NFS version 2, vilket bara lämnade otillräckligt filstöd (64-bitars filstorlekar och filförskjutningar).

  • stöd för 64-bitars filstorlekar och förskjutningar för att hantera data större än 2 gigabyte (GB);
  • stöd för asynkron inspelning på servern för att förbättra prestandan;
  • ytterligare filattribut i många svar för att undvika att behöva hämta dem igen;
  • READDIRPLUS-operation för att erhålla data och attribut tillsammans med filnamn vid skanning av en katalog;
  • många andra förbättringar.

Under introduktionen av version 3 började stödet för TCP som transportlagerprotokoll att öka. Användningen av TCP som ett sätt att överföra data, utförd med NFS över ett WAN, började göra det möjligt att överföra stora filstorlekar för visning och skrivning. Tack vare detta kunde utvecklare övervinna 8 KB-gränserna som infördes av User Datagram Protocol (UDP).

Vad är NFS v4?

Version 4, påverkad av Endres File System (AFS) och Server Message Block (SMB, även kallad CIFS), inkluderar prestandaförbättringar, ger bättre säkerhet och introducerar ett efterlevnadsprotokoll.

Version 4 var den första distributionen som utvecklades av Internet Engineering Task Force (IETF) efter att Sun Microsystems outsourcade protokollutveckling.

NFS version 4.1 syftar till att tillhandahålla protokollstöd för att utnyttja klustrade serverdistributioner, inklusive möjligheten att tillhandahålla skalbar parallell åtkomst till filer distribuerade över flera servrar (pNFS-tillägg).

Det senaste filsystemprotokollet, NFS 4.2 (RFC 7862), släpptes officiellt i november 2016.

Andra tillägg

Med utvecklingen av standarden dök motsvarande verktyg för att arbeta med den upp. WebNFS, ett tillägg för version 2 och 3, gör till exempel att Network File System Access Protocol lättare kan integreras i webbläsare och möjliggöra arbete över brandväggar.

Olika tredjepartsprotokoll har också blivit associerade med NFS. De mest kända av dem är:

  • Network Lock Manager (NLM) med stöd för byteprotokoll (läggs till för att stödja UNIX System V fillåsnings-API);
  • Remote Quota (RQUOTAD), som tillåter NFS-användare att se lagringskvoter på NFS-servrar;
  • NFS över RDMA är en anpassning av NFS som använder RDMA (Remote Direct Memory Access) som överföringsmedium;
  • NFS-Ganesha är en NFS-server som körs i användarutrymme och stöder CephFS FSAL (File System Abstraction Layer) med libcephfs.

Plattformar

Network File System används ofta med operativsystem Unix (som Solaris, AIX, HP-UX), Apples MacOS och Unix-liknande operativsystem (som Linux och FreeBSD).

Den är också tillgänglig för plattformar som Acorn RISC OS, OpenVMS, MS-DOS, Microsoft Windows, Novell NetWare och IBM AS/400.

Alternativa protokoll Fjärranslutning filer inkluderar Server Message Block (SMB, även kallat CIFS), Apple Transfer Protocol (AFP), NetWare Core Protocol (NCP) och OS/400 Server File System (QFileSvr.400).

Detta beror på kraven i NFS, som främst är inriktade på Unix-liknande "skal".

Samtidigt används protokollen SMB och NetWare (NCP) oftare än NFS i system som körs Microsoft Windows. AFP är vanligast på Apple Macintosh-plattformar och QFileSvr.400 är vanligast på OS/400.

Typiskt genomförande

Om vi ​​antar ett typiskt Unix-scenario där en dator (klienten) behöver åtkomst till data lagrad på en annan (NFS-servern):

  • Servern implementerar nätverksfilsystemprocesser, som körs som standard som nfsd, för att göra dess data allmänt tillgänglig för klienter. Serveradministratören bestämmer hur katalognamn och inställningar ska exporteras, vanligtvis med hjälp av konfigurationsfilen /etc/exports och kommandot exportfs.
  • Att administrera serversäkerhet säkerställer att den kan känna igen och godkänna en autentiserad klient. Dess nätverkskonfiguration säkerställer att berättigade klienter kan förhandla med den genom vilket brandväggssystem som helst.
  • Klientmaskinen begär åtkomst till de exporterade data, vanligtvis genom att utfärda ett kommando. Den frågar efter servern (rpcbind) som använder NFS-porten och ansluter sedan till den.
  • Om allt sker utan fel kommer användare på klientdatorn att kunna se och interagera med de installerade filsystemen på servern inom de tillåtna parametrarna.

Det bör också noteras att automatisering av Network File System-processen också kan ske - kanske med etc/fstab och/eller andra liknande verktyg.

Utveckling hittills

På 2000-talet hade konkurrerande protokoll DFS och AFS inte nått någon större kommersiell framgång jämfört med Network File System. IBM, som tidigare förvärvat alla kommersiella rättigheter till ovanstående teknologier, har donerat det mesta av AFS-källkoden till den fria utvecklargemenskapen programvaraår 2000. Open AFS-projektet existerar än idag. I början av 2005 meddelade IBM slutet på försäljningen av AFS och DFS.

I sin tur, i januari 2010, föreslog Panasas NFS v 4.1 baserad på teknologi som förbättrar parallella dataåtkomstmöjligheter. Network File System v 4.1-protokollet definierar en metod för att separera filsystemets metadata från platsen för specifika filer. Så det går utöver enkel namn/dataseparering.

Vad är NFS av den här versionen i praktiken? Ovanstående funktion skiljer det från det traditionella protokollet, som innehåller namn på filer och deras data under en anslutning till servern. Med Network File System v 4.1 kan vissa filer delas mellan servrar med flera noder, men klientens inblandning i delning av metadata och data är begränsad.

När den fjärde distributionen av protokollet implementeras är NFS-servern en uppsättning serverresurser eller komponenter; de antas kontrolleras av metadataservern.

Klienten kontaktar fortfarande en enskild metadataserver för att gå igenom eller interagera med namnområdet. När den flyttar filer till och från servern kan den interagera direkt med en uppsättning data som ägs av en NFS-grupp.

God eftermiddag kära läsare. Jag publicerar den andra delen. I den aktuella delen ligger huvudvikten på nätverksimplementering i Linux(hur man ställer in ett nätverk i Linux, hur man diagnostiserar ett nätverk i Linux och underhåller nätverksundersystemet i Linux).

Konfigurera TCP/IP i Linux för att fungera på ett Ethernet-nätverk

Att arbeta med nätverksprotokoll TCP/IP i Linux räcker att bara ha loopback-gränssnitt, men om det är nödvändigt att ansluta värdar med varandra, är det naturligtvis nödvändigt att ha ett nätverksgränssnitt, dataöverföringskanaler (till exempel twisted pair), kanske några nätverksutrustning. Det är också nödvändigt att ha installerade sådana (osv.), vanligtvis levererade till. Det är också nödvändigt att ha ett nätverk (till exempel /etc/hosts) och nätverksstöd.

Nätverksinställningar

Låt oss börja förstå Linux-nätverksmekanismer med manuell nätverkskonfiguration, det vill säga med fallet när IP-adress nätverksgränssnitt statisk. Så när du ställer in ett nätverk måste du överväga och konfigurera följande parametrar:

IP-adress- som redan nämnts i den första delen av artikeln - detta är maskinens unika adress, i formatet med fyra decimaltal separerade med punkter. Vanligtvis när man jobbar i lokalt nätverk, valda från privata intervall, till exempel: 192.168.0.1

Subnätmask- samma, 4 decimaltal, som bestämmer vilken del av adressen som tillhör nätverks-/subnätadressen och vilken del till värdadressen. En subnätmask är ett nummer som läggs till (i binär form) med en IP-adress för att avgöra vilket subnät adressen tillhör. Till exempel, adressen 192.168.0.2 med masken 255.255.255.0 tillhör subnätet 192.168.0.

Subnätadress- bestäms av subnätmasken. Det finns dock inga subnät för loopback-gränssnitt.

Sändningsadress- adressen som används för att skicka broadcast-paket som kommer att tas emot av alla värdar på subnätet. Vanligtvis är den lika med subnätadressen med ett värdvärde på 255, det vill säga för subnätet 192.168.0 blir sändningen 192.168.0.255, på samma sätt för subnätet 192.168 blir sändningen 192.168.255.255. Det finns ingen broadcastadress för loopback-gränssnitt.

Gateway IP-adress- detta är adressen till maskinen som är standardporten för kommunikation med omvärlden. Det kan finnas flera gateways om datorn är ansluten till flera nätverk samtidigt. Gatewayadressen används inte på isolerade nätverk (ej ansluten till globalt nätverk), eftersom dessa nätverk inte har någonstans att skicka paket utanför nätverket, gäller samma sak för loopback-gränssnitt.

Namnserverns IP-adress (DNS-server)- Adress till servern som konverterar värdnamn till IP-adresser. Vanligtvis tillhandahålls av leverantören.

Nätverksinställningsfiler i Linux (konfigurationsfiler)

För att förstå hur nätverket fungerar i Linux skulle jag definitivt rekommendera att läsa artikeln "". I allmänhet är hela driften av Linux baserad på, vilket föds när operativsystemet startar och producerar dess ättlingar, som i sin tur gör allt nödvändigt arbete, vare sig det är att starta bash eller en demon. Ja, och hela Linux-starten är baserad på, vilket anger hela sekvensen av att starta små verktyg med olika parametrar som sekventiellt startas/stoppas när systemet startar/stoppar. Linux-nätverksundersystemet startar på samma sätt.

Varje Linux-distribution har en något annorlunda nätverksinitieringsmekanism, men jag tror att den allmänna bilden kommer att vara tydlig efter läsning. Om du tittar på startskripten för nätverksundersystemet för någon Linux distribution, sedan hur du konfigurerar nätverkskonfigurationen med konfigurationsfiler, kommer det att bli mer eller mindre tydligt, till exempel i Debian (låt oss ta denna distribution som grund), är ett skript ansvarigt för att initiera nätverket /etc/init.d/nätverk, efter att ha tittat på vilka:

Nätserver:~#cat /etc/init.d/networking #!/bin/sh -e ### BEGIN INIT INFO # Ger: nätverk # Required-Start: mountkernfs $local_fs # Required-Stop: $local_fs # Bör -Start: ifupdown # Bör-Stopp: ifupdown # Standard-Start: S # Standard-Stopp: 0 6 # Kort beskrivning: Höj nätverksgränssnitt. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || avsluta 0. /lib/lsb/init-functions process_options() ( [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options existerar fortfarande och det kommer att IGNORAS! Läs README.Debian av netbase." ) check_network_file_systems() ( [ -e /proc/mounts ] || returnera 0 om [ -e /etc/iscsi/iscsi.initramfs ]; sedan log_warning_msg "dekonfigurerar inte nätverksgränssnitt: iSCSI-roten är monterad." exit 0 fi exec 9<&0 < /proc/mounts while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network devices still mounted." exit 0 ;; esac case $FSTYPE in nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." exit 0 ;; esac done exec 0<&9 9<&- } check_network_swap() { [ -e /proc/swaps ] || return 0 exec 9<&0 < /proc/swaps while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network swap still mounted." exit 0 ;; esac done exec 0<&9 9<&- } case "$1" in start) process_options log_action_begin_msg "Configuring network interfaces" if ifup -a; then log_action_end_msg $? else log_action_end_msg $? fi ;; stop) check_network_file_systems check_network_swap log_action_begin_msg "Deconfiguring network interfaces" if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) process_options log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true if ifup -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/networking {start|stop}" exit 1 ;; esac exit 0

Du kan hitta flera funktioner som kontrollerar närvaron av monterade nätverksfilsystem ( check_network_file_systems(), check_network_swap()), samt kontrollera att det finns några fortfarande oklara konfigurationer /etc/network/options ( fungera process_options()), och längst ner designen fallet "$1" in och i enlighet med den angivna parametern (start/stopp/force-reload|restart eller någon annan) utför vissa åtgärder. Av dessa samma" vissa handlingar", med startargumentet som exempel kan du se att funktionen startas först process_options, sedan skickas frasen till loggen Konfigurera nätverksgränssnitt, och kommandot körs ifup -a. Om du tittar på man ifup , kan du se att detta kommando läser konfigurationen från en fil /etc/network/interfaces och enligt nyckeln -a startar alla gränssnitt som har parametern bil.

Kommandona ifup och ifdown kan användas för att konfigurera (eller, respektive, avkonfigurera) nätverksgränssnitt baserat på gränssnittsdefinitioner i filen /etc/network/interfaces.

-a, --allt
Om det ges till ifup, påverkar alla gränssnitt markerade som auto. Gränssnitt tas upp i den ordning som de definieras i /etc/network/interfaces. Om det ges till ifdown, påverkar alla definierade gränssnitt. Gränssnitt tas ned i den ordning som de för närvarande är listade i tillståndsfilen. Endast gränssnitt definierade i /etc/network/interfaces kommer att tas ner.

ip-server:~# cat /etc/network/interfaces # Den här filen beskriver nätverksgränssnitten som finns tillgängliga på ditt system # och hur du aktiverar dem. För mer information, se gränssnitt(5). # Nätverksgränssnittet för loopback auto lo iface lo inet loopback # Det primära nätverksgränssnittet tillåt-hotplug eth0 iface eth0 inet dhcp tillåt-hotplug eth2 iface eth2 inet statisk adress 192.168.1.1 nätmask 255.255.255.0 gateway 1912.5.16.2156 brod.

I denna konfiguration raderna tillåt-hotplug Och bil- dessa är synonymer och gränssnitt kommer att tas upp på kommando ifup -a. Detta är i själva verket hela driftkedjan för nätverksdelsystemet. På liknande sätt, i andra distributioner: i RedHat och SUSE startas nätverket av ett skript /etc/init.d/network. Efter att ha undersökt det kan du på liknande sätt hitta var nätverkskonfigurationen ligger.

/etc/hosts

Denna fil lagrar en lista IP-adresser Och värdnamn som motsvarar dem (adresser) Filformatet skiljer sig inte från huvudfilen:

Ip-server:~# cat /etc/hosts # ip host.in.domain host 127.0.0.1 localhost 127.0.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server

Historiskt sett har den här filen använts istället för DNS-tjänsten. För närvarande kan filen också användas istället för DNS-tjänsten, men endast under förutsättning att antalet maskiner i ditt nätverk mäts i enheter och inte i tiotals eller hundratals, för i det här fallet måste du övervaka korrektheten av denna fil på varje maskin.

/etc/hostname

Denna fil innehåller NetBIOS-värdnamn:

IP-server:~# cat /etc/hostname ip-server

Den här filen lagrar namn och adresser till lokala och andra nätverk. Exempel:

Ip-server:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 hemnätverk 192.168.1.0

När du använder den här filen kan nätverk hanteras med namn. Lägg till exempel inte till en rutt rutt tillägg 192.168.1.12 , A rutt tillägg.

/etc/nsswitch.conf

Filen definierar värdnamnssökningsordning/nätverk är följande rader ansvariga för denna inställning:

För värdar: värdar: filer dns För nätverk: nätverk: filer

Parameter filer anger att de angivna filerna ska användas (/etc/hosts Och /etc/networks respektive), parameter dns anger att använda tjänsten dns.

/etc/host.conf

Filen anger namnupplösningsparametrar för resolvern

IP-server:~# cat /etc/host.conf multi on

Den här filen talar om för resolv-biblioteket att returnera alla giltiga värdadresser som visas i filen /etc/hosts, och inte bara den första.

/etc/resolv.conf

Den här filen definierar parametrarna för mekanismen för att konvertera nätverksnamn till IP-adresser. I enkla termer, definierar DNS-inställningar. Exempel:

Ip-server:~# cat /etc/resolv.conf namnserver 10.0.0.4 namnserver 10.0.0.1 sök domän.local

Första 2 raderna ange DNS-servrar. Den tredje raden anger sökdomänerna. Om namnet inte är ett FQDN-namn när du löser ett namn, kommer denna domän att ersättas med ett "slut". Till exempel, när du kör kommandot ping host, konverteras den pingade adressen till host.domain.local. De återstående parametrarna kan läsas i man resolv.conf. Mycket ofta använder Linux dynamisk generering av denna fil, med den så kallade. program /sbin/resolvconf. Detta program är en mellanhand mellan tjänster som dynamiskt tillhandahåller namnservrar (till exempel DHCP-klient) och tjänster som använder namnserverdata. För att använda en dynamiskt genererad fil /etc/resolv.conf, måste du göra den här filen till en symbolisk länk till /etc/resolvconf/run/resolv.conf. I vissa distributioner kan sökvägen vara annorlunda; detta kommer definitivt att skrivas in man resolveconf.

Nätverkskonfiguration

Efter att ha granskat de viktigaste konfigurationsfilerna kan du titta på . Kommandot har redan nämnts ovan ifup, om ner, men dessa verktyg är inte helt universella; till exempel har RH-distributioner inte dessa kommandon som standard. Dessutom har nya distributioner introducerat ett nytt nätverkshanteringsverktyg på hög nivå – som tillhör iproute-paketet. Jag kommer att dedikera det till honom (iproute-paketet). Och i det aktuella inlägget kommer jag inte att överväga det. Kommandon som beskrivs nedan tillhör .

Så för att vara säker på att kommandot fungerar på vilken Linux-distribution som helst, måste du använda två gamla huvudkommandon. Detta och arp. Det första laget (ansvarig för sätta upp nätverksgränssnitt(ip, mask, gateway), andra () - ruttinställningar, tredje (arp) - arp bordshantering. Jag skulle vilja notera att exekvering av dessa kommandon utan att inaktivera standardsystemV-startskriptet för nätverksundersystemet kommer att göra ändringar endast tills den första omstarten/omstarten av nätverkstjänsten, eftersom om du tänker efter kan du förstå att manuset /etc/init.d/nätverk nästa gång den startar kommer den att läsa om ovanstående konfigurationer och tillämpa de gamla inställningarna. Följaktligen är vägen ut för att permanent ställa in inställningarna antingen genom att ange ifconfig-kommandot med lämpliga parametrar i , eller att manuellt korrigera motsvarande konfigurationer för nätverksgränssnitten.

Även om kommandot körs ifconfig med saknade parametrar(till exempel bara en IP-adress), sedan läggs resten till automatiskt (till exempel läggs en sändningsadress till som standard med en värdadress som slutar på 255 och standardsubnätmasken är 255.255.255.0).

Routing för befintliga gränssnitt i moderna kärnor höjs det alltid automatiskt av kärnan. Eller snarare, direkta rutter till nätverket enligt IP-inställningarna och subnätet som det upphöjda gränssnittet ser ut i bildas automatiskt av kärnan. Gatewayfältet för sådana poster indikerar adressen till utgångsgränssnittet eller *. I äldre versioner av kärnan (jag kan inte berätta kärnnumret från vilket rutter började stiga automatiskt) var det nödvändigt att lägga till rutten manuellt.

Om det finns behov av att organisera din rutter, då måste du använda . Med detta kommando kan du lägga till och ta bort rutter, men återigen, detta kommer bara att hjälpa tills du startar om /etc/init.d/networking (eller ett annat skript som ansvarar för nätverket i din distribution). För att rutter ska läggas till automatiskt måste du, på samma sätt som med kommandot ifconfig, lägga till kommandon för att lägga till rutter till rc.local, eller manuellt korrigera motsvarande nätverksgränssnittskonfigurationer (till exempel i Deb - /etc/network/options).

Med vilka regler rutter till nätverk bildas, Jag är i

Linux nätverksdiagnostik

Det finns ett stort antal nätverksdiagnostikverktyg i Linux, som ofta liknar verktyg från Microsoft. Jag kommer att titta på tre huvudsakliga nätverksdiagnostikverktyg, utan vilka det kommer att vara svårt att identifiera problem.

Jag tror att det här verktyget är bekant för nästan alla. Detta verktyg fungerar med sändning så kallade ICMP-paket till fjärrservern, som kommer att specificeras i kommandoparametrarna, returnerar servern de skickade kommandona, och pingräknar tiden krävs för att det skickade paketet ska nå servern och returnera. Till exempel:

# ping ya.ru PING ya.ru (87.250.251.3) 56(84) databyte. 64 byte från www.yandex.ru (87.250.251.3): icmp_seq=1 ttl=57 time=42,7 ms 64 byte från www.yandex.ru (87.250.251.3): icmp_seq=2 ttl=57 time=43.2 ms från www.yandex.ru (87.250.251.3): icmp_seq=3 ttl=57 time=42,5 ms 64 byte från www.yandex.ru (87.250.251.3): icmp_seq=4 ttl=57 time=42,5 ms 64 bytes .yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 time=41,9 ms ^C --- ya.ru pingstatistik --- 5 paket överförda, 5 mottagna, 0 % paketförlust, tid 4012ms rtt min/ avg/max/mdev = 41,922/42,588/43,255/0,500 ms

Som framgår av exemplet ovan, ping ger oss en massa användbar information. För det första, det fick vi reda på vi kan upprätta en anslutning med värden ya.ru(ibland säger de att "ya.ru-värden är tillgänglig för oss"). För det andra, vi ser det DNS fungerar korrekt, eftersom det "pingade" namnet konverterades korrekt till en IP-adress (PING ya.ru (87.250.251.3)). Ytterligare, i fält icmp_seq= numrering av skickade paket anges. Varje skickat paket tilldelas sekventiellt ett nummer, och om det finns "dippningar" i denna numrering kommer detta att berätta för oss att anslutningen till den "pingade" är instabil och kan också innebära att servern som paketen skickas till är överbelastad . Efter värde tid= vi ser, hur länge reste paketet till 87.250.251.3 och tillbaka. Du kan stoppa pingverktyget genom att trycka på Ctrl+C.

Också, pingverktyg Det är intressant eftersom det kan låta dig se exakt var problemen uppstod. Låt oss säga pingverktyg visar ett meddelande nätverk inte tillgängligt (nätverk inte tillgängligt), eller annat liknande meddelande. Detta indikerar troligen att ditt system är felaktigt konfigurerat. I det här fallet kan du skicka paket till leverantörens IP-adress för att förstå var problemet uppstår (mellan den lokala datorn eller "vidare"). Om du är ansluten till Internet via en router kan du skicka paket via dess IP. Följaktligen, om problemet uppstår redan i detta skede, indikerar detta felaktig konfiguration av det lokala systemet, eller skada på kabeln; om routern återkallas, men leverantörens server inte är det, är problemet i leverantörens kommunikationskanal, etc. . Slutligen, om konverteringen av namn till IP misslyckas, kan du kontrollera IP-anslutningen; om svaren kommer korrekt kan du gissa att problemet ligger i DNS.

Det bör noteras att detta verktyg inte alltid är ett tillförlitligt diagnostiskt verktyg. Fjärrservern kan blockera svar på ICMP-förfrågningar.

traceroute

Enkelt uttryckt kallas kommandot ruttspårning. Som namnet antyder kommer detta verktyg att visa vilken väg paketen tog för att nå värden. traceroute verktyg något liknande ping, men visar mer intressant information. Exempel:

# traceroute ya.ru traceroute till ya.ru (213.180.204.3), 30 hops max, 60 byte paket 1 243-083-free.kubtelecom.ru (213.132.83.243) 6.408 ms 6.306 ms 6.306 ms 6.306 ms 6.306 ms 6.306 m .kubtelecom.ru (213.132.64.65) 2.761 ms 5.787 ms 5.777 ms 3 lgw.kubtelecom.ru (213.132.75.54) 5.713 ms 5.701 ms 5.636 ms .4Kub.net .186.6.177) 81.430 ms 81.581 ms 81.687 ms 5 cat26.Moscow.gldn.net (194.186.10.118) 47.789 ms 47.888 ms 48.011 ms 6 213.33.201.230 (321.230 (320) 321 .s . 83 ms 41. 106 ms 7 carmine-red-vlan602.yandex.net (87.250. 242.206) 41.199 ms 42.578 ms 42.610 ms 8 www.yandex.ru (213.180.204.3) 43.185 ms 42.126 ms 42.679 ms

Som du kan se kan du spåra rutten från leverantörens router 243-083-free.kubtelecom.ru (213.132.83.243) (södra Ryssland) till slutvärden på www.yandex.ru (213.180.204.3) i Moskva .

gräv

Det här verktyget skickar frågor till DNS-servrar och returnerar information om den angivna domänen. Exempel:

# dig @ns.kuban.ru roboti.ru ;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru ; (1 server hittades);; globala alternativ: printcmd ;; Fick svar: ;; ->>HUVUD<<- opcode: QUERY, status: NOERROR, id: 64412 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;roboti.ru. IN A ;; ANSWER SECTION: roboti.ru. 448 IN A 72.52.4.90 ;; AUTHORITY SECTION: roboti.ru. 345448 IN NS ns1.sedoparking.com. roboti.ru. 345448 IN NS ns2.sedoparking.com. ;; Query time: 102 msec ;; SERVER: 62.183.1.244#53(62.183.1.244) ;; WHEN: Thu Feb 17 19:44:59 2011 ;; MSG SIZE rcvd: 94

gräv kommando skickade en förfrågan DNS-server - ns.kuban.ru (@ns.kuban.ru- denna parameter är inte nödvändig att specificera, i detta fall kommer informationskällan om DNS att vara servern från dina systeminställningar) om domännamnet roboti.ru. Som ett resultat fick jag ett svar, som vi kan se i avsnittet SVARAVsnitt information om domänens IP-adresser, i avsnittet MYNDIGHETSAVSNITT information om den s.k auktoritativa DNS-servrar. Den tredje raden nerifrån talar om vilken server som svarade.

Andra diagnostiska verktyg

ping, gräv och andra diagnostiska verktyg med parametrar finns i inlägget.

Ansluter ett nytt nätverkskort

Att ansluta och starta ett nytt nätverkskort kommer ner till några steg:

1. Fysisk anslutning av kortet

3. Se resultatet av om systemet har upptäckt ett nytt nätverkskort:

Låt oss se slutsatsen INNAN du ansluter ett nytt kort:

Server:~# dmesg | grep eth [ 4.720550] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection [ 5.130191] e1000: eth1: e1000_probe: Intel(R) PRO/1000 1000 Network Connection [ 51100 7. vakthund: NIC Link är Upp 1000 Mbps full duplex, flödeskontroll: RX [ 15.681056] e1000: eth0: e1000_watchdog: NIC Link är upp 1000 Mbps full duplex, flödeskontroll: RX

Utdata visar att systemet har 2 nätverkskort eth1 och eth2. Vi ansluter den tredje och tittar på utgången:

Server:~# dmesg | grep eth [ 4.720513] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Nätverksanslutning [ 5.132029] e1000: eth1: e1000_probe: Intel(R) PRO/1000 1000 1000 5 Nätverksanslutning [ 16004.0e] e: Intel(R ) Pro/1000 nätverksanslutning [39.274875] udev: Omdöpt nätverksgränssnitt Eth2 till Eth3 [39.287661] UDEV: Omdöpt nätverk IntH1_RENAME_REN TILL ETH2 [45.670744] ETH2 [45.670014] 0 MBPS Full Duplex, Flow Kontroll: RX [ 46.237232] e1000: eth0: e1000_watchdog: NIC Link är upp 1000 Mbps Full Duplex, Flow Control: RX [ 96.977468] e1000: eth3: e1000_watchdog 1

I dmesg vi ser att ett nytt nätverk har dykt upp - eth3, som egentligen är eth2, men omdöpt av udev-enhetshanteraren till eth3, och eth2 är faktiskt ett omdöpt eth1 (vi kommer att prata om udev i ett separat inlägg). Utseendet på vårt nya nätverk i dmesg berättar att nätverkskortet stöds kärna och korrekt bestämt. Allt som återstår är att ställa in det nya gränssnittet /etc/network/interfaces(Debian) eftersom den här kartan inte initierades av startskriptet /etc/init.d/network. ifconfig ser den här kartan:

Server:~# ifconfig eth3 eth3 Länk encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 addr: fe80::a00:27ff:fe5f:34ad/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metrisk 1 RX-paket:311847 fel:0 tappade:0 överskridningar:0 ram:0 TX-paket:126 fel:0 tappade:0 överskridanden:0 bärare:0 kollisioner:0 txqueuelen:1000 RX-bytes:104670651 (99,8 MiB) TX-byte: 16184 (15,8 KiB)

men återigen - det konfigureras inte. Hur man konfigurerar nätverkskortet diskuterades ovan.

Sammanfattning

Jag tror att det var allt för idag. När jag började skriva den här artikeln trodde jag att jag skulle passa in i ett inlägg, men det blev jättestort. Därför beslutades det att dela upp artikeln i två. Sammantaget försökte jag presentera, inte en steg-för-steg-procedur för att sätta upp ett nätverk, utan att beskriva principen och förklara förståelsen för hur nätverket startar och fungerar i Linux. Jag hoppas verkligen att jag lyckades. Jag blir glad över att se dina kommentarer och tillägg. Med tiden kommer jag att lägga till artikeln.

Plastpåse ifupdownär ett omfattande verktyg för att konfigurera nätverksparametrar, speciellt för att initiera nätverket när operativsystemet laddas in i Debian GNU\Linux(tillsammans med motsvarande skript ifupdown-ren, ifupdown, nätverk finns i katalogen /etc/init.d)

Sedan version 6.0 (squeeze) har Debianutvecklare klassificerat ifupdown-paketet som föråldrat i dokumentationen och rekommenderar att man använder verktyg som NetworkManager eller Wicd. Detta tillvägagångssätt är motiverat för arbetsstationer med installerade grafiska användargränssnittsverktyg. För servrar fortsätter användningen av ifupdown, ett stabilt, funktionsrikt och väldokumenterat hanteringsverktyg för nätverksdelsystem, att användas.

Paketet ifupdown innehåller två kommandon ifup Och om ner för att aktivera eller inaktivera nätverksanslutningen (i detta fall eth1-gränssnittet):

# ifdown eth1 # ifup eth1

Dessa kommandon använder som standard de inställningar som är skrivna i filen /etc/network/interfaces.

För att starta, starta om och stoppa nätverksundersystemet bör du använda ett skript /etc/init.d/nätverk med parametrar Start, omstart Och sluta respektive:

# /etc/init.d/nätverk omstart

Inställningsfil för nätverksgränssnitt /etc/network/interfaces

Filen /etc/network/interfaces är i ett textformat som kan redigeras av en systemadministratör med hjälp av en textredigerare, medan ifup- och ifdown-kommandona också kan läsa den och känna igen inställningarna som anges i den.

Ett exempel på denna fil:

Auto lo eth1 eth0 iface lo inet loopback iface eth1 inet statisk adress 192.168.1.100 nätmask 255.255.255.0 gateway 192.168.1.1 dns-namnservrar 192.168.1.1 192.168.192.168.dhp

Nyckelord bil med mellanslagsseparerad lista över gränssnittsnamn anger att dessa gränssnitt ska aktiveras vid systemstart. Nyckelord jag möterär en beskrivning av gränssnittet (allmänt format: jag möter). Så i exemplet:

  • i kö iface lo inet loopback lokalt gränssnitt lo är konfigurerat för interaktion av applikationer inom en given dator (loopback)
  • i kö iface eth1 inet statisk gränssnittet eth1 är konfigurerat på statisk konfigurationsmetod(nätverksparametrar anges manuellt, statisk). Därefter anges parametrarna för statisk gränssnittskonfiguration (allmänt format:): IP-adress ( adress), Subnätmask ( nätmask), huvudingång ( inkörsport), DNS-serveradresser ( dns-namnservrar) etc. Om det finns flera DNS-servrar listas de separerade med ett mellanslag.
  • i kö iface eth0 dhcp indikerar konfigurationen av eth0-gränssnittet med dynamiskt nodkonfigurationsprotokoll.

Protokoll DHCP(Dynamic Host Configuration Protocol) tillåter en dator att automatiskt få en IP-adress över nätverket och andra parametrar som är nödvändiga för driften av nätverksgränssnittet. För att använda DHCP-protokollet är det nödvändigt att denna sändningsdomän konfigureras DHCP-server. När du ställer in en nätverksenhet kontaktar datorn DHCP-servern och tar emot de nödvändiga nätverksparametrarna.

Förutom statisk och dynamisk gränssnittskonfiguration finns det en manuell konfigurationsmetod ( manuell), som antar att gränssnittet kommer att konfigureras med hjälp av verktyg från tredje part för att ifupdown.

Syntaxen för gränssnittsfilen beskrivs i detalj på motsvarande hjälpsida ( man gränssnitt).

Lägga till en permanent statisk rutt

Gränssnittsalternativ i gränssnittsfilen låter dig ange kommandon som ska köras när gränssnittet är aktiverat ( upp alternativ) och stänga av ( ned alternativ).

Låt oss till exempel ställa in en permanent nätverkskonfiguration med en statisk rutt genom en alternativ gateway (ett fragment av filen /etc/network/interfaces visas):

Iface eth1 inet statisk adress 192.168.1.100 nätmask 255.255.255.0 up ip route add 192.168.24.0/24 via 192.168.1.2 gateway 192.168.1.1

Låt oss tillämpa den här konfigurationen med ifdown/ifup-kommandona och se routingtabellen:

# ifdown eth1 # ifup eth1 # ip-rutt visa dev eth1 192.168.1.0/24 proto kernel scope link src 192.168.1.100 192.168.24.0/24 via 192.168.1.2 default1 via 819.1.2.

Flera IP-adresser på ett nätverksgränssnitt

Uppgiften att lägga till flera IP-adresser till ett gränssnitt med hjälp av filen /etc/network/interfaces löses enligt följande:

Auto eth1 eth1: lägg till iface eth1 inet statisk adress 192.168.11.10 nätmask 255.255.255.0 gateway 192.168.11.1 iface eth1: lägg till inet statisk adress 192.168.11.151 nätmask 255.255.

Aliaset anges med ett kolon efter gränssnittets namn. Det är också nödvändigt att ange automatisk start av det nya gränssnittet i autoparametern.

För att tillämpa den här konfigurationen måste du köra följande kommandon:

# ifdown eth1; ifup eth1; ifup eth1:lägg till

# /etc/init.d/nätverk omstart


Ibland kan nätverksfel och övriga Windows-systemfel relateras till problem i Windows-registret. Flera program kan använda nätverksfilen, men när dessa program avinstalleras eller modifieras, lämnas ibland "föräldralösa" (felaktiga) Windows-registerposter kvar.

I grund och botten betyder detta att även om den faktiska sökvägen till filen kan ha ändrats, är dess felaktiga tidigare plats fortfarande registrerad i Windows-registret. När Windows försöker leta upp dessa felaktiga filreferenser (filplatser på datorn) uppstår ett nätverk. Dessutom kan en infektion med skadlig kod ha skadade registerposter relaterade till Microsoft Windows. Således måste dessa skadade Windows-registerposter åtgärdas för att åtgärda problemet vid roten.

Manuell redigering av Windows-registret för att ta bort ogiltiga nätverksnycklar rekommenderas inte om du inte arbetar som datatekniker. Misstag som görs när du redigerar registret kan göra din dator obrukbar och orsaka irreparabel skada på ditt operativsystem. Faktum är att även ett kommatecken placerat på fel ställe kan hindra din dator från att starta!

På grund av denna risk rekommenderar vi starkt att du använder en pålitlig registerrensare som WinThruster (Utvecklad av Microsoft Gold Certified Partner) för att skanna och reparera alla nätverk. Med hjälp av en registerrensare kan du automatisera processen att hitta skadade registerposter, saknade filreferenser (som nätverk som orsakar felet) och brutna länkar i registret. Före varje skanning skapas automatiskt en säkerhetskopia, så att du kan ångra alla ändringar med ett klick och skydda dig från eventuell skada på din dator. Det bästa är att eliminering av registerfel kan förbättra systemets hastighet och prestanda dramatiskt.


Varning: Såvida du inte är en erfaren PC-användare, rekommenderar vi INTE manuell redigering av Windows-registret. Felaktig användning av Registereditorn kan orsaka allvarliga problem som kan kräva att du installerar om Windows. Vi garanterar inte att problem som beror på felaktig användning av Registereditorn kan åtgärdas. Du använder Registereditorn på egen risk.

Innan du manuellt återställer Windows-registret måste du skapa en säkerhetskopia genom att exportera den nätverksrelaterade delen av registret (till exempel Microsoft Windows):

  1. Klicka på knappen Börja.
  2. Stiga på " kommando"V sökfältet... KLICKA INTE ÄNNU STIGA PÅ!
  3. Medan du håller ner tangenterna CTRL-Skift på tangentbordet trycker du på STIGA PÅ.
  4. En dialogruta för åtkomst kommer att visas.
  5. Klick Ja.
  6. Den svarta rutan öppnas med en blinkande markör.
  7. Stiga på " regedit" och tryck STIGA PÅ.
  8. I Registereditorn väljer du nyckeln som är kopplad till nätverken (till exempel Microsoft Windows) som du vill säkerhetskopiera.
  9. På menyn Fil Välj Exportera.
  10. På listan Spara till välj mappen där du vill spara säkerhetskopian av Microsoft Windows-nyckeln.
  11. I fält Filnamn Ange ett namn för säkerhetskopian, till exempel "Microsoft Windows Backup".
  12. Se till att fältet Exportsortiment valt värde Vald gren.
  13. Klick Spara.
  14. Filen kommer att sparas med tillägg .reg.
  15. Du har nu en säkerhetskopia av din nätverksrelaterade registerpost.

Följande steg för manuell redigering av registret kommer inte att beskrivas i den här artikeln, eftersom de sannolikt kommer att skada ditt system. Om du vill ha mer information om att redigera registret manuellt, kolla in länkarna nedan.