TCP/IP-bestanden instellen en configureren op Linux (TCP/IP-instellingen voor Linux)

Zelfs niet-nerds hebben waarschijnlijk gehoord van " TCP/IP ", maar weet iedereen wat het is of hoe het te configureren op een Linux -server met behulp van de opdrachtregel(using the command line) ?

Het helpt om eerst de basisterminologie te definiëren. Het stelt u op zijn minst in staat om een ​​raamwerk te ontwikkelen waarop u uw begrip kunt bouwen. TCP/IP is geen uitzondering. 

Dit gedeelte over terminologie is geen uitputtende lijst. Het geeft je een basis waarop je je reis naar het begrijpen van netwerken en het configureren van TCP/IP - bestanden op Linux kunt beginnen . 

The *Nix World

Heb je je ooit afgevraagd wat *nix betekent? Hoe zit het met de relatie tussen Unix en Linux(Unix and Linux are related) (laat staan ​​alle verschillende versies van elk)?

*nix is ​​een methode om naar Linux en/of Unix (of welke distributie dan ook) te verwijzen met een jokerteken (de asterisk) om dit te doen. 

* Nix werd eind jaren 60 ontwikkeld. AT& T Bell Labs ontwikkelde Unix rond dezelfde tijd. door verschillende iteraties en ontwikkelingen werd ook Linux geboren.

Het resultaat van deze parallelle innovaties is dat als je eenmaal hebt geleerd hoe je installaties op één server kunt uitvoeren via de opdrachtregel, je een vaardigheid hebt geleerd die waarschijnlijk compatibel is met veel andere taken op verschillende Unix- of Linux - servers. 

Man Pages – Informatie binnen handbereik(Man Pages – Information at Your Fingertips)

Net als Google heeft Linux zijn eigen set zoek- en onderzoekshulpmiddelen waarmee gebruikers de bronnen kunnen vinden die ze nodig hebben. Die bronnen staan ​​bekend als 'manpages'. Wanneer u bent aangemeld bij een Linux -server (of op Linux gebaseerd besturingssysteem), kunt u de opdrachtregeltoepassing openen en typen wat u wilt onderzoeken, zoals het typen van een zoekterm in een interactief documentatiebestand.

Als je een onderwerp kiest dat je wilt onderzoeken, zoals een Linux -hulpprogramma, tool, daemon, script , kun je dat opzoeken door "man" en dan het woord te typen. Hoe u dit doet, leest u verderop in dit artikel.

Man-pagina's zijn gemakkelijk te gebruiken. Begin gewoon(Just) een paar woorden te typen en het Linux-besturingssysteem(Linux OS) begint de informatie naar u terug te sturen. Als er geen man-pagina is voor een bepaald onderwerp , zal Linux je dat vertellen.

Voor het grootste deel zijn man-pagina's redelijk nauwkeurig voor de softwareversie waarop ze verschijnen. Als u bijvoorbeeld bent ingelogd op een Linux -server die 10 jaar oud is, geeft de man-pagina informatie weer met betrekking tot die versie (en leeftijd).

Man-pagina's zijn gemakkelijk te gebruiken en nauwkeurig, maar er zijn een paar kanttekeningen. Laten we die waarschuwing (en) illustreren via afbeeldingen. 

In de onderstaande afbeelding geeft de man-pagina voor ARP aan dat ARP verouderd is (onder de sectie "opmerkingen") en dat men in plaats daarvan (ARP)ip neigh moet opzoeken . Met die notatie lijkt het erop dat men " man ip neigh " wil typen om toegang te krijgen tot informatie over de vervangende tool / het vervangende protocol. 

Als u echter " man ip neigh(man ip neigh) " typt, wordt de man-pagina voor "ip neigh" niet opgezocht. In plaats daarvan zoekt het twee man-pagina's op... een voor "ip" en de andere voor "hinniken". 

Hoewel het waar is dat je een man-pagina krijgt als je "man ip neigh" typt, tenzij je goed oplet, mis je misschien dat het niet echt is wat je zocht. 

Je zou een streepje kunnen toevoegen (hoewel dat niet is wat wordt weergegeven in de man-pagina bij het verwijzen naar de vervangende tool) ... Dus als je een streepje toevoegt en "man ip-neigh" typt, werkt dat ook prima, maar het is niet correct een van beide.

U kunt proberen " man ip-neighbour(man ip-neighbour) " te typen (let op de Britse spelling). Wanneer u die specifieke zin typt, ziet u de juiste man-pagina voor het vervangen van de ARP -manpagina (of het vervangen van het ARP -protocol). Waar het op neerkomt is dit: als je niet kunt vinden wat je nodig hebt, probeer dan verschillende combinaties te gebruiken totdat je de gewenste man-pagina krijgt.

Probeer bijvoorbeeld de man-pagina voor de nslookup-tool op te zoeken. Dit doe je door "man nslookup" in te typen. Als je dat doet, zie je een man-pagina die lijkt op de afbeelding/screenshot hieronder. U leert alles wat u wilt weten over de nslookup-tool.

Nadat de man-pagina op uw scherm verschijnt, kunt u naar beneden scrollen, de man-pagina lezen, toepassen, testen en zelfs sluiten (door de letter "q" te typen en de man-pagina automatisch te laten sluiten).

Als je een man-pagina opvraagt ​​die niet bestaat, zal Linux je de feedback geven dat er geen invoer is voor die man-pagina en om een ​​andere te proberen.

IPv4 en IPv6(IPv4 and IPv6)

Zowel IPv4 als IPv6 zijn technisch hetzelfde, maar voor ons mensen lijken ze niet hetzelfde. Ze zijn een middel om machines of apparaten op een lokaal netwerk ( LAN ) te identificeren. Ze zijn privé in de manier waarop ze de apparaten in het LAN identificeren .

IPv4 gebruikt getallen gescheiden door punten/punten. De meesten van ons zijn bekend met het type IP-adressen dat we zien voor computers die zijn aangesloten op onze privénetwerken met behulp van het IPv4 -formaat.

Computers in een netwerk hebben ook een IPv6 -adres, maar dat ziet er anders uit. IPv6 bestaat uit alfanumerieke tekens gescheiden door dubbele punten ( : ). 

