Inhoudsopgave:

Bridge Firewall met OrangePi R1 - Ajarnpa
Bridge Firewall met OrangePi R1 - Ajarnpa

Video: Bridge Firewall met OrangePi R1 - Ajarnpa

Video: Bridge Firewall met OrangePi R1 - Ajarnpa
Video: Маршрутизатор на Orange Pi 2024, November
Anonim
Bridge-firewall met OrangePi R1
Bridge-firewall met OrangePi R1

Ik moest een andere Orange Pi kopen:) Dit kwam omdat mijn SIP-telefoon midden in de nacht begon te rinkelen door vreemde nummers en mijn VoIP-provider suggereerde dat dit te wijten was aan poortscans. Nog een reden - ik had te vaak gehoord dat routers werden gehackt en ik heb een router die ik niet mag beheren (Altibox/Noorwegen). Ik was ook benieuwd wat er in mijn thuisnetwerk gebeurde. Dus besloot ik een bridge-firewall op te zetten, transparant voor het TCP/IP-thuisnetwerk. Ik heb het getest met een pc en toen besloot ik OPi R1 te kopen - minder ruis en minder stroomverbruik. Als je je eigen reden hebt om zo'n hardwarematige firewall te hebben - dat is makkelijker dan je denkt! Vergeet niet een koellichaam en een degelijke micro SD-kaart te kopen.

Stap 1: OS & bekabeling

Besturingssysteem en bekabeling
Besturingssysteem en bekabeling

Ik heb Armbian geïnstalleerd:

Zoals je misschien hebt gemerkt, heb ik een USB TTL-converter gebruikt om toegang te krijgen tot de seriële console, wat niet nodig was, de standaard netwerkconfiguratie gaat uit van DHCP.

De enige opmerking over de converter - in veel tutorials wordt geen VCC-verbinding gesuggereerd. Bij mij werkte het alleen als de voeding was aangesloten (3,3V is de enige vierkante pin op het bord). En het zou oververhit raken als het niet op USB was aangesloten voordat de voeding werd ingeschakeld. Ik denk dat R1 pinout heeft die compatibel is met OPi Zero, ik heb problemen met het vinden van R1-schema's.

Na het opstarten van Armbian, het wijzigen van het root-wachtwoord en wat update/upgrade-dingen vond ik twee interfaces ('ifconfig -a') - eth0 en enxc0742bfffc6e. Vink het aan, want je hebt ze nu nodig - het meest geweldige is dat om je R1 in een Ethernet-brug te veranderen, je alleen het bestand /etc/network/interfaces hoeft aan te passen. Ik was verbaasd dat Armbian wordt geleverd met een aantal vooraf geconfigureerde versies van het bestand, inclusief interfaces.r1switch - klinkt als wat we nodig hebben, maar het werkt niet.

Een ander belangrijk ding was de juiste identificatie van Ethernet-poorten - enxc0742bfffc6e was degene die bijna seriële pinnen was.

Voordat je ervoor zorgt dat de R1 het contact met internet verliest (OK, dit had beter kunnen worden geconfigureerd), installeer je gewoon één ding:

sudo apt-get install iptables-persistent

Stap 2: /etc/netwerk/interfaces

Als je je lokale netwerk overschakelt naar eth0, dan heb je het volgende interfacebestand nodig (je kunt altijd teruggaan naar de originele versie met sudo cp interfaces.default interfaces; reboot):

auto br0iface br0 inet handleiding

bridge_ports eth0 enxc0742bfffc6e

bridge_stp uit

bridge_fd 0

bridge_maxwait 0

bridge_maxage 0

Stap 3: Iptables

Iptables
Iptables

Na het opnieuw opstarten moet uw R1 transparant zijn voor het netwerk en werken als een kabelconnector. Laten we het leven van de slechteriken nu wat moeilijker maken - configureer regels voor firewalls (gehashte regels zijn opmerkingen; pas netwerkadressen aan uw DHCP-configuratie aan!):

# alles flashen en deuren sluiten

iptables -Fiptables -P INPUT DROP

iptables -P VOORUIT DROP

iptables -P OUTPUT DROP

# maar laat het interne netwerk naar buiten gaan

iptables -A INPUT -m physdev --physdev-is-bridged --physdev-in eth0 -s 192.168.10.0/24 -j ACCEPTEREN

iptables -A FORWARD -m physdev --physdev-is-bridged --physdev-in eth0 -s 192.168.10.0/24 -j ACCEPTEREN

# laat DHCP door bridge gaan

iptables -A INPUT -i br0 -p udp --dport 67:68 --sport 67:68 -j ACCEPTEREN

iptables -A FORWARD -i br0 -p udp --dport 67:68 --sport 67:68 -j ACCEPTEREN

# al het bestaande verkeer moet worden doorgestuurd

iptables -A FORWARD -m conntrack --ctstate VASTGESTELD, GERELATEERD -j ACCEPTEREN

# alleen voor lokale browser - toegang tot monitoringtools zoals darkstat

iptables -A INGANG -i lo -j ACCEPTEREN iptables -A OUTPUT -o lo -j ACCEPTEREN

#block spoofing

iptables -A FORWARD -m physdev --physdev-is-bridged --physdev-in enxc0742bfffc6e -s 192.168.10.0/24 -m limit --limit 5/min -j LOG --log-level 7 --log-prefix NETFILTER

iptables -A FORWARD -m physdev --physdev-is-bridged --physdev-in enxc0742bfffc6e -s 192.168.10.0/24 -j REJECT

Stap 4: Laatste overwegingen

Na een week - het werkt perfect. Het enige dat ik zal verzinnen (en hier zal indienen) is netwerkmonitoring en toegang via ssh. Ik herhaal - het veranderen van het interfacebestand naar de inhoud die ik heb bijgevoegd zal het R1-apparaat loskoppelen van het IP-netwerk - alleen serieel zal werken.

6 juni 2018: overbruggen is niet zo heel veel werk maar R1 stoot veel warmte uit, veel te veel. Een eenvoudig koellichaam wordt erg heet - vreemd en ik vind het niet leuk. Misschien is het oké, misschien heeft iemand een andere oplossing dan een fan.

18 aug. 2018: 'armbianmonitor -m' geeft 38 Celsius aan, wat ver beneden mijn persoonlijke perceptie is. Ik voelde een significante verandering (naar beneden) toen ik de klok een beetje verkortte:

echo 1000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

Trouwens - ik ben erin geslaagd om verbinding te maken met mijn thuis-WLAN, maar R1 heeft geen IP ontvangen via DHCP, statische toewijzingsdeos werken ook niet. Dat was mijn eerste poging om een administratieve interface te hebben, behalve een seriële. Een ander idee is om nog steeds een IP toe te wijzen aan een van de ethernetpoorten. Ik kom hier over een paar maanden op terug.

Aanbevolen: