home       inleiding       sysadmin       services       links       bash       werk       nothing      

centOS 7.5 built 1804 gebruiksklaar maken ...

De bedoeling is om de clean-2-clone machine in
http://linux800.be/inleiding/praktijk-labo-s/installatie-centos7-5-1804
te clonen en aan te passen aan onze noden ...
 

  1. vergeet niet MAC-addressen te herinitialiseren tijdens het clonen
     
    centos-7.5-1804-c2c-30

     
    Maak een full clone en start deze op...
     

  2. first impressions
     
    centos-7.5-1804-c2c-31

     

    centos-7.5-1804-c2c-32

     
    ... ifconfig werkt niet, ip addr wel
     
    Maar er is wel internet ...

    [user@centOS-75-1804-c2c ~]$ ping google.be
    PING google.be (173.194.69.94) 56(84) bytes of data.
    64 bytes from ef-in-f94.1e100.net (173.194.69.94): icmp_seq=1 ttl=63 time=19.2 ms
    64 bytes from ef-in-f94.1e100.net (173.194.69.94): icmp_seq=2 ttl=63 time=24.6 ms
    ^C
    --- google.be ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1009ms

     

  3. net-tools
     
    net-tools is een packet met nuttige netwerk utilities, o.a. ifconfig.
    We installeren net-tools op centOS als volgt:
     
    [user@centOS-75-1804-c2c ~]$ sudo yum install net-tools
    [sudo] password for user: 
    Loaded plugins: fastestmirror
    Determining fastest mirrors
    * base: mirror.plusserver.com
    * extras: centos.mirror.fr.planethoster.net
    * updates: centos.cu.be
    base                                                          | 3.6 kB  00:00:00     
    extras                                                        | 3.4 kB  00:00:00     
    updates                                                       | 3.4 kB  00:00:00     
    (1/4): base/7/x86_64/group_gz                                 | 166 kB  00:00:00     
    (2/4): extras/7/x86_64/primary_db                             | 187 kB  00:00:00     
    (3/4): updates/7/x86_64/primary_db                            | 5.2 MB  00:00:00     
    (4/4): base/7/x86_64/primary_db                               | 5.9 MB  00:00:00     
    Resolving Dependencies
    --> Running transaction check
    ---> Package net-tools.x86_64 0:2.0-0.22.20131004git.el7 will be installed
    --> Finished Dependency Resolution
     
    Dependencies Resolved
     
    =====================================================================================
    Package          Arch          Version                            Repository   Size
    =====================================================================================
    Installing:
    net-tools        x86_64        2.0-0.22.20131004git.el7           base        305 k
     
    Transaction Summary
    =====================================================================================
    Install  1 Package
     
    Total download size: 305 k
    Installed size: 917 k
    Is this ok [y/d/N]: y
    Downloading packages:
    warning: /var/cache/yum/x86_64/7/base/packages/net-tools-2.0-0.22.20131004git.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    Public key for net-tools-2.0-0.22.20131004git.el7.x86_64.rpm is not installed
    net-tools-2.0-0.22.20131004git.el7.x86_64.rpm                 | 305 kB  00:00:00     
    Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    Importing GPG key 0xF4A80EB5:
    Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
    Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
    Package    : centos-release-7-5.1804.el7.centos.x86_64 (@anaconda)
    From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    Is this ok [y/N]: y
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Installing : net-tools-2.0-0.22.20131004git.el7.x86_64                         1/1 
    Verifying  : net-tools-2.0-0.22.20131004git.el7.x86_64                         1/1 
     
    Installed:
    net-tools.x86_64 0:2.0-0.22.20131004git.el7                                        
     
    Complete!

     
    Dit pakket bevat de volgende info:
     
    [user@centOS-75-1804-c2c ~]$ yum info net-tools

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: centos.be.mymirror.online
    * extras: mirrors.atosworldline.com
    * updates: centos.mirror.ate.info
    Installed Packages
    Name        : net-tools
    Arch        : x86_64
    Version     : 2.0
    Release     : 0.22.20131004git.el7
    Size        : 917 k
    Repo        : installed
    From repo   : base
    Summary     : Basic networking tools
    URL         : http://sourceforge.net/projects/net-tools/
    License     : GPLv2+
    Description : The net-tools package contains basic networking tools,
            : including ifconfig, netstat, route, and others.
            : Most of them are obsolete. For replacement check iproute package

     
    En de volgende binaries zitten er in ...
     
    [user@centOS-75-1804-c2c ~]$ rpm -q -l net-tools | grep bin

    /bin/netstat
    /sbin/arp
    /sbin/ether-wake
    /sbin/ifconfig
    /sbin/ipmaddr
    /sbin/iptunnel
    /sbin/mii-diag
    /sbin/mii-tool
    /sbin/nameif
    /sbin/plipconfig
    /sbin/route
    /sbin/slattach

     
    ... en ifconfig werkt nu (al is het beter te leren werken met de ip addr commando familie ...)
     
    [user@centOS-75-1804-c2c ~]$ ifconfig

    enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::2708:b8e4:cc07:c191  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:e2:fd:0a  txqueuelen 1000  (Ethernet)
        RX packets 17679  bytes 13358342 (12.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7934  bytes 743505 (726.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
     
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 32  bytes 2592 (2.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 2592 (2.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

     

  4. sudo rechten aan user toekennen
     
    inloggen als root en dan: # usermod -a -G wheel <username>
     
    of als een gebruiker met sudo rechten inloggen en het volgende intikken: ...
    $ sudo usermod -a -G wheel <username>
     

  5. hostname
     
    De hostname aanpassen in centOS is niet moeilijk. Dat doen we in de bestanden /etc/hostname en /etc/hosts:
     
    sudo vi /etc/hostname
    centOS-75-1804-avo2
    ~                                                                                    
    ~      
    -- INSERT --                                                                              

     
    sudo vi /etc/hosts

    127.0.0.1   centOS-75-1804-avo2 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         centOS-75-1804-avo2 localhost localhost.localdomain localhost6 localhost6.localdomain6
    ~                                                                                                        
    ~                                                                                                        
    -- INSERT --

     
    Na het aanpassen van de hostname in /etc/hosts is het belangrijk de machine te herstarten ...
     
    De volgende login toont ons de correcte hostname na herstart:

    user@localhost's password: 
    Last login: Fri Sep  7 10:34:19 2018 from gateway
    [user@centOS-75-1804-avo2 ~]$ hostname
    centOS-75-1804-avo2
    [user@centOS-75-1804-avo2 ~]$

     

  6. netwerk bridged
     
    Servers hebben een statisch netwerk-adres nodig, in de LAN (of daarbuiten), om altijd bereikbaar te zijn.
    Om een statisch bereikbaar netwerk-adres te kunnen toekennen moeten we de netwerkadapter van onze centOS plaatsen op BRIDGED.
     
    Doe een shutdown van je virtuele CentOS, en zet in de virtualbox manager het netwerk BRIDGED ...
     
    bridged

     
    Let goed op dat je de juiste netwerkadapter kiest waarop je LAN is aangesloten.
    Je kan dat zien op de HOST-OS (de windows op je laptop) a.d.h.v. ipconfig /all
     
    Start daarna je CentOS opnieuw op ...
    ... en doe een ifconfig ...
     
    [user@centOS-75-1804-avo2 ~]$ ifconfig

    enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.226  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::2708:b8e4:cc07:c191  prefixlen 64  scopeid 0x20<link>
        inet6 2a02:1811:2c08:a700:abc3:7478:49d7:d811  prefixlen 64  scopeid 0x0<global>
        ether 08:00:27:e2:fd:0a  txqueuelen 1000  (Ethernet)
        RX packets 290  bytes 38473 (37.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 289  bytes 31233 (30.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    In dit specifieke geval zit mijn machine achter een TELENET router en krijgt ze hiervan een DHCP-adres.
     
    Ik kan vervolgens via SSH inloggen op deze machine:
     
    teacher@thismachine ~ $ ssh 192.168.5.226 -l user

    The authenticity of host '192.168.5.226 (192.168.5.226)' can't be established.
    ECDSA key fingerprint is SHA256:/JmcqgOQCNJ9ZxDv4U+AFL0Pr8MOmM694JxjPfHJZRk.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.5.226' (ECDSA) to the list of known hosts.
    user@192.168.5.226's password: 
    Last login: Fri Sep  7 11:47:24 2018
     
    [user@centOS-75-1804-avo2 ~]$ hostname
    centOS-75-1804-avo2
     
    [user@centOS-75-1804-avo2 ~]$ uname -a
    Linux centOS-75-1804-avo2 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
     
    [user@centOS-75-1804-avo2 ~]$ who
    user     tty1         2018-09-07 11:47
    user     pts/0        2018-09-07 11:15 (gateway)
    user     pts/1        2018-09-07 11:51 (192.168.5.12)
    [user@centOS-75-1804-avo2 ~]$ 

     

  7. netwerk statisch: gegevens verzamelen
     
    Het netwerk van mijn server is nu gebridged. Als ik mijn ipv4 configuratie statisch wil instellen heb ik de volgende elementen nodig:

    • een vrij ipv4 adres (ook niet overlappend met een DHCP scope)
    • een netmask
    • een gateway
    • een DNS-server

    In mijn specifiek geval kan ik elke netwerkadres gebruiken tussen 192.168.5.51 en 192.168.5.100; ik kies voor 192.168.5.81.
     
    Netmask en default gateway (en ook DNS) zijn hetzelfde als onder dhcp. Ik vraag dit nog even op:
     
    [user@centOS-75-1804-avo2 ~]$ ifconfig | grep netmask

        inet 192.168.5.226  netmask 255.255.255.0  broadcast 192.168.5.255
        inet 127.0.0.1  netmask 255.0.0.0

    [user@centOS-75-1804-avo2 ~]$ route -n | grep 0.0.0.0

    0.0.0.0         192.168.5.1     0.0.0.0         UG    100    0        0 enp0s3
    192.168.5.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3

    Als DNS wil ik 8.8.4.4 gebruiken ...
     

    • adres: 192.168.5.81
    • netmask: 255.255.255.0
    • gateway: 192.168.5.1
    • dns-server: 8.8.4.4
       
  8. netwerk statisch: configuratie
     
    De configuratie van onze netwerkadapaters wordt in RedHat en centOS opgeslagen in de directory:
    /etc/sysconfig/network-scripts/
     
    In deze directory vind ik het volgende:
     
    [user@centOS-75-1804-avo2 network-scripts]$ ls
    ifcfg-enp0s3  ifdown-ipv6    ifdown-Team      ifup-eth    ifup-post      ifup-tunnel
    ifcfg-lo      ifdown-isdn    ifdown-TeamPort  ifup-ippp   ifup-ppp       ifup-wireless
    ifdown        ifdown-post    ifdown-tunnel    ifup-ipv6   ifup-routes    init.ipv6-global
    ifdown-bnep   ifdown-ppp     ifup             ifup-isdn   ifup-sit       network-functions
    ifdown-eth    ifdown-routes  ifup-aliases     ifup-plip   ifup-Team      network-functions-ipv6
    ifdown-ippp   ifdown-sit     ifup-bnep        ifup-plusb  ifup-TeamPort

     
    vermits mijn netwerkadapter enp0s3 heet, bekijk ik de huidige ifcfg-enp0s3

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="dhcp"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="enp0s3"
    UUID="0e63c14b-2b5b-4019-8a89-337d38b238e1"
    DEVICE="enp0s3"
    ONBOOT="yes"

     
    Ik bekijk even de documentatie in RedHat: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s1-networkscripts-interfaces
     
    En pas de volgende velden in de configuratie aan...

    BOOTPROTO="none"
    IPADDR=192.168.5.81
    NETMASK=255.255.255.0
    GATEWAY=192.168.5.1
    DNS1="8.8.4.4"
    DNS2="8.8.8.8"
    PEERDNS=yes

     
    Waar in mijn geval de volledige config er zo uitziet ...

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="none"
    IPADDR=192.168.5.81
    NETMASK=255.255.255.0
    GATEWAY=192.168.5.1
    DNS1="8.8.4.4"
    DNS2="8.8.8.8"
    PEERDNS=yes
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="enp0s3"
    UUID="0e63c14b-2b5b-4019-8a89-337d38b238e1"
    DEVICE="enp0s3"
    ONBOOT="yes"

     
    Vervolgens herstart ik het netwerk via systemd met het volgende commando:
     
    $ sudo systemctl restart network
     
    Als je met ssh was ingelogd, vlieg je er normaal gezien nu uit, en moet je inloggen op je nieuwe statische ip-adres ...
     
    Tenslotte kijk ik na of alles is aangepast:
     
    $ ifconfig enp0s3

    enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.81  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::2708:b8e4:cc07:c191  prefixlen 64  scopeid 0x20<link>
        inet6 2a02:1811:2c08:a700:abc3:7478:49d7:d811  prefixlen 64  scopeid 0x0<global>
        ether 08:00:27:e2:fd:0a  txqueuelen 1000  (Ethernet)
        RX packets 1193  bytes 105279 (102.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 725  bytes 139026 (135.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    $ route -n

    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.5.1     0.0.0.0         UG    100    0        0 enp0s3
    192.168.5.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3

    $ cat /etc/resolv.conf

    # Generated by NetworkManager
    nameserver 8.8.4.4
    nameserver 8.8.8.8
    nameserver 2a02:1800:100::41:2

     
    ... en dan nog een test ...
     
    [user@centOS-75-1804-avo2 ~]$ ping verizon.com

    PING verizon.com (192.16.31.23) 56(84) bytes of data.
    64 bytes from 192.16.31.23 (192.16.31.23): icmp_seq=1 ttl=52 time=106 ms
    64 bytes from 192.16.31.23 (192.16.31.23): icmp_seq=2 ttl=52 time=115 ms

     
    ref.: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/networking_guide/
     

  9. een nieuwe gebruiker met sudo rechten aanmaken
     
    $ sudo useradd -m gebruiker
     
    $ sudo passwd gebruiker
    Changing password for user gebruiker.
    New password: xxxxxxxx
    BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
    Retype new password: xxxxxxxx
    passwd: all authentication tokens updated successfully.

     
    De groep van sudo-users in centOS en RedHat heet wheel. We voegen nu de nieuwe gebruiker toe aan de groep wheel:
     
    $ sudo usermod -G wheel gebruiker
     
    $ grep wheel /etc/group
    wheel:x:10:user,gebruiker
     
    $ exit
    logout
    Connection to 192.168.5.81 closed.

     
     
    teacher@thismachine ~ $ ssh 192.168.5.81 -l gebruiker
    gebruiker@192.168.5.81's password: xxxxxxxx
     
    [gebruiker@centOS-75-1804-avo2 ~]$ sudo useradd -m testuser
    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:
    1) Respect the privacy of others.
    2) Think before you type.
    3) With great power comes great responsibility.

    [sudo] password for gebruiker: xxxxxxxx
     
    [gebruiker@centOS-75-1804-avo2 ~]$ grep testuser /etc/passwd
    testuser:x:1002:1002::/home/testuser:/bin/bash
     
    [gebruiker@centOS-75-1804-avo2 ~]$ sudo userdel testuser
     
    [gebruiker@centOS-75-1804-avo2 ~]$ exit