Wir werden das dnsmasqPaket für diesen Zweck verwenden, da es ein kombinierter DHCP- und DNS-Server ist und auch einfach zu konfigurieren ist.
Wenn Sie etwas "Schwergewichtigeres" möchten, können Sie die
Pakete isc-dhcp-serverund bind9für DHCP bzw. DNS verwenden. Für unsere Zwecke dnsmasqfunktioniert dies jedoch einwandfrei.
sudo apt-get install dnsmasq
Wir müssen Schnittstellen konfigurieren. Wir werden eine statische IP-Adresse zuweisen
eth0, die als Gateway verwendet wird. Öffnen Sie die Interface-Datei
sudo nano /etc/network/interfaces
Bearbeiten Sie den eth0Abschnitt wie folgt:
allow-hotplug eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
Als nächstes werden wir konfigurieren dnsmasq. Die mitgelieferte dnsmasqKonfigurationsdatei enthält viele Informationen zur Verwendung. Daher rate ich, es zu verschieben und ein neues zu erstellen.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
Fügen Sie Folgendes in die neue Datei ein
interface=eth0 # Use interface eth0
listen-address=192.168.2.1 # listen on
# Bind to the interface to make sure we aren't sending things
# elsewhere
bind-interfaces
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
# Never forward addresses in the non-routed address spaces.
bogus-priv
# Assign IP addresses between 192.168.2.2 and 192.168.2.100 with a
# 12 hour lease time
dhcp-range=192.168.2.2,192.168.2.100,12h
Bearbeiten Sie die /etc/sysctl.confDatei, um die Paketweiterleitung zu aktivieren
sudo nano /etc/sysctl.conf
Entfernen Sie am #Anfang der Zeile, die Folgendes enthält:
net.ipv4.ip_forward=1Damit wird die Paketweiterleitung beim nächsten Neustart aktiviert. Aber wenn Sie es jetzt ohne Neustart versuchen möchten, dann tun Sie dies.
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Wir müssen auch die Internetverbindung von RPi mit den über Wi-Fi verbundenen Geräten teilen. Wir konfigurieren ein NAT zwischen eth0und
wlan0:
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
Diese Regeln müssen jedoch bei jedem Neustart des Pi angewendet werden. Führen Sie sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
sie daher aus , um die Regeln in der Datei zu speichern /etc/iptables.ipv4.nat. Jetzt müssen wir dies nach jedem Neustart ausführen. Öffnen Sie die /etc/rc.localDatei mit
sudo nano /etc/rc.localund exit 0fügen Sie über der Zeile die folgende Zeile hinzu:
iptables-restore < /etc/iptables.ipv4.nat
Und das ist alles! Starten Sie jetzt einfach Ihr RPi neu und Sie haben Zugang zum Internet
sudo reboot
Die obige Konfiguration funktioniert in neueren Versionen von Raspbian nicht. Deshalb habe ich ein Skript dafür erstellt, das es mit weniger Schmerzen ermöglicht.
Stellen Sie sicher, dass Sie den vollständigen Pfad zur Datei angegeben haben. Und du bist fertig. Starten Sie jetzt neu, um die Änderungen zu sehen