LX-SVS-INFO-net-debian

updated sep/13/10 20:16

Netwerkconfiguratie Manueel: Debian5

De ip-netwerkconfiguratie van een computer (of host) bestaat uit de volgende gedeelten:


Je kan deze gegevens aanpassen via grafische tools, maar het gaat beter, sneller en correcter via de shell aan de hand van de juiste configuratiefiles. Bovendien ben je dan niet meer afhankelijk van eventuele wijzigingen in de werking van sommige grafische tools.


  1. NetworkManager en avahi-daemon

    Vooraleer je manueel aan de slag kan moet je bij veel distributies de networkmanager daemon en de avahi daemon uitschakelen, en soms zelfs de networking services inschakelen.

    De networkmanager is heel vervelend op servers: je moet vaak inloggen vooraleer je netwerk aktief wordt. Servers draaien bovendien vaak niet in grafische mode.

    Als je daarentegen een laptop met een wireless kaart gebruikt zijn beide daemons eigenlijk onontbeerlijk.


    Bij debian-based distributies doe je dit als volgt:

    In de /etc/rc2.d vind je de volgende links:


    $ ls -l /etc/rc2.d


    -rw-r--r-- 1 root root 556 2008-08-12 16:09 README
    lrwxrwxrwx 1 root root  17 2009-11-03 09:15 S10rsyslog -> ../init.d/rsyslog
    lrwxrwxrwx 1 root root  15 2009-11-03 09:16 S12acpid -> ../init.d/acpid
    lrwxrwxrwx 1 root root  14 2009-11-03 11:26 S12dbus -> ../init.d/dbus
    lrwxrwxrwx 1 root root  22 2010-07-20 15:26 S14avahi-daemon -> ../init.d/avahi-daemon
    lrwxrwxrwx 1 root root  15 2010-02-01 09:48 S15bind9 -> ../init.d/bind9
    lrwxrwxrwx 1 root root  17 2009-11-03 11:26 S15dnsmasq -> ../init.d/dnsmasq
    lrwxrwxrwx 1 root root  17 2010-07-20 15:29 S16openvpn -> ../init.d/openvpn
    lrwxrwxrwx 1 root root  13 2009-11-03 10:04 S16ssh -> ../init.d/ssh
    lrwxrwxrwx 1 root root  15 2010-02-17 08:52 S19slapd -> ../init.d/slapd
    lrwxrwxrwx 1 root root  14 2010-07-20 15:27 S20cups -> ../init.d/cups
    lrwxrwxrwx 1 root root  15 2009-11-03 09:49 S20exim4 -> ../init.d/exim4
    lrwxrwxrwx 1 root root  13 2009-11-06 15:34 S20lpd -> ../init.d/lpd
    lrwxrwxrwx 1 root root  20 2009-11-03 09:50 S20nfs-common -> ../init.d/nfs-common
    lrwxrwxrwx 1 root root  23 2009-11-03 09:50 S20openbsd-inetd -> ../init.d/openbsd-inetd
    lrwxrwxrwx 1 root root  15 2010-03-05 15:28 S20pound -> ../init.d/pound
    lrwxrwxrwx 1 root root  15 2010-07-20 15:30 S20saned -> ../init.d/saned
    lrwxrwxrwx 1 root root  16 2009-11-27 15:37 S20vsftpd -> ../init.d/vsftpd
    lrwxrwxrwx 1 root root  13 2009-11-06 14:03 S23ntp -> ../init.d/ntp
    lrwxrwxrwx 1 root root  16 2010-07-20 15:27 S24dhcdbd -> ../init.d/dhcdbd
    lrwxrwxrwx 1 root root  13 2009-11-06 15:34 S24hal -> ../init.d/hal
    lrwxrwxrwx 1 root root  19 2010-07-20 15:26 S25bluetooth -> ../init.d/bluetooth
    lrwxrwxrwx 1 root root  25 2010-07-20 15:46 S26network-manager -> ../init.d/network-manager
    lrwxrwxrwx 1 root root  36 2010-07-20 15:46 S26network-manager-dispatcher -> ../init.d/network-manager-dispatcher

    lrwxrwxrwx 1 root root  13 2010-07-20 15:28 S30gdm -> ../init.d/gdm
    lrwxrwxrwx 1 root root  16 2009-12-18 14:57 S30squid3 -> ../init.d/squid3
    lrwxrwxrwx 1 root root  31 2010-07-20 15:28 S30system-tools-backends -> ../init.d/system-tools-backends
    lrwxrwxrwx 1 root root  13 2009-11-03 09:49 S89atd -> ../init.d/atd
    lrwxrwxrwx 1 root root  14 2009-11-03 09:15 S89cron -> ../init.d/cron
    lrwxrwxrwx 1 root root  24 2010-07-20 15:26 S90binfmt-support -> ../init.d/binfmt-support
    lrwxrwxrwx 1 root root  17 2010-06-02 15:12 S91apache2 -> ../init.d/apache2
    lrwxrwxrwx 1 root root  18 2009-11-03 09:15 S99rc.local -> ../init.d/rc.local
    lrwxrwxrwx 1 root root  19 2009-11-03 09:15 S99rmnologin -> ../init.d/rmnologin
    lrwxrwxrwx 1 root root  23 2009-11-03 09:15 S99stop-bootlogd -> ../init.d/stop-bootlogd



    De vet gedrukte links mogen gewoon verwijderd worden. Doe dit als root met rm:

    # rm -v /etc/rc2.d/S??network-manager*
    # rm -v /etc/rc2.d/S??avahi-daemon

    Je mag daarna een link toevoegen naar /etc/init.d/networking:

    # ln -s /etc/init.d/networking /etc/rc2.d/s15networking


    Stop nu de Network-Manager en de avahi daemon:

    # /etc/init.d/avahi-daemon stop
    # /etc/init.d/network-manager stop

    Je had je computer ook gewoon kunnen herstarten om de wijzigingen te activeren.

    Zodra deze wijzigingen hebben plaatsgevonden kan je de ip-configuratie aanvatten.

  2. de hostname

    In het bestand /etc/hostname plaats je de unieke naam van je computer. Je moet de computer opnieuw opstarten om dit te activeren.

    $ cat /etc/hostname
    pc2202

    In het bestand /etc/hosts staan de netwerknamen van de computer. Ook de namen die verwijzen naar de local loopback (127.0.0.1). Een computer kan meerdere aliasnamen hebben in de hosts file, maar die zijn niet van buitenuit zichtbaar. Na aanpassing van de /etc/hosts kan je de naam (namen) onmiddellijk gebruiken in al je lokale netwerkcommando's.

    $ cat /etc/hosts
    127.0.0.1 localhost pc2202 tartarus
    127.0.1.1 pc2202.linux800.be pc2202

    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback pc2202 tartarus
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    ff02::3 ip6-allhosts


  3. ip-adres en default gateway

    je debian-computer houdt zijn netwerkconfiguratie bij
    in de file /etc/network/interfaces

    Deze file kan er als volgt uitzien:
    # This file describes the network interfaces available on
    # your system and how to activate them. For more information,
    # see interfaces(5).
    # The loopback network interface
    auto lo
    iface lo inet loopback

    # de eerste netwerkkaart - meestal de enige - static ip
    auto eth0
    iface eth0 inet static
    address 172.16.22.2
    netmask 255.255.0.0
    gateway 172.16.0.2

    # eventueel een 2de ip adres voor de 1ste netwerkkkaart
    auto eth0:1
    iface eth0:1 inet static
    address 172.16.31.102
    netmask 255.255.0.0
    gateway 172.16.0.2
    # een eventuele tweede netwerkkaart - deze staat in dhcp
    auto eth1
    iface eth1 inet dhcp
    eth0 of eth1 de naam van de fysieke interfaces
    lo
    de loopback interface (127.0.0.1)
    eth0:1
    een logische interface - een extra ip-configuratie op eenzelfde fysieke kaart
    auto
    de interface wordt opgestart bij booten van de host, of bij netwerk restart
    iface
    de hoofding van een netwerkkaart, fysisch of logisch
    inet
    deze interface gebruikt ip versie 4 (alternatief is ipx of inet6)
    static
    een manuele configuratie met vaste ip adressen
    address
    het toegekende ip adres
    netmask
    het subnetmask
    gateway
    de default gateway
    dhcp
    een automatische configuratie

    Zodra de file is gesaved met de juiste configuratie kan het netwerk (als root) heropgestart worden met het commando:

    # /etc/init.d/networking restart

    je kan dan controleren of alles goed staat met:

    # ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:1c:c0:4a:24:18  
              inet addr:172.16.31.102  Bcast:172.16.255.255  Mask:255.255.0.0
              inet6 addr: fe80::21c:c0ff:fe4a:2418/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:30727145 errors:0 dropped:0 overruns:0 frame:0
              TX packets:7157060 errors:0 dropped:4 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:3686717617 (3.4 GiB)  TX bytes:757257459 (722.1 MiB)
              Interrupt:19 Base address:0x2000

    eth0:1    Link encap:Ethernet  HWaddr 00:1c:c0:4a:24:18  
              inet addr:172.16.31.102  Bcast:172.16.255.255  Mask:255.255.0.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
             

    eth1      Link encap:Ethernet  HWaddr 00:d0:b7:80:da:f0  

              inet addr:10.0.1.1  Bcast:10.0.1.255  Mask:255.255.255.0
              inet6 addr: fe80::2d0:b7ff:fe80:daf0/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:7136163 errors:0 dropped:0 overruns:0 frame:0
              TX packets:29882756 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:682014735 (650.4 MiB)  TX bytes:3567221274 (3.3 GiB)

    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:142 errors:0 dropped:0 overruns:0 frame:0
              TX packets:142 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:10398 (10.1 KiB)  TX bytes:10398 (10.1 KiB)


    # route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
    10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
    0.0.0.0         172.16.0.2      0.0.0.0         UG    0      0        0 eth0

  4. dns-configuratie

    de configuratie van de domain name server(s) gebeurt in de file /etc/resolv.conf

    die kan er als volgt uitzien:

    search linux800.be
    domain linux800.be

    nameserver 172.16.31.101
    Het veld nameserver bevat de dns server. Je kan er twee of meer invoeren.
    Als je een search domein invult wordt dit domein automatisch toegevoegd aan verkorte host-namen zodat in dit voorbeeld

    $ ping pc3105
    PING pc3105 (172.16.31.5) 56(84) bytes of data.
    64 bytes from localhost (172.16.31.5): icmp_seq=1 ttl=64 time=0.035 m
    s
    ...

    eigenlijk verwijst naar pc3105.linux800.be

    De door u aangepaste dns configuratie is onmiddellijk aktief na opslaan van het bestand.
    Je kan ze nog testen met:

    # dig

    ; <<>> DiG 9.7.0-P1 <<>>
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41682
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0

    ;; QUESTION SECTION:
    ;.                IN    NS

    ;; ANSWER SECTION:
    .            66488    IN    NS    k.root-servers.net.
    .            66488    IN    NS    l.root-servers.net.
    .            66488    IN    NS    m.root-servers.net.
    .            66488    IN    NS    a.root-servers.net.
    .            66488    IN    NS    b.root-servers.net.
    .            66488    IN    NS    c.root-servers.net.
    .            66488    IN    NS    d.root-servers.net.
    .            66488    IN    NS    e.root-servers.net.
    .            66488    IN    NS    f.root-servers.net.
    .            66488    IN    NS    g.root-servers.net.
    .            66488    IN    NS    h.root-servers.net.
    .            66488    IN    NS    i.root-servers.net.
    .            66488    IN    NS    j.root-servers.net.

    ;; Query time: 12 msec
    ;; SERVER: 172.16.31.101#53(172.16.31.101)
    ;; WHEN: Mon Sep 13 22:40:34 2010
    ;; MSG SIZE  rcvd: 228


  5. tijdelijke configuratie

    Om allerlei redenen kan het nuttig zijn met een tijdelijke configuratie te werken. Die blijft dan draaien zolang u de computer of het netwerk niet herstart. De dns configuratie in /etc/resolv.conf en de /etc/hosts worden onmiddellijk actief bij wijziging - ze zijn dus altijd 'permanent'.

    hostname

    Met het commando

    # hostname <computernaam>

    kan u tijdelijk de hostnaam van uw computer aanpassen, meer info vindt u in de man pagina's.

    ip-addres en netmask

    Met het commando

    # ifconfig eth0 172.16.31.16/16

    stelt u tijdelijk een nieuw ip-adres en netmask in. (Soms moet u dit commando 2 keer na mekaar intikken).

    default gateway

    Met het commando

    # route add default gw 172.16.0.2

    kunt u tijdelijk een default gateway toevoegen aan u route tabel.