Autor: User

NTP Konfigurieren

Das Network Time Protocol (NTP) erlaubt es, das Datum und die Uhrzeit von dem System mit dem Internet zu synchronisieren. Für die Kommunikation wird UDP auf Port 123 verwendet. Der permanente Abgleich von Datum und Uhrzeit erfolgt mit einem NTP Dienst.

Die Installation erfolgt mit dem Befehl.

sudo apt-get install ntp

Der erste Abgleich kann mit dem Befehl ntpdate erfolgen. Eine Liste von NTP Servern findet man auf der Seite von www.pool.ntp.org.

ntpdate de.pool.ntp.org

Die Einstellungen für den NTP Dienst kann man so ändern.

sudo vim /etc/ntp.conf

server 0.de.pool.ntp.org
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org

Der NTP Dienst wird gestartet mit dem Befehl.

sudo service ntp start
sudo service ntp status

Die Serverliste kann man ausgeben mit dem Befehl.

ntpq -p

Systemd verwendet einen eigenen NTP Dienst.

timedatectl status

Sollte NTP nicht aktiviert sein, so kann man die Einstellung ändern.

sudo vim /etc/systemd/timesyncd.conf

[Time]
Servers=0.de.pool.ntp.org 1.de.pool.ntp.org

Nach der Aktivierung sollte NTP aktiv und synchronisiert sein.

sudo timedatectl set-ntp true
sudo timedatectl status

Mail von Kommandozeile versenden

Wie kann ich eine E-Mail von der Kommandozeile versenden?

Zu erst installieren wir die Mail-Util’s.

sudo apt-get install mailutils

Und jetzt kann man schon eine E-Mail versenden.

mail -s "Betreff" recipient@domain.de < nachricht.txt

echo "Nachricht" | mail -a "From: you@example.com" -s "Betreff" recipient@domain.de

Oder mit Sendmail.

sendmail recipient@domain.de
From: you@example.com
Subject: Betreff
Nachricht
.

Sollte die Email beim Empfänger nicht an kommen, muss man die Einstellung von Postfix oder Exim noch einmal prüfen.

sudo dpkg-reconfigure postfix

sudo dpkg-reconfigure exim4-config

Will man die Kommunikation von SMTP selbst mal probieren, so kann man per Telnet auch eine E-Mail senden.

telnet mail.domain.de 25

HELO <senderhostname.de>
EHLO <senderhostname.de>
MAIL FROM:<you@example.com>
RCPT TO:<recipient@domain.de>
DATA
Subject: Test email
 
Body of the email
.
QUIT

Heute sollte die Kommunikation zum SMTP Server nicht mehr unverschlüsselt statt finden. Für die Verschlüsslung werden SSL Zertifikat verwendet.

Mit OpenSSL kann man das Zertifikat von dem SMTP Server überprüfen.

openssl s_client -connect : -servername [-starttls ]

Die Umschaltung auf verschlüsselt Übertragung erfolgt per STARTTLS. Mögliche Werte sind (smtp, pop3, imap).

Hier ein Beispiel für SMTP.

openssl s_client -connect example.com:25 -servername example.com -starttls smtp

Wenn man nur das Zertifikat überprüfen will, geht es auch so.

openssl s_client -connect example.com:25 -starttls smtp -showcerts | openssl x509 -text

Hier eine Liste der Ports für E-Mail Kommunikation.

  • 25 SMTP Empfangen von E-Mails von anderen Mailservern
  • 465 SMTP SSL Client E-Mail Übertragung
  • 587 SMTP TLS Client E-Mail Übertragung
  • 143 IMAP StartTLS Client
  • 993 IMAP TLS/SSL Client
  • 110 POP3 Client
  • 995 POP3 TLS/SSL Client

Ubuntu Systemd Dienst entfernen

Diese Anweisungen müssen Sie durchführen, um einen Dienst aus Systemd zu entfernen.

sudo systemctl stop [name.service]
sudo systemctl disable [name.service]
sudo rm /etc/systemd/system/[name.service]
sudo systemctl daemon-reload
sudo systemctl reset-failed

Ubuntu Dienst Systemd

Ubuntu hat einen Wechseln von Upstart zu SystemD durchgeführt. Für Systemd gibt es einige neue Tools für die Verwaltung der Dienste.

