Bezugnehmend auf meine Anleitung zur Installation eines Samba4 AD Servers soll dieser neben seiner Aufgabe als AD-Domain Controller, DHCP und DNS Server noch zusätzlich als Gateway für die Clients dienen. Hierzu benötigt dieser zwei Netzwerkkarten. Bei mir ist die erste Karte (eth0) für das interne, private Netzwerk gedacht. Die zweite (eth1) hat die gewünschte Verbindung zum Internet.
Somit sieht die interfaces Datei bei mir wie folgt aus:
$ nano /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # Die Karte für das interne Netzwerk allow-hotplug eth0 iface eth0 inet static address 10.101.42.1 netmask 255.255.255.0 broadcast 10.101.42.255 network 10.101.42.0 gateway 10.101.42.1 dns-nameservers 10.101.42.1 # Netzwerkschnittstelle zum Internet # in diesem Fall per DHCP konfiguriert allow-hotplug eth1 iface eth1 inet dhcp iface eth1 inet6 auto
Falls ihr auf eurem Server bislang weder DHCP noch DNS betreibt, muss als erstes DNSmasq installiert werden. Falls ihr vom vorherigen Tutorial zur Installation eines Samba4 Servers kommt, ist dies bereits erledigt und könnt euch Schritt 1. sparen. Der Vollständigkeit halber aber hier in kompakter Form:
- DNSmasq installieren:
apt-get install dnsmasq
Konfigurations Datei öffnen:
$ nano -w /etc/dnsmasq.conf
interface=eth0 listen-address=127.0.0.1 domain=my.own.dom dhcp-range=10.101.42.100,10.101.42.200,12h
- Ab hier gehts dann für alle weiter und das IP Forwarding im Linux Kernel muss zunächst aktiviert werden:
$ nano /etc/sysctl.conf
Dort die folgende Zeile auskommentieren:
net.ipv4.ip_forward = 1
Damit die Änderungen sofort greifen folgenden Befehl ausführen (oder rebooten):
$ sysctl -p /etc/sysctl.conf
- Zuletzt IPTables installieren und eine Minimalkonfiguration eingeben:
IPTables installieren$ apt-get install iptables-persistent
Konfigurationsdatei öffnen und folgenden Inhalt einfügen:
$ nano /etc/iptables/rules.v4
*nat -A POSTROUTING -o eth1 -j MASQUERADE COMMIT *filter -A INPUT -i lo -j ACCEPT # ssh erlauben, damit wir uns nicht selbst aussperren -A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT # eingehende Pakete erlauben die zu den ausgehenden Verbindungen gehören # u.a. für Rechner aus dem Private-Netzwerk (eth0) -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # alles andere eingehend verbieten -A INPUT -i eth1 -j DROP COMMIT
Zuletzt die neue Konfiguration aktivieren:
iptables-restore < /etc/iptables/rules.v4
Ab nun sollten alle Clients, die nur im internen Netzwerk hängen ins Internet geroutet werden.