Dus wat zijn de verschillen tussen IPv4 en IPv6 ? Zie(Think) het als een netwerknaam. De ene is als de voornaam en de andere is de achternaam. Beide namen verwijzen naar dezelfde persoon (of in dit geval een computer). Net zoals we over het algemeen een andere voornaam hebben dan onze achternaam, zal de IPv4 " naam" anders zijn dan de IPv6 " naam", hoewel ze allebei naar dezelfde machine verwijzen.

Carla Schroeder heeft een makkelijk leesbaar en nuttig artikel geschreven over IPv4 en IPv6(useful article about IPv4 and IPv6) .

Root-toegang op een Linux-server (en su en sudo)(Root Access on a Linux Server (and su and sudo))

Voor veel van de taken die moeten worden voltooid, is root-toegang (ook bekend als beheerder of supergebruiker) vereist. Dat komt omdat veel van deze hulpprogramma's en apps zo gevoelig zijn dat ze om veiligheidsredenen worden beperkt. 

Een alternatieve oplossing voor inloggen als root of het activeren van superuser-toegang (su) is om een ​​commando met "sudo" vooraf te laten gaan aan de Linux -machine dat dat specifieke commando moet worden uitgevoerd als superuser/root, maar dat volgende commando's dat niet doen (tenzij ook voorafgegaan door de "sudo" -richtlijn). 

In gevallen waarin "sudo" wordt gebruikt en aan de opdracht wordt toegevoegd, zal Linux om het su-wachtwoord vragen om de identiteit en machtigingen van de supergebruiker te verifiëren.

Netwerkprotocollen(Networking Protocols)

er zijn veel verschillende protocollen waarmee u rekening moet houden bij het bespreken van Linux . De twee primaire protocollen voor dit artikel zijn TCP en IP.

Transmissie Controle Protocol (TCP)(Transmission Control Protocol (TCP))

Transmission Control Protocol , ook wel TCP genoemd , is een protocol dat wordt gebruikt voor de verzending van pakketten, zoals de naam al aangeeft.

Zie hieronder voor een uitleg van verschillende tools, waaronder de Linux -tool genaamd Traffic Control (tc). 

TCP geeft het Linux -besturingssysteem instructies over hoe pakketten van de ene plaats naar de andere moeten worden verplaatst. Het controleert ook het netwerkverkeer en stuurt de overdracht van informatiepakketten (zoals mappen met gegevens(data) die van de ene plaats naar de andere gaan). 

Dit is de reden waarom het protocol  Transmission Control Protocol (TCP) wordt genoemd. 

Internetprotocol (IP)

Internet Protocol wordt gewoonlijk aangeduid met het acroniem IP.

In het geval van het IP heb je een groter gebied (het internet ) om pakketten te verzenden. Het is alsof je een bredere, langere en meer bereden snelweg hebt... internet genaamd. Terwijl TCP de verplaatsing van pakketten over een netwerk regelt, regelt IP de verplaatsing van pakketten over het internet.

ICMP-protocol

ICMP staat voor Internet Control Messaging Protocol . Hoewel het een protocol is dat beschikbaar is in de meeste Linux - distributies, is het mogelijk niet beschikbaar op alle Linux - distributies. Dit werd bewezen door het ontbreken van een Man -pagina binnen een huidige Centos - installatie.

Op het eerste gezicht lijkt het misschien niet dat dit specifieke protocol zo essentieel is, maar in werkelijkheid is het dat wel. ICMP is verantwoordelijk voor het verstrekken van foutmeldingen als/wanneer een pakket zijn bestemming niet goed bereikt. ICMP is essentieel voor het ontvangen van statusupdates over de levering (of ontvangst) van de verzonden informatiepakketten.

Gebruikersdiagramprotocol (UDP)(User Diagram Protocol (UDP))

User Diagram Protocol ( UDP ), net als Transmission Control Protocol ( TCP ), is een protocol voor de overdracht van informatiepakketten van het ene punt naar het andere. In het geval van TCP is er, als onderdeel van het proces/de verzending, een verificatie van de succesvolle levering van het/de pakket(ten), waardoor het betrouwbaarder is dan UDP .

In het geval van UDP is er geen verificatieproces, dus u weet niet of de pakketten met succes en zonder fouten zijn verzonden of ontvangen. Als zodanig is het een eenvoudig genoeg protocol om te gebruiken, maar het is niet verifieerbaar of kan worden geverifieerd. 

Linux-configuratie(Linux Configuration)

Er zijn verschillende configuratiebestanden beschikbaar in het Linux -besturingssysteem. 

Als u bijvoorbeeld een Apache -server op uw Linux -machine draait, zijn de Apache -configuratiebestanden belangrijk. Die bestanden laten de Apache -webserver weten wat er aan de hand is met het domein en meer specifiek de site die op die server wordt gehost.

Soms is het configuratiebestand gelabeld als httpd.conf. Soms wordt het aangeduid als apache.conf. Of het kan een heel ander label/naam zijn. Mogelijk vindt u de configuratiebestanden op de ene locatie op de ene server en de andere keer bevinden ze zich op een geheel andere locatie op een andere server.

Gelukkig zijn er handige commando's die kunnen helpen bij het vinden van specifieke configuratiebestanden. U kunt bijvoorbeeld het volgende typen om het configuratiebestand " httpd.conf " te vinden, als het bestaat:(httpd.conf)

find / -name “httpd.conf”

Het eerste woord, "find", laat Linux weten welk commando/hulpprogramma je gebruikt, wat in dit geval het "find" hulpprogramma is. Het tweede onderdeel van de opdrachtregel is de "/" die het zoekprogramma laat weten dat het het pad moet zoeken vanaf het hoofdniveau van de server.

Als je op een meer specifieke locatie zoekt, heb je misschien iets als "/etc" om Linux te laten weten dat het moet starten in de etc-map en dat pad moet volgen. Door een specifiek pad/locatie op te geven, kunt u het proces mogelijk versnellen, omdat Linux niet hoeft te zoeken op plaatsen die overbodig zijn.