Um eine Übersicht über alle Dienste zu erhalten können Sie diese Option verwenden.

sudo systemctl -all

Um einen Dienst zu start oder stoppen können Sie diese Befehle verwenden.

sudo systemctl start [name.service]
sudo systemctl stop [name.service]
sudo systemctl restart [name.service]
sudo systemctl reload [name.service]
sudo systemctl status [name.service]

Eine neue Funktion von Systemd ist der Timer, mit deren Hilfe kann man Aufgaben automatisieren.

sudo vim /etc/systemd/system/backup.service

[Unit]
Description=Backup
[Service]
ExecStart=/home/user/backup.sh

Der Timer startet den Dienst immer jeden Tag um 2:15 Uhr.

sudo vim /etc/systemd/system/backup.timer

[Unit]
Description=beispiel timer
[Timer]
OnCalendar=02:15
OnUnitInactiveSec=1d

Hiermit starten Sie den Timer.

sudo service systemctl start backup.timer
sudo systemctl list-timers --all
sudo systemctl enable backup.timer
sudo systemctl disable backup.timer
sudo systemctl --failed

Alle Informationen zu Diensten erhalten Sie im Journal.

journalctl --reverse
journalctl --follow
journalctl --unit backup.timer

Mit den Analyze-Tool kann man sich den Startvorgang in einer SVG-Grafikdatei ausgeben lassen.

systemd-analyze plot > /tmp/plot.svg

Linux Firewall (iptables) automatisch laden und speichern

Wer Linux mit der Firewall iptable verwendet, möchte die Regeln bei Systemstart automatisch geladen haben.

1. Firewall Regeln automatisch laden

sudo vim /etc/network/if-pre-up.d/iptablesload

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

sudo chmod +x /etc/network/if-pre-up.d/iptablesload

2. Firewall Regeln automatisch speichern

sudo vim /etc/network/if-post-down.d/iptablessave

#!/bin/sh
iptables-save > /etc/iptables.rules
if [ -f /etc/iptables.downrules ]; then
   iptables-restore < /etc/iptables.downrules
fi
exit 0

sudo chmod +x /etc/network/if-post-down.d/iptablessave

Jetzt werden alle Einstellungen vor dem Herrunterfahren gespeichert und nach einem Start automatisch geladen.

Die aktuellen Firewall Regeln kann man sich hiermit ansehen.

iptables -L -n -v

Ubuntu Paket mit fixer Version installieren

Manchmal ist es notwendig eine bestimmte Version von einem Programm zu verwenden und nicht automatisch auf die neuste Version zu wechseln.

1. Alte Version entfernen

sudo apt-get remove firefox

2. Versionen anzeigen lassen

sudo apt-cache madison firefox
apt-cache show firefox | grep Version

Version: 40.0+build1-0ubuntu0.14.04.1
Version: 38.0+build2-0ubuntu2

3. Version installieren

sudo apt-get install firefox=38.0\*
sudo apt-get install firefox=38.0+build2-0ubuntu2

4. Updates auf neue Version verhindern

sudo apt-mark hold firefox

Sollte man sich doch entscheiden auf die aktuelle Version zu wechseln, kann man den Vorgang auch rückgängig machen.

sudo apt-mark unhold firefox
sudo apt-get upgrade

Eigene Ubuntu / Debian – Pakete erstellen

1. Paketverzeichnis erstellen

mkdir -p /tmp/myproject/DEBIAN/

1.1. HTML (Test) Seite erstellen

cd /tmp/myproject/
mkdir -p ./var/www/
echo "Test" > ./var/www/test.html

2. Kontrolldatei erstellen

cd /tmp/myproject/
vim ./DEBIAN/control

Package: myserver
Version: 0.0.1
Section: server
Priority: optional
Architecture: all
Essential: no
Installed-Size: 1024
Maintainer: User [snap.in@gmail.com]
Description: Statische Seite für den Webserver

2.1. Post-Install und Pre-Uninstall

cd /tmp/myproject/
echo "service apache2 restart" > ./DEBIAN/postinst
chmod +x ./DEBIAN/postinst

3. DEB Packet erstellen

