LX-SVS-INFO-net-redhat
updated sep/13/10 22:16

Netwerkconfiguratie Manueel: RedHat5

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.

    In  Red Hat based distributies doe je dit als volgt:

    Zoek in zowel /etc/rc.d/rc3.d als /etc/rc.d/rc5.d naar network-manager en avahi daemon, en verwijder hun Sxy links.

    $ ls -l /etc/rc.d/rc5.d/S*

    lrwxrwxrwx 1 root root 23 2009-09-16 10:01 S00microcode_ctl -> ../init.d/microcode_ctl
    lrwxrwxrwx 1 root root 22 2009-09-16 10:00 S02lvm2-monitor -> ../init.d/lvm2-monitor
    lrwxrwxrwx 1 root root 25 2009-09-16 10:02 S04readahead_early -> ../init.d/readahead_early
    lrwxrwxrwx 1 root root 15 2009-09-16 10:02 S05kudzu -> ../init.d/kudzu
    lrwxrwxrwx 1 root root 18 2009-09-16 09:56 S06cpuspeed -> ../init.d/cpuspeed
    lrwxrwxrwx 1 root root 19 2009-09-16 09:55 S08ip6tables -> ../init.d/ip6tables
    lrwxrwxrwx 1 root root 18 2009-09-16 09:55 S08iptables -> ../init.d/iptables
    lrwxrwxrwx 1 root root 14 2009-09-16 10:01 S09isdn -> ../init.d/isdn
    lrwxrwxrwx 1 root root 17 2009-09-16 09:59 S10network -> ../init.d/network
    lrwxrwxrwx 1 root root 16 2009-09-16 10:00 S11auditd -> ../init.d/auditd
    lrwxrwxrwx 1 root root 21 2009-09-16 10:00 S12restorecond -> ../init.d/restorecond
    lrwxrwxrwx 1 root root 16 2009-09-16 09:59 S12syslog -> ../init.d/syslog
    lrwxrwxrwx 1 root root 20 2009-09-16 10:01 S13irqbalance -> ../init.d/irqbalance
    lrwxrwxrwx 1 root root 18 2009-09-16 09:59 S13mcstrans -> ../init.d/mcstrans
    lrwxrwxrwx 1 root root 17 2009-09-16 10:00 S13portmap -> ../init.d/portmap
    lrwxrwxrwx 1 root root 17 2009-09-16 10:01 S14nfslock -> ../init.d/nfslock
    lrwxrwxrwx 1 root root 19 2009-09-16 10:01 S15mdmonitor -> ../init.d/mdmonitor
    lrwxrwxrwx 1 root root 19 2009-09-16 10:01 S18rpcidmapd -> ../init.d/rpcidmapd
    lrwxrwxrwx 1 root root 17 2009-09-16 10:01 S19rpcgssd -> ../init.d/rpcgssd
    lrwxrwxrwx 1 root root 20 2009-09-16 09:57 S22messagebus -> ../init.d/messagebus
    lrwxrwxrwx 1 root root 19 2009-09-16 10:01 S25bluetooth -> ../init.d/bluetooth
    lrwxrwxrwx 1 root root 15 2009-09-16 09:59 S25netfs -> ../init.d/netfs
    lrwxrwxrwx 1 root root 15 2009-09-16 10:02 S25pcscd -> ../init.d/pcscd
    lrwxrwxrwx 1 root root 14 2009-09-16 10:03 S26apmd -> ../init.d/apmd
    lrwxrwxrwx 1 root root 14 2009-09-16 10:01 S26hidd -> ../init.d/hidd
    lrwxrwxrwx 1 root root 16 2009-09-16 10:01 S28autofs -> ../init.d/autofs
    lrwxrwxrwx 1 root root 15 2009-09-16 10:01 S44acpid -> ../init.d/acpid
    lrwxrwxrwx 1 root root 15 2009-09-16 10:01 S50hplip -> ../init.d/hplip
    lrwxrwxrwx 1 root root 14 2009-09-16 10:01 S55sshd -> ../init.d/sshd
    lrwxrwxrwx 1 root root 14 2009-09-16 09:59 S56cups -> ../init.d/cups
    lrwxrwxrwx 1 root root 14 2009-09-17 10:22 S58ntpd -> ../init.d/ntpd
    lrwxrwxrwx 1 root root 18 2009-09-16 09:59 S80sendmail -> ../init.d/sendmail
    lrwxrwxrwx 1 root root 13 2009-09-16 09:55 S85gpm -> ../init.d/gpm
    lrwxrwxrwx 1 root root 15 2009-09-16 09:59 S90crond -> ../init.d/crond
    lrwxrwxrwx 1 root root 13 2009-09-16 10:03 S90xfs -> ../init.d/xfs
    lrwxrwxrwx 1 root root 17 2009-09-16 09:56 S95anacron -> ../init.d/anacron
    lrwxrwxrwx 1 root root 13 2009-09-16 09:59 S95atd -> ../init.d/atd
    lrwxrwxrwx 1 root root 25 2009-09-16 10:02 S96readahead_later -> ../init.d/readahead_later
    lrwxrwxrwx 1 root root 22 2009-09-16 10:01 S97yum-updatesd -> ../init.d/yum-updatesd
    lrwxrwxrwx 1 root root 22 2009-09-16 09:59 S98avahi-daemon -> ../init.d/avahi-daemon
    lrwxrwxrwx 1 root root 19 2009-09-16 10:02 S98haldaemon -> ../init.d/haldaemon
    lrwxrwxrwx 1 root root 19 2009-09-16 10:02 S99firstboot -> ../init.d/firstboot
    lrwxrwxrwx 1 root root 11 2009-09-16 09:59 S99local -> ../rc.local
    lrwxrwxrwx 1 root root 16 2009-09-16 10:03 S99smartd -> ../init.d/smartd

    # rm -v /etc/rc?.d/S??avahi-daemon
    rm: remove symbolic link `/etc/rc3.d/S98avahi-daemon'? y
    removed etc/rc3.d/S98avahi-daemon'
    rm: remove symbolic link `/etc/rc5.d/S98avahi-daemon'?
    y
    removed etc/rc5.d/S98avahi-daemon'

    In ons geval is NetworkManager niet actief.

    # rm -v /etc/rc?.d/S??NetworkManager
    rm: cannot lstat `/etc/rc?.d/S??NetworkManager': No such file or directory

    Stop nu de NetworkManager en de avahi-daemon (let op de hoofdletters):

    # /etc/init.d/avahi-daemon stop
    Shutting down Avahi daemon:                  [  OK  ]
    # /etc/init.d/NetworkManager stop
    Stopping NetworkManager daemon:              [FAILED]

    In dit voorbeeld is NetworkManager niet actief.

    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. hostname

    Je RedHat5 server houdt zijn algemene netwerkconfiguratie bij in de file
    /etc/sysconfig/network

    die ziet er als volgt uit:

    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=pc2202.linux800.be

    We kunnen de hostname hier indien nodig wijzigen.

    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
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1 localhost.localdomain localhost pc2202 tartarus

    127.0.1.1 pc2202.linux800.be pc2202

    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost6.localdomain6 localhost6


  3. ip-address

    Je centos-computer houdt zijn ethernet devices bij in aparte files in de directory
    /etc/sysconfig/networking/devices

    Elke netwerkkaart heeft een configuratie file zoals:

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


    static:

    # 3Com Corporation 3c905 100BaseTX [Boomerang]
    DEVICE=eth0
    BOOTPROTO=none
    BROADCAST=172.16.255.255
    HWADDR=00:60:08:56:B6:BF
    IPADDR=172.16.31.102
    NETMASK=255.255.0.0
    NETWORK=172.16.0.0
    ONBOOT=yes
    GATEWAY=172.16.0.2
    TYPE=Ethernet
    USERCTL=no
    IPV6INIT=no
    PEERDNS=yes

    /etc/sysconfig/network-scripts/ifcfg-eth1


    dhcp:
    # 3Com Corporation 3c905 100BaseTX [Boomerang]
    DEVICE=eth1
    BOOTPROTO=dhcp
    HWADDR=00:60:08:56:B6:BF
    ONBOOT=yes
    TYPE=Ethernet
    USERCTL=no
    IPV6INIT=no
    PEERDNS=yes
    Je kan de file ifcfg-eth0 kopieren naar ifcfg-eth0:1 om een logisch device te creëren. Zodra de file is aangepast en gesaved met de juiste configuratie kan het netwerk heropgestart worden met het commando:

    # /etc/init.d/network 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
             
    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
    169.254.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.