Projekt: Raspberry Pi als Router
Heute mal ein Video zu einem Projekt, welches schon sehr lange fertig ist und seitdem auf meiner Festplatte rumlag. Ich brauchte einen mobilen Zutrittspunkt ins Netzwerk, und habe mich dann für den Raspberry Pi entschieden, da der eh noch rum lag. In diesem Beispiel bauen wir praktisch einen Router (keinen Access Point) aus einem Raspberry Pi. Dieser vergibt in einem separaten Netzwerk dann selbstständig IP-Adressen per DHCP, leitet die eingehenden Verbindungen an den Ethernet-Port weiter usw.
Wozu braucht man sowas? Angenommen ich bin im Hotel und habe eine Netzwerkdose, aber kein WLAN zur Verfügung. Dann könnte ich jetzt einfach den Raspberry Pi nehmen, per Netzwerk anschließen und so mein eigenes WLAN öffnen. Das sollte natürlich in der Regel vorher mit dem Betreiber des Netzes geklärt werden - aber: wo kein Kläger, da kein Richter, oder? Das Ganze läuft jedenfalls wunderbar.
Was wird benötigt?
- Ein Raspberry Pi mit Raspbian Stretch
Video
Befehle
sudo apt-get install dnsmasq hostapd
sudo systemctl stop dnsmasq
sudo systemctl stop hostapd
sudo vi /etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.0.1/24
static routers=192.168.0.1
statid domain_name_servers=192.168.0.1 8.8.8.8
denyinterfaces wlan0
sudo vi /etc/dnsmasq.conf
interface=wlan0
no-dhcp-interface=eth0
domain-needed
bogus-priv
dhcp-range=192.168.0.10,192.168.0.200,12h
sudo vi /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=Blablabla
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=EinTotalSicheresPassword12345
wpa_key_mgmt=WPA-PSK
sudo vi /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
sudo service hostapd start
sudo service dnsmasq start
sudo hostapd -d /etc/hostapd/hostapd.conf
dnsmasq --test -C /etc/dnsmasq.conf
sudo raspi-config
sudo iptables -A FORWARD -o eth0 -i wlan0 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo apt-get install iptables-persistent
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
sudo reboot