A Ziel der Übung Ziel ist es, einen Ubuntu-Rechner über einen als Router fungierenden CentOS-Rechner ins Internet gelangen zu lassen. Passwörter: CentOS: root → schueler; Ubuntu: schueler → schueler A.1 Konfiguration der Virtuellen Maschinen Es werden in dieser Übung zwei virtuelle Maschinen benötigt. Eine davon soll eine CentOS Maschine sein, die zweite ein Ubuntu Client. Erzeugen Sie die entsprechenden Maschinen (benutzen Sie ruhig mehr RAM, die Rechner haben genügend, verwenden Sie eine vorhandene Festplatte und setzen Sie vor dem erstmaligen Start entsprechende Snapshot(s)). Die CentOS Maschine benötigt zwei Netzwerkinterfaces. Eines soll im Bridge Modus (Netzwerkbrücke) laufen, das andere im internen Netzwerk „intnet“. Die Ubuntu Maschine soll mit einem Interface bestückt sein, welches im internen Netz „intnet“ hängt. Damit ist die CentOS Maschine Router zwischen Internet und einem privaten Netzwerk, in dem auch die Ubuntu Maschine hängt. ## steht im weiteren Verlauf der Übung für die Arbeitsplatz-(Computer-)Nummer. B Netzwerkkonfiguration Starten Sie die CentOS Maschine und kontrollieren Sie, welche Interfaces sie hat. Es ist üblich, dass die Maschine nun 2 neue Interfaces erkennt und diese enp0sX und enp0sY benennt. Der Grund ist, dass sich die Maschine verändert hat. Versuchen Sie über DHCP eine IP-Adresse für das erste Interface zu erhalten, falls es diese noch nicht erhalten hat. Finden Sie heraus, wie die Interfaces heißen. Wenn eine Adresse bezogen wurde, so ist dies die Karte im Bridge Modus. Dieses Interface wird in Folge int_bridge genannt. Das andere Interface ist im privaten Netz und wird in Zukunft int_intern genannt. Notieren Sie im Protokoll, welches Interface wohin geht (am besten in Form einer Netzwerk-Skizze). ###################### 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:d3:44:e8 brd ff:ff:ff:ff:ff:ff 3: enp0s8: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:2b:d9:a1 brd ff:ff:ff:ff:ff:ff ###################### Führen Sie nun folgende Tätigkeiten durch: • CentOS 1. Stoppen Sie unbedingt dauerhaft den Dienst NetworkManager über systemctl stop NetworkManager systemctl disable NetworkManager (Was macht systemctl und welche Befehle unterstützt es?) ######################### Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service. Disable one or more unit files ######################### 2. Welche DHCP-Konfiguration hat int_bridge bezogen? (a) Welche IP-Adresse? (b) Welche Subnetmaske? (c) Welche Routen bzw. Standardgateway? (d) Welchen DNS Server (zu finden unter /etc)? 3. Schließen Sie int_intern an ein privates Netzwerk an. Da (vorerst) kein DHCP Server auf dem privaten Netzwerk läuft, musst man nun die Adresse statisch vergeben. Vergeben Sie 192.168.##.254/24 (über ifconfig oder ip addr add - mehr dazu hier) 4. Routing in /proc/sys/net/ipv4/ip_forward aktivieren 5. Geben Sie folgenden Befehl in der Konsole als root ein (int_bridge entsprechend einsetzen): systemctl stop firewalld systemctl disable firewalld systemctl start iptables systemctl enable iptables iptables -F iptables -X iptables -F -t nat iptables -X -t nat iptables -t nat -A POSTROUTING -o int_bridge -j MASQUERADE yum install -y iptables-services service iptables save Was macht der iptables ... Befehl? Wofür braucht man ihn (der Rest entfernt die “neue” Firewall und schaltet die “alte” wieder ein bzw. speichert die Regel dauerhaft)? 6. Es bietet sich nun an, den SSH-Server dauerhaft in Betrieb zu nehmen bzw. vorerst zu kontrollieren, ob er läuft: systemctl status sshd und sich vom Klassenrechner mit ssh root@int_bridged_IP auf die CentOS Maschine zu verbinden, das erleichtert Copy&Paste für Kommandos und Ausgaben erheblich. • Ubuntu 1. Verbinden Sie die Netzwerkkarte mit dem selben private Netzwerk wie bei CentOS und vergeben die IP-Adresse 192.168.##.1/24 statisch (in der graphischen Oberfläche) 2. Wenn alles richtig gemacht wurde, dann sollten CentOS und Ubuntu sich pingen können. 3. Default Gateway soll das interne Interface von CentOS sein. Welchen DNS musst man eintragen? 4. Wenn wirklich alles richtig gemacht wurde, solltest du mit Ubuntu in das Internet kommen: testen Sie ping 8.8.8.8 und icanhazip.com - welche echte IP-Adresse hat Ihr Rechner und wem ‘gehört’ diese - whois.com. • Beide Rechner 1. Die oben angeführten Konfigurationen sollen nach dem Booten wieder aktiv sein (Beispiele dazu im CentOS Wiki, wobei die MAC-Adresse nicht gesetzt bzw. geändert werden muss, und hier) • Fragen zur Wiederholung 1. Wie kann ich mit Hilfe von ifconfig und ip ein Netzwerkinterface starten bzw. stoppen? 2. Wofür wird der Befehl tcpdump verwendet? Um dies festzustellen verwenden Sie folgende vorgangsweise: Geben Sie am CentOS Rechner den Befehl tcpdump -i int_intern ein (wenn das Programm nicht gefunden wird, installieren sie es mit yum) Wechseln Sie zum Ubuntu Rechner und pingen Sie von dort den CentOS Rechner. Was passiert am dort dann? 3. Wofür wird der Befehl netstat verwendet? Was zeigt der Befehl ohne Parameter an? • Was bewirkt dabei der Parameter -a? • Was bewirkt dabei der Parameter -r? • Was bewirkt dabei der Parameter -i? • Was bewirkt dabei der Parameter -s? Geben Sie auch Beispiele für die Anzeige. 4) Wofür dient die Datei /etc/hosts?