Deze pagina is laatst gewijzigd/aangepast op 06-06-2016
networkmanager
NetworkManager en dhcpcd zitten in elkanders vaarwater.
Het is niet mogelijk om beide clients tegelijkertijd werkend te hebben
in mijn /etc/dhcpcd.conf is het opgegeven IP 10.0.0.34 en in de NetworkManager is het zoals bedoeld IP 10.0.0.11
Niks aan de hand, dus laat het zo, of verander de dhcp client via:
/etc/NetworkManager/conf.d/dhcp-client.conf [main] dhcp=dhclient
waarmee de NM-client wordt overruled
ip adres configuratie (ipv4)
NIEUW: "predictable" interfacebenaming voor o.a. ETH0
Bij de ontwikkeling van "systemd" is vanaf versie 197 bepaald dat netwerkinterfaces van een zg predictable (voorspelbare?) benaming voorzien worden.
Zo wordt ETH0 hernoemd naar bv. ENP8S0, wat wellicht nuttig kan zijn in een serverpark, maar zeker niet voor thuiscomputers / -netwerken, waar veelal scripts gebruik maken van de oorspronkelijke duiding.
Om de ETH0 benaming te herstellen is een commandoregel nodig:
sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
Een herstart van de computer volstaat.
De reden hiervoor wordt hieronder uitgelegd: (of lees hier voor uitgebreide info)
Basic idea is that unlike previous *nix naming scheme where probing for hardware occurs in no particular order and may change between reboots, here interface name depends on physical location of hardware and can be predicted/guessed by looking at lspci or lshw output.
Conversely we can guess information about it's physical position in the pci system. In your case that would be pci bus 0, slot 2.
According to the freedesktop.org article, there actually are 3 ways how interface name is assigned: based on BIOS/Firmware for onboard cards, based on PCI information, and based on MAC address of the interface.
And, according to the freedesktop.org page one of the reasons for switching to predictable naming is that classic naming convention can lead to software security risks in multi-interface systems when devices are added and removed at boot.
Also, according to the comment by Sam Hanes, "On a big server with many Ethernet ports it's invaluable: you can immediately tell which interface goes to which port and adding or removing hardware doesn't change the names of other ports."
5 januari 2019
Een netwerk is het Internet (WAN-Wide Area Network), de lokale verbinding tussen de computer en een router (LAN-Local Area Network) en de computer zelf (localhost: 127.0.0.1)
Om een apparaat op een netwerk te laten functioneren dient het een adres toegekend te krijgen, een zg IP-address,
in het geval van een IPv4 Internet-connectie worden er twee IP-nos toegewezen: een intern IP (LAN-IP) en een extern IP (WAN-IP) aan de router. (IP= InternetProtocol)
Netwerk Routing:
- de router krijgt van de Internet Service Provider (ISP) een WAN-IP toegekend in een range van bv. 87.211.xxx.xxx
- de router heeft een LAN-IP dat doorgaans iets als 192.168.1.1 is
- ieder apparaat heeft een lokaal IP-adres: 127.0.0.1 (het zg. loopback adres c.q. localhost address)
- aan de router gekoppelde apparaten krijgen in dit geval een LAN-IP adres in de range 192.168.1.2 tot 192.168.1.255
- ieder apparaat dient te weten aan welk netwerk het gekoppeld is: Networkadress: 192.168.1.0
- ieder apparaat maakt kenbaar in welk netwerk gekoppeld te zijn d.m.v. een Netmask adres: 255.255.255.0
- ieder apparaat dient het adres naar het Internet te weten: Gateway 192.168.1.1 (het router LAN-IP)
- eventueel kan ieder apparaat de mogelijkheid krijgen om een bericht LAN-wide te zenden: Broadcast Address 192.168.1.255
Het is niet noodzakelijk om zelf IP adressen toe te kennen!!
De in de router ingebouwde DHCP server zal aangesloten apparaten automatisch van een adres voorzien!
klik op de afbeelding
IP adressen / ranges kunnen als volgt zijn samengesteld:
Intern/LAN (Private IP):
- class A: 0.0.0.0 - 127.255.255.255 / subnet 255.0.0.0 ( max 16.777.216 adressen)
- class B: 128.0.0.0 - 191.255.255.255 / subnet 255.255.0.0 (max 65,536 adressen)
- class C: 192.0.0.0 - 223.255.255.255 / subnet 255.255.255.0 (max 2,097,152 adressen)
Deze LAN adressen mogen, worden en kunnen niet op het internet gebruikt worden.
Extern/WAN (Public IP):
- IPv4: bv. 87.211.111.33
- IPv6 : (vanaf 20??) : 2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-voorbeeld.net
ipv6: (voorlopig) uitschakelen
Met IPv6 krijgt elk apparaat dat voorzien is van netwerkfunctionaliteit een eigen IP nummer.
Hiermee is het mogelijk om vanuit d'andere kant van de wereld uw " netwerk-broodrooster" via het internet in of uit te schakelen :-).
De daaruit voortkomende ellende zal niet te beteugelen zijn!
- Een virusscanner op je broodrooster, koelkast en overige Domotica ??
- Intranettten worden nu ook geinfecteerd.
- Databanken worden voor de hele wereld benader- en leesbaar. (dus ook het "kaartenbakje")
- Brieven, nota's, enfin de hele bliksemse priveboel gaat on-line!!
Al sinds 2011 zou in de
"toekomst" IPv6 alle IPv4 adressen gaan vervangen, op dit moment echter zijn er nog maar weinig ISP' s die dit ondersteunen. Als gevolg hiervan zal een Linux computer (en Windows v.a. Vista), welke standaard voorbereid is om IPv6 nummers te gebruiken, vertraging kunnen ondervinden op het Internet doordat deze nummers via een extra router geleid worden.
Verhelp dit door IPv6 uit te schakelen totdat het alom ondersteund zal worden; voer de volgende commando's uit:
sudo nano /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6="1" net.ipv6.conf.default.disable_ipv6="1" net.ipv6.conf.lo.disable_ipv6="1"
sudo sysctl -p
sudo ifconfig eth0 upIn plaats van deze commando's kan in het Grub2 menu ook toegevoegd worden op de "kernel" regel:
ipv6.disable=1
netwerkkaart configuratie
De netwerkconfiguratie dient ÓF handmatig ÓF via een grafische gebruikers interface ingesteld te worden!
Het door elkaar gebruiken van beide methodes zal tot conflicten danwel niet weggeschreven aanpassingen leiden.
Handmatig:
Configureer allereerst de netwerknaam en -groep: (voorbeelden in class A range 10.0.0.0)
sudo nano /etc/networks
maak dit gelijk aan:
default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 # bedoeld om terug te koppelen naar DHCP server tbv dynamisch IP localnet 10.0.0.0
Link-local is alleen nodig indien er geen andere mogelijkheid bestaat tot het verkrijgen van een geldig IP adres op het LAN. Dat kan zijn indien er er geen DHCP server aanwezig, danwel geconfigureerd is, of wanneer de computer "On-The-Road" gebruikt wordt.(laptops, tablets, etc |
Geef daarna de computer(s) een unieke en makkelijk te onthouden naam:
sudo nano /etc/hostname
naam van de computer #(bv. merk, type of locatie)
Static IP
Teneinde alle systemen makkelijk met elkaar te laten communiceren, is het nodig dat alle netwerkaansluitingen voorzien worden van een vast ip-adres. ( Leuk om te weten in welke stad iemand woont, maar een postcode en huisnummer erbij zou echt handiger zijn)
Dat kunnen we bereiken door alle apparaten apart te configureren via:
sudo nano /etc/network/interfacesen in te typen:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static # static of dhcp address 10.0.0.15 # het ip adres per computer netmask 255.0.0.0 # de netwerkgroep network 10.0.0.0 # de ip range 10.0.0.12/254 broadcast 10.0.0.255 # maak deze computer binnen deze groep bekend gateway 10.0.0.2 # de poort naar een ander netwerk (router --> internet)
waarbij we aangeven dat het ip adres voor het betreffende apparaat statisch is en 10.0.0.15 zal zijn.
In Windows is er binnen apparaatbeheer een TCP/IP optie om hetzelfde effect te bereiken.
Router ip-adressen zijn van de fabriek af in de 192.168.1.1 range bepaald, echter wanneer er zoveel apparaten binnen een netwerk actief zijn vindt ik het makkelijker om een korter adres in de 10.0.0.0 te gebruiken. |
Voor de snellere(?) manier van toekennen, dienen een tweetal tussenstappen gemaakt te worden gemaakt te worden:
Dynamic IP (dhcp)
Controleer het het mac-adres en de netwerkkaart-naam via:ifconfig (windows: ipconfig)
met als output:
eth0 Link encap:Ethernet HWaddr 00:11:22:33:a4:55 inet addr:10.0.0.15 Bcast:10.0.0.255 Mask:255.0.0.0 inet6 addr: test::222:33ff:fe8g:a1234/56 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:16254725 errors:0 dropped:0 overruns:0 frame:0 TX packets:32975578 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2478393176 (2.4 GB) TX bytes:44557899758 (44.5 GB) Interrupt:17 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:133977 errors:0 dropped:0 overruns:0 frame:0 TX packets:133977 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:73778317 (73.7 MB) TX bytes:73778317 (73.7 MB)
Legenda:
- HWaddr is MAC-adres
- inet addr is ip-adres
- eth0 is netwerkkaart. Ingeval van WiFi zal dit "wlan0" of "eth1" zijn.
Indien we de ip nummer toewijzing willen overlaten aan de DHCP server van de router:
sudo nano /etc/network/interfacesen in het bestand:
auto lo iface lo inet loopback auto eth0 # of wlan0 of eth1 iface eth0 inet dhcp # of wlan0 of eth1
Log in op de router via de browser:
(router adres via de handleiding of bij de ISP opvragen)http://192.168.1.1
Nu verschijnt een afbeelding als hieronder:
waarbij het MAC address van de betreffende computer via DHCP gekoppeld wordt aan een "vast" ip-adres:
- Ipadres LAN TCP/IP : het (nieuwe!) adres van de router = 10.0.0.2
- Subnetmask: binnen welke groep alle ip nos komen te liggen = 255.0.0.0
- Router als DHCP server: vink AAN
- Starting IP address en Ending IP address: de grens waarbinnen via DHCP adressen toegekend mogen worden. = 10.0.0.10 - 10.0.0.254
- Address reservation: de eigenlijke toekenning van een "statisch" IP adres aan een bepaald netwerkapparaat.
Wijzig nu nog geen andere instellingen!
Vervolgens voegen we de apparaten toe aan een "hosts" bestand op de computers:
sudo nano /etc/hosts
en hier in te typen:
#IP no. Domeinnaam Alias 127.0.0.1 localhost.localdomain localhost 127.0.1.1 computernaam.demo.thuis computernaam # naam aanpassen per computer 10.0.0.9 ibmt30.demo.thuis ibmt30 10.0.0.10 dell.demo.thuis dell 10.0.0.11 deskpro.demo.thuis deskpro 10.0.0.15 compaq.demo.thuis compaq 10.0.0.16 asus.demo.thuis asus 10.0.0.19 sempron.demo.thuis sempron 10.0.0.20 hp2100.demo.thuis hp2100 10.0.0.30 ibm4029.demo.thuis ibm4029 10.0.0.50 bravia.demo.thuis bravia 10.0.0.51 xbmc.demo.thuis xbmc 10.0.0.100 iphonefk.demo.thuis iphonefk # via dhcp toegekend 10.0.0.107 gio.demo.thuis gio # via dhcp toegekend
De gebruikte domein extensie "thuis" is verzonnen. Binnen het lan kan elke gewenste extensie gebruikt worden, zelfs iets als "ikhebgeendomein.nl"
De toekenning van ip nummers via DHCP start hier bij 10.0.0.100 (t.b.v. de mobiele apparaten.)
De statische ip nummers vallen binnen de groep 10.0.0.3 t/m 10.0.0.99
De alias host-namen zullen binnen het netwerk, als verkorte versie van de ip adressen kunnen worden gebruikt.
Dus roepen we straks een systeem aan met "dell" i.p.v. "10.0.0.10" of "dell.demo.thuis " of "ssh -X user@10.0.0.15"
Host-file tip1: maak de computer onbereikbaar voor onveilige en/of ongewenste websites!
Het host-file kan ons nog veel meer van dienst zijn dan alleen de systemen op het lan te controleren.
Ongewenste web-pagina's kunnen door een toevoeging onbereikbaar gemaakt worden, danwel kunnen worden geblokkeerd voor inkomend verkeer.
Zo kunnen we allerlei Google overhead stoppen door aan dit bestand toe te voegen:
# [Google Inc] 127.0.0.1 adwords.google.com 127.0.0.1 pagead.googlesyndication.com 127.0.0.1 pagead2.googlesyndication.com 127.0.0.1 adservices.google.com 127.0.0.1 imageads.googleadservices.com 127.0.0.1 imageads1.googleadservices.com 127.0.0.1 www.googleadservices.com 127.0.0.1 apps5.oingo.com
Wat hier gebeurt is dat alle aanroepen vanaf deze domeinen doorgestuurd worden naar 127.0.0.1 of 0.0.0.0
Deze lokale adressen zijn onbereikbaar vanaf het internet (1278.0.0.1), danwel bestaan niet (0.0.0.0) waardoor een verbindingsverzoek naar dit domein geweigerd en gestopt wordt.
2e ip adres?
Om het nog ingewikkelder te maken kan aan een netwerkinterface een extra (virtueel) ip adres toegewezen worden, b.v. 10.0.0.66, wat bij aanroepen een eigen waarschuwingspagina kan tonen. (mits er een webserver geinstalleerd is) of zelfs een verzoek kan doorsturen naar een extern adres. (geen webserver nodig)
Type voor een tijdelijk 2e adres dat na een reboot weer verdwenen is, in een terminal :
ifconfig eth0:0 192.168.1.2 netmask 255.255.255.0 upVoor een permanente toewijzing voeg toe aan het "interfaces" bestand:
/etc/network/interfaces
auto eth0:1 iface eth0:1 inet static address 192.168.0.1 gateway 192.168.0.254 netmask 255.255.255.0
Er is een, immer up-to.date lijst van 16.000+ "wereldwijd te weren" ip adressen en domeinnamen van bekende schadelijke websites te downloaden via: http://winhelp2002.mvps.org/hosts2.htm
Hieronder een script-file om het host file automatisch te updaten met het nieuwste mvp-host bestand
Maak het scriptbestand in de home map: (kopieer dit later naar een NFS map zodat alle computers dit kunnen gebruiken)
nano ~/home/uwnaam/mvphosts.sh
#!/bin/sh wget -O - http://www.mvps.org/winhelp2002/hosts.txt | grep 127.0.0.1 | sed '2,$s/127.0.0.1/0.0.0.0/g; s/*#.*$//g;' | grep -v localhost | tr ' ' '\t' | tr -s '\t' | tr -d '\015' | sort -u >/tmp/hosts0 cat /etc/hosts.0 /tmp/hosts0 >/etc/hosts rm /tmp/hosts0maak dit bestand uitvoerbaar met:
sudo chmod +ax ~/home/uwnaam/mvphosts.shen start op via:
./mvphosts.sh
Indien gewenst kan het host file bij iedere systeemstart bijgewerkt worden door het script te plaatsen in de "opstart-map" :
sudo cp newhosts /etc/network/if-up.d/
Host-file tip2: maak het web-surfen makkelijker met aliassen!
Stel dat het invoeren van een webadres:
http://frankkalf.nl verkort zou kunnen worden tot
franky ?
Dat zou een hoop typewerk schelen, en we hoeven daartoe alleen het host file aan te passen met:
ip-adres adres.domein.naam alias
Voeg toe aan /etc/hosts:
188.93.150.31 frankkalf.nl franky
74.125.225.97 google.com google
74.125.225.117 mail.google.com gmail
Domeinnamen en IP-adressen en kunnen hier opgezocht worden
Na iedere wijziging in een netwerk configuratiebestand dient het netwerk opnieuw gestart te worden (In Windows is een systeem reboot nodig!!):
sudo service networking restartof wanneer "upstart-job" niet op het systeem geinstalleerd is (Puppy Linux e.a.):
sudo /etc/init.d/networking restart
Volgend hoofdstuk: SSH + VNC 15 mei 2013