linuxstammtisch€¦ · • da auf dem pi ein vollständiges linux läuft hat man viel mehr...
TRANSCRIPT
LinuxStammtisch
DIY AccessPointNie wieder ranziges Hotel-WLAN ;)
-mat- filid brandy, https://linuxpinguin.de/
Ranziges Hotel-WLANUnd damit fangen die Schmerzen erst an!
• Unsicheres WLAN
• Misstrauen zum Betreiber
• Begrenzung auf wenige Geräte
• Geräte Isolation
• Sniffing
Internet
• Zugang zum Internet/Hotel-WLAN
• Firewall
• Proxy
• DNS
• VPN
Internet
}
Was kommt jetzt?
1. Hardware
2. Betriebssystem
3. Die Architektur
4. Software
5. Betrieb
1. Die Hardware
Raspberry Pi• Einplatinen-Computer auf Basis von
ARM CPUs
• Verschiedenste Versionen seit November 2014:1A+,1B+,2B,3B,3B+,Zero,ZeroW
• Aktuelle Version:3B+, ZeroW
• Benutzte Distribution:Raspbian Lite
• https://www.raspberrypi.org/
ZeroW1A+ 1B+ 2B 3B Zero
3B+
Raspberry Pi• Da auf dem Pi ein vollständiges Linux läuft hat
man viel mehr Möglichkeiten gegenüber zB. von Arduinos.
• Dennoch gibt es durch die GPIO Schnittstelle viele Erweiterungen.
• Entweder selbst gebaut oder sogenannte PiHats.
• Über zwei weitere Schnittstellen lassen sich die Kamera und ein 7” TouchDisplay anschliessen.
Raspberry Pi 3B+• Broadcom BCM2837B0, Cortex-
A53 (ARMv8) 64-bit SoC @ 1.4GHz
• 1GB LPDDR2 SDRAM
• 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
• Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
• Extended 40-pin GPIO header
• Full-size HDMI
• 4 USB 2.0 ports
• CSI camera port for connecting a Raspberry Pi camera
• DSI display port for connecting a Raspberry Pi touchscreen display
• 4-pole stereo output and composite video port
• Micro SD port for loading your operating system and storing data
• 5V/2.5A DC power input
• Power-over-Ethernet (PoE) support (requires separate PoE HAT)
2. Das Betriebssystem
Raspbian Stretch Lite
• Da wir den Pi später als reinen Server betreiben, reicht die Lite Installation.
• Download unter: https://www.raspberrypi.org/downloads/raspbian/
Raspbian Installation• Download:
https://www.raspberrypi.org/downloads/raspbian/
• Entpacken der ZIP-Datei
• Das Image auf eine SD-Karte schreibenhttps://www.raspberrypi.org/documentation/installation/installing-images/README.md
• SD-Karte in den Pi stecken
• Kabel anschliessen
• Und den Anleitungen folgen
Raspbian Installation• Besonderheiten:
• Der Pi hat englische Tastaturbelegung
• Standard-Benutzer: pi
• Standard-Passwort: raspberry (Bitte SOFORT ändern)
• Was macht man also:
• Einloggen als pi und sudo bash
• raspi-config aufrufen und die obigen Sachen ändern
• Zusätzlich ändere ich die Zeitzone auf UTC und schalte den SSH Server an
• Danach ip a && aptitude update && aptitude -y safe-upgrade && reboot
3. Die Architektur
• Durch ein weiteres USB-Wifi braucht der Pi nur Strom um sich dazwischen zu hängen
• WLAN0 verbindet sich mit dem Internet
• WLAN1 macht den HotSpot auf
• Eth0 ist auch noch nutzbar
Internet
4. Die Software
• Backrezept
• Installation OS
• Initiale Verbindung ins Internet
• Aufsetzen von hostapd
• Aufsetzen von dnsmasq
• Aufsetzten von Squid
• Aufsetzen von OpenVPN
• Aufsetzen von pi-hole
• DHCP anpassen
• Wir müssen die automatische IP-Adressen Suche für das eth0 und wlan1 abschalten.
• Dort werden wir später selbst einen DHCP Server einsetzen.
• Also geben wir schonmal die IP-Adressen in /etc/dhcpcd.conf vor.
• Über das wlan0 lassen wir uns gerne eine IP zuweisen, wir wollen ja Internet. :)
• Zugang anpassen
• Die /etc/wpa_supplicant/wpa_supplicant.conf passen wir so an, dass wir auch Zugang bekommen.
• Iptables zum NAT anpassen
• Damit ermöglichen wir unseren Benutzern von wlan1 und eth0 ins Internet zugehen.
• Backrezept
• Installation OS
• Initiale Verbindung ins Internet
• Aufsetzen von hostapd
• Aufsetzen von dnsmasq
• Aufsetzten von Squid
• Aufsetzen von OpenVPN
• Aufsetzen von pi-hole
• hostapd
• Diese Komponente erstellt das weitere WLAN als HotSpot
• Zum Testen ist hier im Raum das WLAN: LinuxStammtisch mit dem Passwort LinuxStammtisch
• Achtung! Euer Traffic erscheint in der Demo dann!
hostapd
• Installieren mitaptitude install hostapd
• Editiern von /etc/hostapd/hostapd.conf und /etc/defaults/hostapd
• Danach starten mit systemctl enable hostapd systemctl start hostapd
• Backrezept
• Installation OS
• Initiale Verbindung ins Internet
• Aufsetzen von hostapd
• Aufsetzen von dnsmasq
• Aufsetzten von Squid
• Aufsetzen von OpenVPN
• Aufsetzen von pi-hole
• dnsmasq
• Eine Kombination aus DHCP und DNS Server
• Leicht zu installieren und arbeitet mit pi-hole zusammen
• wpad.dat bietet eine automatisch Proxy Konfiguration an
• Backrezept
• Installation OS
• Initiale Verbindung ins Internet
• Aufsetzen von hostapd
• Aufsetzen von dnsmasq
• Aufsetzten von Squid
• Aufsetzen von OpenVPN
• Aufsetzen von pi-hole
• squid3
• Ein lokaler Cache ist durchaus sinnvoll, gerade wenn man nur begrenztes Volumen hat.
• Desweiteren filtern wir bereits einige Dinge raus um nicht alles über uns zu verraten.
• Tragen wir hier noch den Proxy vom VPN-host ein wird lokal noch weniger sichtbar.
• Backrezept
• Installation OS
• Initiale Verbindung ins Internet
• Aufsetzen von hostapd
• Aufsetzen von dnsmasq
• Aufsetzten von Squid
• Aufsetzen von OpenVPN
• Aufsetzen von pi-hole
• OpenVPN
• Nun hängen wir den Pi noch in die OpenVPN Infrastruktur ein
• Backrezept
• Installation OS
• Initiale Verbindung ins Internet
• Aufsetzen von hostapd
• Aufsetzen von dnsmasq
• Aufsetzten von Squid
• Aufsetzen von OpenVPN
• Aufsetzen von pi-hole
Pi Hole Installation
• Wichtig ist, dass man pi-hole am Schluss installiert und dann noch etwas anpasst.
• Als root einloggen und folgendes ausführen: curl -sSL https://install.pi-hole.net | bash
Our code is completely open,
but piping to bash can be dangerous.
For a safer install, review the
code and then run the installer locally.
• Backrezept
• Installation OS
• Initiale Verbindung ins Internet
• Aufsetzen von hostapd
• Aufsetzen von dnsmasq
• Aufsetzten von Squid
• Aufsetzen von OpenVPN
• Aufsetzen von pi-hole
Was haben wir nun geschaffen?
• Durch ein weiteres USB-Wifi braucht der Pi nur Strom um sich dazwischen zu hängen
• WLAN0 verbindet sich mit dem Internet
• WLAN1 macht den HotSpot auf
• Eth0 ist auch noch nutzbar
Internet
Demo
Fragen?https://linuxpinguin.de/project/AccessPoint/
-mat- filid brandy