De " -name " optie laat Linux weten wat je zoekt in de naam van het bestand of de directory. Het is handig om de naam tussen aanhalingstekens te plaatsen en u kunt bij het zoeken ook een asterisk ( * ) als jokerteken gebruiken.

Enkele voorbeelden van configuratiebestanden en mappen in de "/etc" map/pad zijn: 

  • pam.d – een map die hulpprogramma's bevat die verband houden met authenticatiemodules. "Su" en "sudo" zijn daar bijvoorbeeld te vinden.
  • sysconfig - een map die functies van de computer bevat, zoals energiebeheer, muis en meer. 
  • resolv.conf – een bestand dat helpt bij de functionaliteit van de domeinnaamserver, als de Linux -machine in die hoedanigheid wordt gebruikt.
  • services – dit bestand bevat de beschikbare verbindingen (dwz open poorten) die beschikbaar zijn op de Linux -machine.

Als je je afvraagt ​​of bestanden, paden of hulpprogramma's verouderd of verouderd zijn, gebruik dan de man-pagina's om te controleren. Dit is een handige manier om bij te houden wat er actueel is en wat er is veranderd.

Het Linux-bestandssysteem begrijpen(Understanding the Linux File System) 

In veel Linux(Linux distributions) -distributies zijn configuratiebestanden te vinden in de directory netwerkscripts onder het pad " etc/sysconfigAls ze zich daar niet bevinden, is er waarschijnlijk een vergelijkbare locatie/pad. De bestanden die in dit specifieke geval aanwezig zijn, worden weergegeven in de onderstaande schermafbeelding.

Zoals je in de onderstaande schermafbeelding zult zien, zijn er twee configuratiebestanden. Elk van hen is gelabeld volgens hun respectieve interfaces (dwz ifcfg-eth0).

De configuratiebestanden worden voorafgegaan door “ ifcfg ” die het ifconfig-commando(ifconfig command) vervangt (en ook een onderdeel wordt van de interfacebestandsnaam). Dat gezegd hebbende, is het nu ook enigszins vervangen omdat de ifcfg niet compatibel is met IPv6 .

De twee interfacereferenties ( ifcfg-eth0 en ifcfg-lo ) verwijzen naar specifieke typen interfaces. Linux -ontwikkelaars waren op dit gebied behulpzaam en gaven definitie en richting in de vorm van bestandsnamen. In het geval van de interface die eindigt op “ eth0 ”, is het een interface die is verbonden via “ethernet” of een ethernetmogelijkheid heeft.

Het gebruik van de letters " eth " wijst u in de goede richting. Het nummer dat volgt op "eth" geeft het nummer van het apparaat. Dus het volgende Ethernet-apparaat kan zoiets zijn als " ifcfg-eth1 " enzovoort.

De bestandsnaam die eindigt op "lo" verwijst naar een "loopback"-interface. Er wordt ook naar verwezen als de " localhost ." Dit is een netwerkverbinding die technisch gezien geen echte netwerkverbinding is. Hiermee kunnen processen eenvoudig op het apparaat communiceren zonder via het netwerk te communiceren. Denk "virtueel" wanneer u aan deze specifieke interface denkt.

Alle Linux- distributies kunnen een loopback (of localhost) hebben en zijn er meestal standaard voor ingesteld. Ze gebruiken een interface die eindigt op "-lo". Het IP-adres voor de localhost is meestal 127.0.0.1. In veel gevallen kan de virtuele loopback-interface worden gebruikt om verbindingen te testen en andere potentiële netwerkproblemen uit te sluiten.

De bestanden(The Files)

Er zijn verschillende manieren om configuratiebestanden te bewerken (en te bekijken). Een methode is om de “ vi editor ” te gebruiken die toegankelijk is via het commando “ vi ” gevolgd door de bestandsnaam. In dit geval, wanneer men " vi ifcfg-eth0 " typt (zonder de aanhalingstekens), kunnen ze de netwerkinformatie voor die specifieke interface (eth0) bekijken.

Het zou echter beter zijn om het op de traditionele manier te doen en de netwerkconfiguratie-instructies te volgen die te vinden zijn in de man-pagina voor ifcfg.

Dit kan ook gemakkelijker zijn voor de niet-technische persoon. Het gebruik van de vi-editor vereist een beetje aandacht voor detail, dus als je detailgericht bent (of al een programmeur of systeembeheerder bent), kan de vi-editor een optimale oplossing zijn bij het werken met Linux -configuratiebestanden.

Bij het openen van de man-pagina's kunnen we informatie bekijken over het ifcfg-script dat het ifconfig-script heeft vervangen (zoals getoond in de bovenstaande schermafbeelding van de man-pagina). Ook als we naar de lijst met interfaces in de Linux - distributie kijken, zien we de ifup- en ifdown-commando's. Ook die kunnen worden bekeken in hun man-pagina('s).

Een screenshot van de man-pagina wordt getoond in de onderstaande afbeelding. Zoals je op de man-pagina zult zien, zijn er extra Linux -configuratiebestanden (en de paden om naar die bestanden te gaan) die kunnen worden geraadpleegd (en gewijzigd) bij het instellen en configureren van de TCP/IP - bestanden op Linux .

Als u een opdrachtregelteksteditor zoals de vi-editor gebruikt om het configuratiebestand te bekijken, zult u enkele opties opmerken die zijn gedefinieerd. Als u bijvoorbeeld naar de netwerkinterface kijkt, ziet u mogelijk woorden in hoofdletters, gevolgd door een gelijkteken (=), en dan nog een woord. 

Er kan bijvoorbeeld een instructie zijn die " ONBOOT " is en er kan "ONBOOT=yes" staan ​​als een voorbeeld van een configuratie-optie. Er zijn ook verschillende andere configuratiepunten en opties. Een andere is bijvoorbeeld NETMASK

Als u de configuratie-instructie " NETWORKING " ziet, moet deze worden gevolgd door een "ja". Als het wordt gevolgd door "nee", kan dit een probleem vormen, omdat dat zou betekenen dat de netwerkinterface niet is geactiveerd voor netwerken. 

Hier is een stapsgewijs proces om de zojuist beschreven situatie te corrigeren:

  1. Maak voor de zekerheid een kopie van het configuratiebestand. Er zijn een paar manieren om dit te doen. Een van de gemakkelijkste is met het opdrachtvenster.

    Typ: cp ifcfg-eth0 ifcfg-eth0_20200101 Typ(cp ifcfg-eth0 ifcfg-eth0_20200101)

    vervolgens op de volgende regel: mv ifcfg-eth0_20200101 /home/mydirectory/ifcfg-eth0_20200101

    Dit verplaatst de bestandskopie die u zojuist hebt gemaakt naar een map die u gebruikt voor back-ups.
  2. Nu u een back-up van het configuratiebestand hebt gemaakt, is het tijd om wijzigingen aan te brengen in dat configuratiebestand. Als je de vi-editor gebruikt, typ je het volgende:

    vi ifcfg-eth0

    Nadat je dit hebt gedaan, wordt het bestand geopend in de terminal/command-toepassing (vergelijkbaar met de manier waarop een man-pagina wordt geopend wanneer je deze activeert).

    Zodra het configuratiebestand is geopend, zoekt u naar de regel met " NETWORKING=no " en verwijdert u die regel of wijzigt u deze in "NETWORKING=yes". Dit kan met de “ cw”-richtlijn in de vi-editor. Door een schuine streep naar voren te typen, vertel je de vi-editor dat je naar iets zoekt. In dit geval laat je de redacteur weten dat je zoekt naar “NETWERKEN” en wanneer het gevonden is (door de muis naar die locatie te leiden) kun je de rechterpijltoets gebruiken om naar het woord “nee” te gaan.

    Wanneer je bij het woord "nee" komt, stop dan op de "n" en typ " cw ", zodat je het "nee" in "ja" kunt veranderen. De "cw" staat voor woord wijzigen en Linux stelt je in staat om het hele woord van het ene woord ("nee") naar het andere ("ja") te veranderen. Als u slechts één letter wilt wijzigen, kunt u een "r" gebruiken om één letter of teken te vervangen.

    De screenshots tonen dit proces hieronder.
     
  3. Na het opslaan van het configuratiebestand (dwz esc typen om uit de INSERT -modus te komen en dan een dubbele Z om het bestand op te slaan), is het tijd om de service of de computer opnieuw op te starten. Dit kan op verschillende manieren. Een methode om de computer opnieuw op te starten, is door de volgende opdrachtregel te typen:

    shutdown -r now

    De opdracht shutdown vertelt de Linux -machine om af te sluiten. De optie -r vertelt het commando dat het niet alleen een shutdown is, maar een reboot en om het nu te doen.

    Tip: Als u wilt weten wanneer de computer of server opnieuw is opgestart, typt u "ping" en vervolgens het openbare IP-adres van de computer/server (of een domeinnaam van een site die op de Linux -server wordt gehost).

    Door het ping-commando te gebruiken, zult u zien dat de server niet "pingbaar" is (wat gebeurt tijdens het opnieuw opstarten) en wanneer de server vervolgens opnieuw opstart, zal de ping reageren met een positief antwoord, wat aangeeft dat het opnieuw is opgestart.

Hieronder volgen enkele afbeeldingen die helpen om de stappen in de bovenstaande lijst te illustreren.

Stap 1:

Stap 2:

Tip: Houd er rekening mee dat niets in de serverwereld uniek is. U kunt bijvoorbeeld de configuratie voor een bepaalde interface (in dit geval eth0) wijzigen, maar dat kan slechts één interface op een netwerk zijn en kan worden beïnvloed door (of invloed hebben op) een andere server.

Dus, in het bovenstaande voorbeeld, door de server opnieuw op te starten, worden netwerkapparaten geactiveerd om ook opnieuw op te starten. Dit is niet de enige optie voor deze interface, maar deze interface zou worden beïnvloed door een opdracht om opnieuw op te starten. 

/etc/hosts File(s)

Het bestand /etc/hosts kan al dan niet bestaan. Als het bestaat, kan het al dan niet worden gebruikt in de configuratie. U hebt bijvoorbeeld een ander systeem dat hostconfiguraties afhandelt, in plaats van het bestand rechtstreeks te beheren. Ook varieert het hosts-bestand zelf. Zo gaan IPv4 en IPv6 anders met de configuratie om, zoals je in onderstaande afbeelding kunt zien.

Configuration Files; Locations/Paths; Terms; and More

Enkele extra handige bestandsnamen en bestandslocaties zijn:

  • /etc/sysconfig/network-scripts/ (configuratiebestandspad)
  • /etc/sysconfig/network-scripts/ifcfg-eth0 (configuratiebestand)
  • /etc/hosts (configuratiebestand)
  • /etc/resolv.conf (configuratiebestand met naamserverinformatie)

In veel gevallen maakt systeem- of serversoftware de configuratiebestanden automatisch aan. Als DHCP wordt gebruikt, zijn er ook andere aspecten van de netwerkconfiguratie die on-the-fly worden berekend, aangezien in dat geval geen statische IP-adressen worden gebruikt.

De volgende command-line (CL)-commando's werden (of worden) gebruikt in de meeste Linux-distributies. Waar ze verouderd of verouderd zijn, wordt de vervangingsopdracht weergegeven.

  • route ( obsolete / deprecated ): Werd gebruikt om routes te tonen en te bewerken. Vervangen door ip-route .
  • hostname : Wordt gebruikt om de hostnaam van de machine weer te geven of te manipuleren en te bewerken. 
  • netstat : bekijk netwerkverbindingen, routeringstabellen, interfacestatistieken, multicast-lidmaatschappen, enz.
  • arp : ( obsolete / deprecated ) Wordt gebruikt om IPv4- informatie weer te geven; specifiek de netwerkbuurcache. IPv6 is het netwerkadres geworden en vervangt de IPv4- verzameling van vier getallen gescheiden door punten. In het licht van deze wijzigingen is dit verouderde commando vervangen door ip neigh .
  • ip : IP staat niet alleen voor "internetprotocol" en het ultieme WAN (wide area network"), maar het is ook een hulpprogramma waarmee de systeembeheerder of computergebruiker de TCP/IP - parameters kan bekijken en instellen als nodig zijn.
  • tc : Dit staat voor "traffic control" en is een hulpprogramma om te helpen bij het beheren van het inkomende en uitgaande verkeer op de Linux -machine. 

Configuratietools: GUI Vs. Opdrachtregel (CL)(Configuration Tools: GUI Vs. Command Line (CL))

Om een ​​referentiepunt te bieden, tonen de volgende drie afbeeldingen een grafische gebruikersinterface ( GUI ) mechanisme voor het afhandelen van de netwerkconfiguratie, inclusief TCP/IP

De eerste afbeelding is de Apple Mac GUI ( System Preferences > Networking ) en de tweede twee afbeeldingen zijn die van het Windows-besturingssysteem(Windows Operating System) (hoewel dit van versie tot versie verschilt). Het is toegankelijk via het Microsoft Configuratiescherm(Microsoft Control Panel) en Netwerkverbindingen(Network Connections) , zoals u kunt zien in de schermafbeeldingen.

Voors en tegens van GUI versus teksteditor of opdrachtregel (CL)(Pros and Cons of GUI Versus Text Editor or Command Line (CL))

Hoewel veel mensen de voorkeur geven aan grafische gebruikersinterfaces ( GUI ) vanwege hun gebruiksgemak, visuele presentatie en algehele eenvoud, is het handig om configuratiebestanden te begrijpen (in dit geval gerelateerd aan netwerken), zodat u eventuele problemen kunt oplossen en corrigeren. 

Misschien wil je eerst de GUI pakken , maar het helpt om volledig op de hoogte te zijn ... voor het geval dat. Ook zijn er enkele besturingssystemen die niet per se een GUI hebben (of er nog geen hebben), dus nogmaals; het is handig om voorbereid te zijn.

In de volgende sectie bespreken we configuratiebestanden en hoe u ze kunt openen, bijwerken, evenals het beheer van de bestanden en hulpprogramma's.

Linux Command-Line (CL) Tools, Utilities, Scripts en Daemons(Linux Command-Line (CL) Tools, Utilities, Scripts, and Daemons)

Er zijn veel tools beschikbaar voor Linux- distributies. Nogmaals(Again) , net als bij andere commando's zijn er overeenkomsten (en verschillen) tussen hoe die tools in de verschillende distributies worden gebruikt. In sommige gevallen zijn er tools beschikbaar, maar deze moeten eerst worden geïnstalleerd, en het installatieproces varieert vaak.

De opdrachtregeltool wordt vaak shell genoemd(shell) en in het begin terminal . Er zijn andere termen voor, maar over het algemeen is het een toepassing die de gebruiker toegang geeft tot besturingssystemen door opdrachten in een venster te typen.

Laten we een paar voorbeelden bekijken. De eerste is van het Windows -besturingssysteem en komt waarschijnlijk bekend voor bij Windows - gebruikers. De tool wordt geopend door CMD(CMD) te typen (zoals weergegeven in de onderstaande schermafbeeldingen). 

De tweede schermafbeelding is die van een applicatie genaamd Terminal die vooraf is geïnstalleerd op de meeste Apple - computers.

NSLookup (nslookup)

In het geval van nslookup , staat de ns voor nameserver en het opzoekgedeelte(lookup) van de opdracht is een "opzoeken" van informatie. Dus wat de naam van deze tool ons vertelt, is dat het informatie zal opzoeken die algemeen beschikbaar is via een naamserver.

NSLookup is een handig hulpmiddel. In dit geval gebruiken we het om informatie over eBay op te zoeken. Om dit te doen, typen we "nslookup ebay.com" en we krijgen informatie te zien die vergelijkbaar is met wat wordt weergegeven in de onderstaande afbeelding.

De opdracht wordt bovenaan de schermafbeelding weergegeven (na de vervaagde privégegevens). Vervolgens wordt de uitvoer van dat verzoek (de nslookup ) hieronder weergegeven, met informatie zoals Server (het openbare IP-adres), het specifieke IP-adres(IP address) , enz. 

Verkeersleiding (tc)(Traffic Control (tc))

Een andere tool is de tool “Traffic Control” (ook wel “tc” genoemd). Het is een tool waarmee datapakketten kunnen worden gepland en verwerkt. 

De opdracht vertelt u hoe(how) de pakketten over een netwerk bewegen. Dat hoe(how) -aspect omvat de antwoorden op vragen als timing, snelheid, apparaten en meer. Hier is een opdrachtregel (CL) weergave van het gebruik van Traffic Control (tc):

Hoewel het voor sommigen misschien "brabbeltaal" lijkt, vertegenwoordigt elk woord in de opdrachtregel iets belangrijks. Hier is de lijst:

  • tc : Dit is de tool, in dit geval "Traffic Control" (ook bekend als "tc"). Dit vertelt de opdrachtregeltoepassing/software welke Linux -tool moet worden gebruikt.
  • qdisc : Deze afkorting staat voor wachtrijdiscipline(queuing discipline) en is een andere manier om een ​​eenvoudige planner te beschrijven.
  • add : Aangezien we een configuratie aan het bouwen zijn (ja, technisch gezien een bestand), vertellen we de tool dat we aan de controles toevoegen .(adding)
  • dev eth0 : De "dev" verwijst naar het "apparaat", om de tool te laten weten dat we op het punt staan ​​het apparaat te definiëren. De "eth0" is in dit geval de verwijzing naar het apparaat. U zult merken dat dit vergelijkbaar is met wat wordt weergegeven in een grafische gebruikersinterface ( GUI ) voor een apparaatlabel.
  • root : Dit vertelt de tool dat we het uitgaande verkeer vanaf het rootniveau of uitgaand verkeer wijzigen.
  • netem : Dit woord vertegenwoordigt de uitdrukking "netwerkemulator". Hoewel het misschien niet het hardwarenetwerk is, emuleert het hetzelfde. Dit is vergelijkbaar met hoe de Parallels -software de (Parallels)Windows -software voor Apple - computers emuleert . Toegegeven, het is een heel ander stuk software, maar het is emulatiesoftware op dezelfde manier als netem een ​​netwerk emuleert. In dit geval vertegenwoordigt netem een ​​WAN (wide-area-network) in tegenstelling tot een LAN (local-area-network). 
  • vertraging(delay) : Dit woord vertelt de tc-tool dat we de "vertraging"-component van de transactie wijzigen.
  • 400 ms : we hebben de tool al verteld dat we de vertraging beïnvloeden, maar nu moeten we bepalen hoeveel we de vertraging beïnvloeden. In dit geval is dat 400 milliseconden. 

Netwerkmanager(Network Manager)

Het doel van de Network Manager is om uw netwerkconfiguratie te vereenvoudigen en te automatiseren. Voor DHCP - gebruikers kan de netwerkbeheerder(Network Manager) een IP-adres verkrijgen, standaardroutes vervangen en automatisch naamservers verwisselen.

De nmtui-tool voor het gebruik van uw Network Manager is beschikbaar in de meeste, maar niet alle, Linux - distributies. Houd er ook rekening mee dat sommige tools "beschikbaar" zijn en toch niet beschikbaar. Met andere woorden, er zijn enkele tools en daemons die moeten worden geïnstalleerd en die niet noodzakelijk vooraf zijn geïnstalleerd op de Linux - distributie in kwestie.

Andere netwerkonderwerpen(Other Networking Topics)

Er zijn veel aspecten van netwerken en TCP/IP die bijzonder fascinerend zijn, vooral als je te maken hebt met een Linux- distributie. Vergeet(Don) niet dat je man-pagina's (ook wel man-pagina's genoemd) direct binnen de Linux - installatie beschikbaar hebt. Dus hoewel dit misschien een soort niet-gerelateerde lijst lijkt van wat je niet moet doen, kun je altijd een man-pagina gebruiken om erachter te komen wat je moet doen.

Linux als de router(Linux as the Router)

Tegenwoordig gebruiken de meeste mensen hardware die speciaal is bedoeld voor routering (dwz router) om de netwerkroutetaak te beheren(manage the network route task) .

Vaak is dat omdat routers deel uitmaken van de pakketdeal met internetpakketten/contracten voor thuis of op kantoor. De klant wordt meestal betrapt op het betalen van een huur-/leasevergoeding per maand (of jaarlijks) of het kopen van de router. 

Hoe het ook wordt aangepakt, Linux(Linux) hoeft niet als een router te werken, ook al kan het als een router functioneren. De hierboven beschreven scenario's creëren een bijna pseudo-afschrijvingssituatie voor Linux , maar dat betekent niet dat Linux helemaal uit het spel is. Het is mogelijk om een ​​Linux -server in te stellen als de hardware (en daaropvolgende software) router als dat nodig is.

IP-route (voorheen "route")(IP Route (Formerly “Route”))

De volgende afbeelding toont een screenshot van de man-pagina voor “Route” en de richtlijnen die mogelijk zijn met die tool. 

SNORT – Een indringerdetectiesysteem(SNORT – An Intruder Detection System)

Snort Software is een open source Intrusion Detection System ( IDS ), oorspronkelijk ontwikkeld door Martin Roesch en sindsdien overgenomen door Cisco Systems(Martin Roesch and since acquired by Cisco Systems) . Het werkt op basis van regels die gebruikmaken van de TCP/IP -lagen van het netwerk. Door deze regels te definiëren, worden inbraken geïdentificeerd om een ​​netwerk te beschermen.

How to Set Up Linux > TCP/IP Settings for Linux

De volgende mini-tutorials helpen je bij een aantal veelvoorkomende taken die je in de Linux(Linux) -wereld  kunt tegenkomen .

Houd er rekening mee dat tijden snel veranderen, dus het is handig om uw man-pagina's en zoekopdrachten in Google te gebruiken om de volgende stappen te verifiëren en ervoor te zorgen dat er geen andere hulpmiddelen zijn die het werk beter kunnen doen. Op het moment van schrijven van dit artikel is dat nog niet het geval.

Tutorial 01: Een statisch IP-adres toewijzen aan een Linux-machine(Tutorial 01: Assigning a Static IP Address to a Linux Machine)

De eerste vraag die u moet stellen, is of de computer/server een statisch IP-adres nodig heeft (een dat niet verandert) of een veranderlijk IP-adres (zoals DHCP – Dynamic Host Configuration Protocol ). Als dit uw pc is (geen server), is de kans groot dat u DHCP gebruikt voor uw toegang tot internet.

Dat betekent dat u niet hoeft te knoeien met het toewijzen van een statisch IP-adres aan uw computer. Uw internetprovider ( ISP ) en eventuele geleverde/gehuurde hardware berekent automatisch een IP-adres on-the-fly zodat u verbinding kunt maken met internet. Met andere woorden, als u geen statisch IP-adres nodig heeft, is een dynamisch veranderend IP-adres prima voor uw niet-servercomputer.

Als u een server heeft en deze voor anderen toegankelijk moet zijn (dwz buiten uw huis; een WAN/internet ; niet-LAN), dan heeft u een statisch IP-adres nodig zodat ofwel het domein dat u gebruikt, eraan is toegewezen via de hosting nameserver die aan het domein is toegewezen, of direct toegankelijk via het statische IP-adres.

Als niemand buiten uw huis toegang nodig heeft tot uw computer of server, dan is een veranderend IP-adres (dynamisch; niet-statisch) prima, omdat niemand een statisch IP-adres gebruikt.

Opmerking: sommige mensen hebben een DHCP IP -adres gebruikt voor openbare toegang (ja, zelfs als server), maar,

  1. Het vereist een zeer technisch ingestelde persoon om dit te doen, dus het is niet zo gebruikelijk.
  2. Het is veel moeilijker te onderhouden (vanwege de steeds veranderende aard) dan een statisch IP-adres.

Als je een statisch IP-adres nodig hebt, ga je gang en volg je de stappen hier. Zo niet, dan kunt u dit gedeelte overslaan.

Zoals u zult zien, bevat de opdracht (hierboven weergegeven) "sudo" aan het begin van de regel. Hoewel het mogelijk is om het "su"-commando (superuser) te gebruiken en in te loggen als de superuser, voert het gebruik van "sudo" alleen dat ene commando uit als superuser.

Bij de andere methode, inloggen als superuser, kunnen alle taken als superuser worden uitgevoerd, waardoor het gemakkelijker wordt om te doen wat moet worden gedaan.

Daar komt echter ook een veiligheidsrisico bij kijken. Daarom is het veiliger om de opdracht gewoon met sudo te starten en de app om een ​​wachtwoord te laten vragen (indien nodig) om de opdracht als supergebruiker voor die taak/opdracht te voltooien.

De keuze is aan jou en moet gebaseerd zijn op de methode die gemakkelijker is. Het bestand dat wordt weergegeven door de onderstaande schermafbeelding is toegankelijk via de volgende opdracht:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

Voordat die opdracht wordt gebruikt, wordt het nummer van het netwerkapparaat geverifieerd ( eth0 ) om er zeker van te zijn dat het correct is. Zoals je je herinnert, worden de Linux -configuraties beheerd in het bestand voor de interface, dus het is essentieel dat het interfacenummer wordt geverifieerd vanuit dat bestand voordat het configuratiebestand wordt bewerkt.

Een ander aspect van het configuratiebestand om op te letten, is het gebruik van het woord 'statisch'. Aangezien we een statisch IP-adres toevoegen, is het belangrijk om het configuratiebestand te laten weten dat dat het geval is. 

De opmerkingen zijn om illustratieve redenen in de onderstaande schermafbeelding toegevoegd, maar mogen niet worden opgenomen in uw configuratiebestand. Ook zijn in sommige Linux- distributies aanhalingstekens vereist. In dit specifieke configuratiebestand waren geen aanhalingstekens aanwezig in het automatisch gemaakte configuratiebestand, zodat de trend werd voortgezet en er geen aanhalingstekens werden toegevoegd.

De volgende schermafbeelding laat zien hoe het bestand er daadwerkelijk uit zou zien, met de notities en extra spaties verwijderd.

Het volgende (en laatste) configuratiebestand dat moet worden bewerkt, is toegankelijk door te typen:

sudo vi /etc/resolv.conf

Binnen dat bestand kunnen de nameservers worden toegevoegd (of gewijzigd). Die nameservers moeten overeenkomen met het andere configuratiebestand dat zojuist is gewijzigd. In dit geval in /etc/sysconfig/network-scripts/ifcfg-eth0 (de schermafbeelding hierboven).

De woordenstroom die zal worden gebruikt, is 'nameserver'. Dus waar het apparaatconfiguratiebestand DNS1=8.8.8.8 toont , zou het resolv.conf-bestand nameserver 8.8.8.8 moeten tonen .

De tegenhanger van DNS2=4.4.4.4 zou worden weergegeven als nameserver 4.4.4.4 in het bestand resolv.conf.

Losjes gezegd, de bovenstaande stappen werken op de Red Hat Linux -distributie, maar er is geen garantie dat het in de toekomst zal werken, met de technologische veranderingen die zich voordoen. Daarom moeten configuraties worden getest en geverifieerd.

Nadat de configuraties zijn voltooid, start u de netwerkinterface opnieuw op met de voorkeursmethode zoals hierboven beschreven. Hiermee worden de wijzigingen toegepast. Het is ook handig als het statische IP-adres wordt getest. U kunt dit doen door te proberen verbinding te maken met dat openbare statische IP-adres vanaf een ander apparaat (bij voorkeur op een ander netwerk).

U kunt ook een vriend of medewerker bellen en hen een verbinding laten maken met het statische IP-adres vanaf een andere geografische locatie (en ander netwerk).

Tutorial 02: Netwerk IP-aliasing(Tutorial 02: Network IP Aliasing)

Het is mogelijk om meer dan één IP-adres toe te wijzen aan één netwerkinterfacekaart ( NIC ). Dit wordt netwerk-IP-aliasing(Network IP Aliasing) genoemd omdat slechts één IP een echt IP-adres zou zijn, dus de extra IP-adressen zijn aliassen voor dezelfde kaart. Om het IP-adres toe te wijzen, gebruikt u uw favoriete methode om het IP-adres toe te wijzen zoals beschreven in Tutorial 01.

Het is niet zo dat het statisch moet zijn, maar om meerdere IP-adressen toegewezen te krijgen met behulp van Network IP Aliasing , moet men IP-adressen toewijzen met behulp van een statisch IP.

Tutorial 03: Hostnaam van de Linux-machine wijzigen(Tutorial 03: Change Host Name of the Linux Machine)

Gebruik de volgende stappen om de hostnaam van uw Linux -machine te wijzigen met uw voorkeurseditor:

1. Wijzig het configuratiebestand van de hostnaam door het volgende in de opdrachtregel-app te typen:

   sudo vi /etc/hostname

Waar u ook de oude hostnaam in dat configuratiebestand ziet, vervang deze door de nieuwe hostnaam.

2. Wijzig het hosts-configuratiebestand door het volgende in de opdrachtregel-app te typen:

   sudo vi /etc/hosts

Waar u ook de oude hostnaam in dat bestand ziet, vervang deze door de nieuw gekozen/aangewezen hostnaam op dezelfde manier als u deed met het hostnaamconfiguratiebestand(hostname) in de bovenstaande stap één.

3. Start de server of Linux - computer opnieuw op. Een methode om dit te doen (afhankelijk van je Linux -distro) is om het volgende in de opdrachtregel-app te typen:

   sudo shutdown –r now

Deze herstart is nodig om de wijzigingen door te voeren.

Tutorial 04: Uw NIC in- en uitschakelen(Tutorial 04: Enable and Disable Your NIC)

Een van de meer fascinerende dingen die u via de opdrachtregel in Linux kunt doen, is uw (Linux)Ethernet - verbinding in- of uitschakelen .

Typ hiervoor de juiste opdracht uit deze twee:

   sudo ip link setup
   sudo ip link setdown

Met oudere versies van Linux zou je ifconfigup of ifconfigdown kunnen uitvoeren, maar het is mogelijk dat deze commando's verouderd of verouderd zijn binnen nieuwere Linux - distributies. In dat geval verdient het nieuwere ip-commando de voorkeur.

Tutorial 05: Netwerk doorsturen inschakelen(Tutorial 05: Enable Network Forwarding)

Uw Linux -besturingssysteem kan verschillende netwerken verbinden en kan als router fungeren. Het enige dat u hoeft te doen, is uncomment the net.ipv4.ip_fporward=1 line zodat u het IP-adres kunt doorsturen.

Het benodigde configuratiebestand wordt normaal opgeslagen in /etc/sysctl.conf :

Voor voorbeelden van hoe u het kunt instellen, raadpleegt u " How to enable IP forwarding on Linux (IPv4 / IPv6) ."

Als je een Linux -server opzet met DHCP (in plaats van een statisch IP-adres) kun je kiezen voor een vorm van netwerkforwarding. Dit is niet gebruikelijk, maar er wordt hier naar verwezen omdat het uitvoerbaar is en het een geval vertegenwoordigt waarin iemand daartoe geneigd kan zijn.

Tutorial 06: Afstandsbedieningen via Shell(Tutorial 06: Remote Commands Via Shell)

In het geval dat u toegang moet krijgen tot een Linux -server en die server zich geografisch niet op dezelfde plaats bevindt als u, moet u mogelijk externe opdrachten gebruiken om toegang te krijgen tot die externe Linux -server. 

Voor degenen die programmeurs of systeembeheerders zijn, is "remoting in" naar een server een normaal verschijnsel. 

Een van de meest populaire manieren om dit te doen, is door de opdracht " ssh " te gebruiken, waarmee u de opdrachtregel-app laat weten dat u veilig toegang wilt krijgen tot de Linux -server, zelfs als u dit doet via een onveilige verbinding. 

Naast het gebruik van het "ssh"-commando, moet u informatie verstrekken over waar u verbinding maakt en hoe (naast andere beschikbare opties).

U kunt een domeinnaam gebruiken voor toegang tot de Linux -server of zelfs een openbaar statisch IP-adres. De naam of het IP-adres vertelt het ssh-commando waartoe het toegang heeft en waar het het kan vinden.

Andere opties kunnen de gebruikersnaam zijn die wordt gebruikt om in te loggen op de externe server. Als die optie niet is gedefinieerd, kan het worden gevraagd, maar het is ook een optie om het tegelijk met het ssh-commando te definiëren.

Bijvoorbeeld:

   ssh username myserver.com

Het wachtwoord kan ook in de opdracht worden geconfigureerd, maar om veiligheidsredenen wordt aanbevolen dat u dit invoert op het moment van de verbinding met de externe server. 

Waarom? Als het wachtwoord in platte tekst in de opdracht wordt getypt, kan de volgende persoon die dezelfde computer gebruikt toegang krijgen tot het wachtwoord.

Om extra veiligheidsredenen wil je misschien toegang krijgen tot de Linux -server via een specifieke poort. Door een poort aan te wijzen die gebruikt mag worden, kunt u andere poorten blokkeren en hackerpogingen of DOS -aanvallen (denial of service) voorkomen. 

Er zijn veel verschillende configuratiepunten voor ssh. Sommige hiervan staan ​​vermeld op shellhacks.com .

Tutorial 07: Hulpprogramma's voor netwerkbewaking(Tutorial 07: Network Monitoring Tools)

Een belangrijk onderdeel van het beheren van een netwerk is controleren of alles werkt en blijft werken. U kunt dit doen door middel van netwerkmonitoring. Tools die geschikt zijn voor netwerkmonitoring variëren, maar bereiken uiteindelijk vergelijkbare doelen en doelstellingen.  

Een voorbeeld van zo'n tool voor netwerkmonitoring is Cactussen(Cacti) . Cacti   is een open source netwerkmonitoringtool. Cacti bewaakt het netwerk en geeft grafische weergaven van wat er is gelogd. Dit helpt gebruikers (vooral nieuwelingen) om te identificeren waar er mogelijk problemen zijn.

De front-end biedt plaats aan veel gebruikers en wordt soms gebruikt door hostingdiensten om realtime bandbreedte-informatie en andere gegevens in de volgende grafieken weer te geven.

Gegevens kunnen via elk extern script of commando in Cacti worden ingevoerd . Cacti brengt de gegevens samen via een cron-job en vult uw MySQL - database voordat deze wordt gepresenteerd als een frontend-gebruikersgrafiek.

Om het verzamelen van gegevens af te handelen, kunt u cactussen de paden naar elk extern script/commando geven, samen met alle gegevens die de gebruiker moet "invullen". Cacti verzamelt deze gegevens vervolgens in een cron-job en vult een MySQL - database.

Cacti is een handig hulpmiddel voor netwerkbeheerders die het netwerkgebruik willen controleren en consumenten willen voorzien van gemakkelijk te begrijpen beelden. Cactussen(Cacti) zijn gratis te downloaden op cactussen.net(cacti.net) . De website bevat documentatie om de tool voor netwerkbewaking te installeren en configureren.

Alternatieven voor Cacti die u zou kunnen proberen, zijn Solarwinds NPM , PRTG en Nagios . Solarwinds ondersteunt zowel SNMP als ICMP/Ping , WMI , Netflow , Sflow , Jflow en IPFIX , om er maar een paar te noemen. De vooraf gebouwde sjablonen, grafieken en waarschuwingen helpen u om snel te beginnen met het monitoren van uw netwerk.

PRTG stelt gratis tot honderd Sensoren ter beschikking. Het heeft vergelijkbare functies als Solarwinds , plus flexibele waarschuwingen en applicaties voor smartphones , tablets, ipads.

Nagios heeft alle tools die je in Cacti vindt , maar vereist wat meer configuratie. Er zijn tal van plug-ins om uit te kiezen. Het heeft een solide reputatie als een van de oudste netwerkbeheer- en monitoringtools. Maar u zult uw handen vuil moeten maken aan het onderhoud van de configuratiebestanden.



About the author

Ik ben een freeware-softwareontwikkelaar en voorstander van Windows Vista/7. Ik heb honderden artikelen geschreven over verschillende onderwerpen die verband houden met het besturingssysteem, inclusief tips en trucs, reparatiehandleidingen en best practices. Ik bied ook kantoorgerelateerde adviesdiensten via mijn bedrijf, Help Desk Services. Ik heb een diep begrip van hoe Office 365 werkt, de functies ervan en hoe ik deze het meest effectief kan gebruiken.



Related posts