cd /tmp/
dpkg-deb --build myproject

3.1. Debian Packet ansehen

dpkg-deb --contents myproject.deb

3.2. Debian Packet installieren

sudo dpkg -i myproject.deb

3.3. Debian Packet Auflisten

sudo dpkg --list |grep myproject

3.4. Debian Packet de-installieren

sudo dpkg --remove myproject

Ubuntu Update Steuerung mit Alias

Debian und Ubuntu verwenden als Paketverwaltung das Tool „apt-get“. Um ein System auf den aktuellen Stand zu bringen sind immer folgende Schritte notwendig.

1.) Änderungen der Paketliste laden

sudo apt-get update

2.) Ubuntu Distribution updaten

sudo apt-get dist-upgrade

3.) Aufräumen

sudo apt-get --purge autoremove
sudo apt-get autoclean

Diese drei Schritte kann man in einem Kommando als Alias zusammen fassen.

vim ~/.bash_aliases

alias update="sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get --purge autoremove && sudo apt-get autoclean"

Nach einem Re-Login in die BASH kann man alle Schritte mit einem Befehl update starten.

Linux Schreibzugriffe reduzieren

Linux speichert bei jedem Aufruf eines Programm die Uhrzeit von Zeitpunkt. Wer diese Information nicht benötigt kann es beim Mounten ab schalten. Das Verlängert die Anzahl der Schreibzugriffe und wirkt sich positiv auf die Lebenszeit von Flash Speichern wie SSD (Solid State Drive) Laufwerken aus.

Hierfür ist eine kleine Änderung in einer Datei notwendig. Durch hinzufügen der Einträge noatime und nodiratime wird das Speichern von Zeitänderungen für Dateien und Verzeichnisse deaktiviert.

sudo vim /etc/fstab

/dev/mmcblk0p2  / ext4 defaults,noatime,nodiratime  0 1

SSH durch HTTP Proxy und Firewall

Wer nur durch einen HTTP Proxy Server in das Internet kommt, hat ein Problem mit SSH Verbindungen.

Durch einen kleinen Trick kann man sich trozdem verbinden. Man ändern der Port vom SSH Server von Port 22 auf 443. Der Port 443 ist für SSL Verbindungen reserviert und wird vom Proxy Server ohne Prüfung durchgelassen.

Den Port kann man am SSH-Server ändern oder am Router die NAT Einstellung.

Jetzt wird Port 22 und 443 für SSH verwendet.

sudo vim /etc/ssh/sshd_config

Port 22
Port 443

Einen Neustart von Dienst nicht vergessen.

sudo service ssh restart

Wenn man sich jetzt mit dem SSH Client verbindet, so gibt man den Proxy Server und den SSH Server an. Will man seinen Traffik über die SSH Verbindung tunnel, so kann man SOCKS5 (Port 1080) verwenden.

sudo vim ~/.ssh/config

Host *
  ProxyCommand corkscrew proxy.hostname.de 8080 %h %p ~/.ssh/proxyauth

Wenn der Proxy Server ein Login und Passwort benötigt, dann hinterlegen Sie es im Benutzerverzeichnis.

echo „login:password“ > ~/.ssh/proxyauth

Jetzt können Sie die Verbindung mit SSH von Client durch den Proxy zum SSH Server via Port 443 auf bauen.

$ ssh -D 1080 user@domain.de -p 443

Mit einem Browser (Firefox,Chrome,etc.) können Sie den Tunnel via SOCKS5 Port 1080 verwenden und kommen so in das Internet. Ein Test mit der Seite http://www.netip.de/ zeigt Ihnen die Remote Adresse an. Die IP Adresse sollte jetzt dem SSH Server entsprechen.

Das Betriebsystem Microsoft Windows enthält keinen SSH Client. Ein kostenloser SSH Client ist PuTTY. Die Einstellungen für PuTTY lauten.

    Session

  • Host Name: domain.de
  • Port: 443
    Connection / Proxy

  • Proxy hostname: proxy.hostname.de
  • Port: 8080
  • Username: login
  • Password: password
    Connection / SSH / Tunnels

  • Source por: 1080
  • Destination: Dynamic / Auto

Copyright © 2024 Weiter.info

Theme von Anders Norén↑ ↑