Sommario:

Bridge Firewall con OrangePi R1: 4 passaggi
Bridge Firewall con OrangePi R1: 4 passaggi

Video: Bridge Firewall con OrangePi R1: 4 passaggi

Video: Bridge Firewall con OrangePi R1: 4 passaggi
Video: Bridge #Wifi - Ethernet with #OpenWrt on #Raspberry Pi 3 B + : PDAControl 2024, Dicembre
Anonim
Firewall a ponte con OrangePi R1
Firewall a ponte con OrangePi R1

Ho dovuto acquistare un altro Orange Pi:) Questo perché il mio telefono SIP ha iniziato a squillare nel cuore della notte da numeri strani e il mio provider VoIP ha suggerito che ciò fosse dovuto alle scansioni delle porte. Un'altra ragione: avevo sentito troppo spesso parlare di router violati e ho un router che non sono autorizzato ad amministrare (Altibox/Norvegia). Ero anche curioso di sapere cosa stava succedendo nella mia rete domestica. Così ho deciso di creare un bridge-firewall, trasparente alla rete domestica TCP/IP. L'ho testato con un PC, poi ho deciso di acquistare OPi R1 - meno rumore e meno consumo energetico. Se hai la tua ragione per avere un tale firewall hardware, è più facile di quanto pensi! Non dimenticare di acquistare un dissipatore di calore e una scheda micro SD decente.

Passaggio 1: sistema operativo e cablaggio

Sistema operativo e cablaggio
Sistema operativo e cablaggio

Ho installato Armbian:

Come forse avrai notato ho usato il convertitore USB TTL per avere accesso alla console seriale, che non era necessario, la configurazione di rete predefinita presuppone DHCP.

L'unico commento al convertitore: in molti tutorial non viene suggerita alcuna connessione VCC. Per me ha funzionato solo quando è stata collegata l'alimentazione (3,3 V è l'unico pin out quadrato sulla scheda). E si sarebbe surriscaldato se non fosse stato collegato all'USB prima dell'accensione. Immagino che R1 abbia una piedinatura compatibile con OPi Zero, ho problemi a trovare gli schemi di R1.

Dopo aver avviato Armbian, cambiando la password di root e alcune cose di aggiornamento/aggiornamento ho trovato due interfacce ('ifconfig -a') - eth0 e enxc0742bfffc6e. Controllalo perché ne avrai bisogno ora - la cosa più fantastica è che per trasformare il tuo R1 in un bridge Ethernet devi solo regolare il file /etc/network/interfaces. Sono rimasto stupito dal fatto che Armbian venga fornito con alcune versioni preconfigurate del file tra cui interfaces.r1switch - suona come quello di cui abbiamo bisogno ma non funziona.

Un'altra cosa importante era l'identificazione corretta delle porte Ethernet: enxc0742bfffc6e era quella vicino ai pin seriali.

Prima che R1 perda il contatto con Internet (OK, questo avrebbe potuto essere configurato meglio) basta installare una cosa:

sudo apt-get install iptables-persistent

Passaggio 2: /etc/network/interfaces

Se passi la tua rete locale a eth0 di quanto ti serve il seguente file di interfacce (puoi sempre tornare alla versione originale con sudo cp interfaces.default interfaces; reboot):

auto br0iface br0 inet manuale

bridge_ports eth0 enxc0742bfffc6e

bridge_stp off

bridge_fd 0

bridge_maxwait 0

bridge_maxage 0

Passaggio 3: Iptables

iptables
iptables

Dopo il riavvio, il tuo R1 dovrebbe essere trasparente alla rete e funzionare come un connettore per cavi. Ora rendiamo la vita più difficile per i malintenzionati là fuori - configura le regole dei firewall (le linee tratteggiate sono commenti; adatta gli indirizzi di rete alla tua configurazione DHCP!):

# lampeggia tutto e chiudi le porte

iptables -Fiptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

# ma consenti alla rete interna di uscire

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

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

# consenti a DHCP di passare attraverso il bridge

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

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

# tutto il traffico stabilito deve essere inoltrato

iptables -A FORWARD -m conntrack --ctstate ESTABLISHED, RELATED -j ACCEPT

# solo per browser locale: accesso a strumenti di monitoraggio come darkstat

iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT

#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

Passaggio 4: considerazioni finali

Dopo una settimana - funziona perfettamente. L'unica cosa che inventerò (e presenterò qui) è il monitoraggio della rete e l'accesso tramite ssh. Ripeto - la modifica del file delle interfacce con il contenuto che ho allegato staccherà il dispositivo R1 dalla rete IP - funzionerà solo la seriale.

6 giugno 2018: il bridging non è molto lavoro da fare ma R1 emette molto calore, davvero troppo. Un semplice dissipatore di calore diventa molto caldo - strano e non mi piace. Forse va bene, forse qualcuno ha una soluzione diversa da un fan.

18 agosto 2018: 'armbianmonitor -m' mostra 38 gradi Celsius, che è molto al di sotto della mia percezione personale. Ho sentito un cambiamento significativo (in calo) quando ho ridotto un po' l'orologio:

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

A proposito: sono riuscito a connettermi alla mia WLAN domestica ma R1 non ha ricevuto alcun IP tramite DHCP, nemmeno i deo di assegnazione statica funzionano. Questo è stato il mio primo tentativo di avere un'interfaccia amministrativa, diversa da quella seriale. Un'altra idea è quella di avere ancora un IP assegnato a una delle porte ethernet. Tornerò su questo tra qualche mese.

Consigliato: