wordpress hosting - vpn - cloud - statistiekservice - email

Wat is er nieuw in Red Hat 8

rhel8

Op 9 mei 2019 lanceerde Red Hat versie 8, hier een samenvatting van de meest opvallende nieuwe of veranderde zaken in deze veel gebruikte linux distributie. Dat er een nieuwe Gnome desktop wordt geleverd en een nieuwe kernel 3.x spreekt eigenlijk vanzelf. Een paar dingen die mij opgevallen zijn tijdens de Red Hat tech talk staan hier.

Verandering in de repo structuur

Wie iets met Red Hat Satellite doet had het al gemerkt, de software-collections zoals we die kende zijn vervangen door iets wat appstreams heet. Het idee is om apps in deze appstreams onafhankelijker van de updates in de base te kunnen doen. Daarnaast krijg je hetzelfde mechanische als voor de Java omgeving. Met alternative kun je een actieve versie van een geinstalleerde app gebruiken die dan ook, net zoals bij Java, op een plek staat waar je ‘m zou verwachten. Dat maakt het gebruik van diverse (dev)tools een stuk makkelijker, zegt Red Hat.

Je installeert deze apps niet met yum install <appname> maar met yum module install <appname>. Er is ook een nieuwe parameter aan yum toegevoegd: module. Naast de al genoemde yum module install heb je ook een yum module list om een lijst te krijgen met de beschikbare apps en versies.

Geen verandering: yum

Misschien vreemd om te noemen maar Red Hat 8 is gebaseerd op Fedora 28 waarin dnf als standaard package manager wordt gebruikt. In Red Hat 8 is men yum blijven gebruiken en is ge-upgrade naar versie 4 wat nu niet meer op python v2.x maar op python v3.x is gebaseerd en ‘dus’ sneller zou moeten zijn.

Ook niet geheel nieuw: VDO

In Red Hat 7.x al stilletjes toegevoegd, het VDO filesysteem. Een VDO filesysteem kent compresse en de-dup waardoor een flinke ruimtewinst geboekt kan worden. Het is op device mapper nivo en presteert redelijk goed. Om op een VDO filesysteem files neer te zetten die veel en vaak worden opgevraagd of gewijzigd is dit uiteraard minder geschikt.

Cockpit heet nu Web Console

In Red Hat 7.x was cockpit al beschikbaar maar werd niet standaard geinstalleerd. Nu wel, op port 9090 (standaard) wordt een webinterface aangeboden waarin je veel systeemzaken kunt zien maar ook kunt configureren. Deze lijst wordt steeds langer en omvat oa.: netwerk-management (ook dingen als bonding enz.), filesysteem-management (lvm, nfs, vdo enz) en selinux zaken. Ook zit er in Web Console die overigens nog steeds cockpit heet op het inlogscherm, ook een terminal. Kortom, het begint steeds meer en meer een interessante manier te worden. LinuxPro gebruikt cockpit middels een nginx proxy waarvan we binnenkort de configuratie zullen plaatsen.

Security

Uiteraard zitten ze ook bij Red Hat niet stil als het om security gaat. Zo is er een tool waarmee system-wide bepaalde standaard kunnen worden geconfigureerd (crypto-setup) en is LUKS ge-upgrade naar versie 2. Op kernel nivo zijn PIE en RELRO geintroduceerd die een veel gebruikte manier van exploits, buffer overflow, moeten tegengaan daar het onverspelbaar te maken waar wat in geheugen draait.

Netwerk

In de netwerk-stack zijn dingen aangepast waardoor oa. aan crypto offloading gedaan kan worden, congestie in het netwerk gedetecteerd kan worden en automatische optimalisatie gedaan wordt. Ook in bonding omgevingen kunnen veel gemaakte fouten makkelijker worden herkend en opgelost.

Docker

Docker is niet meer ‘hip’, containerisatie wel. In plaats van docker, met een volgens Red Hat onwerkbaar licentie model is nu een drop-in replacement in de vorm van podman, buildah en skopeo gekomen.

 

 

 

 

 

 

Red Hat lanceert versie 8

Op 9 mei heeft Red Hat de lang verwachtte versie 8 gereleased. We hadden de beta’s al getest en de lijst met vernieuwingen, veranderingen, nieuwe zaken is enorm. Zaken die in Red Hat 7.6 al als ‘deappriciated’ werden gezien zijn nu of daadwerkelijk vervangen of verwijderd. Zo is yum vervangen door het syntax compatible dnf. De vervanger dnf is sneller dat yum mede omdat het niet meer in python maar C++ geschreven is.

Binnenkort meer over alle veranderingen in Red Hat 8, tot die tijd kan je de officieele release notes lezen. Red Hat 8 is gebaseerd op Fedora 28

Redhat praat over Ansible

Ansible

AnsibleWat is Ansible

Ansible is een automation tool, een tool dus waarmee je je beheer van je (cloud)servers maar ook fysieke servers op zowel Windows als Linux kan beheren en bijv. applicaties kan installeren. Het werkt zonder agent, dat doet bijv. een andere automation tool zoals Puppet wel. Ansible werkt in principe door het opzetten van een SSH verbinding, voert uit wat het uit moet voeren en verbreekt de verbinding weer. Ansible is OpenSource. 

Toepassingen

Ansible kent vele toepassingen, zo kan je er dus bestaande servers in een eigen datacenter en/of in de cloud mee beheren maar ook kan Ansible gebruikt worden om netwerkapparatuur mee te configureren of bepaalde policies gepushed worden. Denk bijv. aan een ACL waarmee toegang geregeld wordt vanaf een beheersLAN. 

Playbook

Alles in Anslble draait om zgn. playbooks. Stukken Ansible code waarmee bepaalde zaken worden geregeld. Tijdens de RedHat meeting in Bussum van 14-03-2018 werd uitgelegd hoe belangrijk naamgeving kan zijn. Gebruik bijv. niet "installatie server" maar "Installatie en starten Apache webserver". Als er dan iets mis gaat weet je tenminste in welk playbook het mis gaat en waar. Klinkt simpel maar het zijn vaak dit soort kleine dingen die je in je enthousiasme over het hoofd ziet. Dat je niet zelf het wiel hoeft uit te vinden, klinkt ook nogal logisch en met een git repo (galaxy) van zo'n 15.000 vrij beschikbare playbooks en modules hoeft dat ook niet. Even een bestaand voorbeeld aanpassen is een stuk makkelijker en sneller dan zelf allerlei code en modules bij elkaar rapen. 

Een voorbeeldje van een task binnen een playbook:

--

# This task installs and enables apache on webservers
- name: ensure apache is installed
yum: pkg=httpd state=latest
- name: ensure apache is running
service: name=httpd state=running enabled=yes
- name: copy files to document root
copy: src=cloud.png dest=/var/www/html/cloud.png
- name: copy application code to document root
template: src=index.html.j2 dest=/var/www/html/index.html
notify: restart apache

 

Security

Het begint ein-de-lijk ook bij het bedrijfsleven en overheid door te dringen dat security (app, server, netwerk enz.) niet meer het ondergeschoven kindje kan zijn maar volle aandacht verdiend. Zo kan Ansible worden ingezet om periodiek root-wachtwoorden te wijzigen, security policies te implementeren en als zo'n policy in bijv. in een test omgevinging werkt dan kan dat gemakkelijk naar productie worden doorgezet. 

 

 

 

Wat is er nieuw in Redhat 7 [update-2]

Netwerk

Nieuw is nmcli en nmtui command waarmee je nu je netwerkconfiguratie regelt. 

Een paar voorbeelden:

  • nmcli con show : toont de connectie status van de netwerkinterfaces
  • nmcli con show <device> : toont gedetailleerde info van <device>
  • nmcli con add con-nam <name> ifname <device> autoconnect <on | off>  type ethernet ip4 192.168.1.10/24 gw 192.168.1.254 : Dit brengt maakt voor <name> een configuratiebestand aan voor <device> waarbij het type v/d interface ethernet is, er gekozen kan worden op deze tijdens het opstarten autoconnected is (moet worden geactiveeerd) en de bijbhorende ipv4 configuratie.
  • nmcli con mod <name> + ipv4.dns 8.8.8.8 : voegt aan de bestaande configuratie <name> een ipv4 dns met adres 8.8.8.8 toe. 
  • nmcli con up <name> : brengt interface met de naam <name> up 
  • hostname-ctl status : geeft overzicht van de hostname configuratie
  • hostname-ctl set-hostname <fqdn> : set de hostname (fqdn) in 

Overigens wordt de configuratie van de netwerk interface wel gewoon in /etc/sysconfig/network-scripts opgeslagen.

Logging

Hoewel logging 'gewoon' via rsyslog kan lopen en het nieuwe journald geen 1 op 1 vervanging is wordt bijv. bij een minimale installatie rsyslog niet standaard geinstalleerd en zal je met journalctl aan de gang moeten. De logging met journald is gaat verloren na een reboot en wordt weggeschreven in /run/log/journal.

journald logging permanent maken

  • Maak een directory /var/log/journal aan: mkdir /var/log/journal
  • Zet de rechten goed : chown root:systemd-journal /var/log/journal en geef daarna chmod 2755 /var/log/journal
  • Zorg ervoor dat journald de nieuwe directory ziet : killall -USR1 systemd-journald

Het uitlezen v/d logging gaat dan middels journalctl -b

journald voorbeelden

  • journalctl -f : toont de laatste regels van het log en vult aan als er nieuwe items bijkomen (vergelijkbaar met een tail -f)
  • journalctl -nxx : toont de laatste xx regels
  • journnactl –since yesterday -p err : toont vanaf gisteren alleen de error logregels
  • journalctl _SYSTEMD_UNIT=sshd.service : toont alleen de sshd gerelateerde logregels
  • journalct -o verbose : geeft extra veel info over de logregels

Wachtwoord van root kwijt / verloren

In RedHat 7 kan je het root wachtwoord op de volgende manier wijzigen als je het vergeten / kwijt bent: 

  • reboot de server
  • in het bootmenu druk op e (edit) en voeg aan de regel die begint met linux16 aan het einde toe: rd.break
  • boot de server daarna verder vanuit het bootmenu met Ctrl-X
  • op de prompt geef mount -orw,remount /sysroot 
  • geef chroot /sysroot
  • wijzig het root wachtwoord met passwd root
  • indien SELINUX enforced is geef load_policy -i en daarna touch /.autorelabel
  • reboot de server