Indice del forum www.zeroshell.net
Distribuzione Linux ZeroShell
 
 FAQFAQ   CercaCerca  GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo  Log inLog in   Messaggi privatiMessaggi privati 

Virtual server & Wake on Lan (Mac address Binding)

 
Nuovo argomento   Rispondi    Indice del forum -> Reti
Precedente :: Successivo  
Autore Messaggio
LucaZeta



Registrato: 10/12/08 18:49
Messaggi: 105

MessaggioInviato: Mar Dic 12, 2017 11:06 am    Oggetto: Virtual server & Wake on Lan (Mac address Binding) Rispondi citando

Salve a tutti,
scrivo questo post per cercare di risolvere un problema relativo al Wake on Lan (WoL) di dispositivi attestati su una rete privata con ZS quale Gateway verso la WAN.

WoL se viene inviato all'interno della stessa rete di destinazione viene inviato in broadcast con l'indicazione del mac address di destinazione. La scheda di rete interessata controlla che il suo mac address sia uguale a quello indicato nel pacchetto WoL e accende il dispositivo.

Quando invece WoL viene inviato da un altra rete non può essere inviato in broadcast, ma va indirizzato al router gateway che gestisce la rete privata su cui è attestato il dispositivo da risvegliare.

E qui viene il punto in questione.
Sul gateway è stato definito un record in Virtual Server per il port fowarding del pacchetto WoL verso il dispositivo interessato. Ma Virtual Server conosce solo indirizzi IP e non ha informazioni circa il mac address del dispositivo da risvegliare.

Per risolvere il problema viene utilizzata la tecnica del mac address binding, un'associazione fissa tra mac address e indirizzo IP.
In questo modo il pacchetto WoL può essere indirizzato al Mac address interessato in maniera che il dispositivo possa essere risvegliato.

Il punto è: come si riealizza in ZS questa associazione ?

Ringrazio anticipatamente chi potrà contribuire a trovare la soluzione.
LZ.

AGGIORNAMENTO:
il mac address binding si realizza aggiungendo allo script di post boot il record:
arp -s <ip-add> <mac-add>

In questa maniera anche quando il dispositivo sarà dormiente il suo mac-address rimarrà comunque associato all'ip address.

In virtual server l'impostazione del port-forwarding per i pacchetti WoL (udp 9) permetterà l'accensione del dispositivo anche quando la richiesta giunge da internet (WAN)

Se implementate, ovviamente, eventuali regole di firewall dovranno essere adattate.


L'ultima modifica di LucaZeta il Dom Dic 24, 2017 9:22 am, modificato 2 volte
Top
Profilo Invia messaggio privato
tiger



Registrato: 02/02/16 10:34
Messaggi: 387

MessaggioInviato: Mer Dic 20, 2017 7:32 pm    Oggetto: Rispondi citando

Se vai nella sezione dhcp (premesso tu abbia il dhcp zs attivo)

se vai alla voce dhcp sulla destra vedi che puoi impostare le regole ip/mac address fissi ( Static IP Entries )

cliccando sul pulsante aggiungi puoi forzare associazione di un ip al mac address che decidi tu)

Description
Fixed IP
MAC Address

sono le voci da inserire

spero di esserti stato di aiuto

see you
Top
Profilo Invia messaggio privato
LucaZeta



Registrato: 10/12/08 18:49
Messaggi: 105

MessaggioInviato: Gio Dic 21, 2017 1:24 pm    Oggetto: Rispondi citando

La configurazione DHCP era già attiva e al dispositivo da risveglliare era già stato assegnato un IP privato statico.

La tabella di ARP si popola quando il dispositivo è acceso ed attivo e si spopola quando invece è spento.

Non sarebbe difficile mettere nello script di postboot un record che rende statica nella tabella di arp l'associazione Mac address - IP address. Il fatto è che il pacchetto WoL non sembra proprio passare.

Speravo in qualche configurazione iptables, ma non ne comprendo i princìpi.

Grazie comunque, i consigli sono sempre benvenuti.
Top
Profilo Invia messaggio privato
tiger



Registrato: 02/02/16 10:34
Messaggi: 387

MessaggioInviato: Gio Dic 21, 2017 1:42 pm    Oggetto: Rispondi citando

Prova a mettere questo script in postboot sostituendo la voce macaddress
e ipaddres con i tuoi

#!/bin/bash
#info@tiger.com

#display messages 
echo "Mac Filter Staring"
/sbin/iptables -F             #flushing iptables rules

/sbin/iptables A INPUT -s ipaddress -m mac --mac-source macaddress -j ACCEPT
/sbin/iptables -A INPUT -s ipaddress -j DROP
/sbin/iptables -A INPUT -m mac --mac-source macaddress -j DROP

/sbin/iptables A FORWARD -s ipaddress -m mac --mac-source macaddress -j ACCEPT
/sbin/iptables -A FORWARD -s ipaddress -j DROP
/sbin/iptables -A FORWARD -m mac --mac-source macaddress -j DROP

echo "Mac Filter Applied"
Top
Profilo Invia messaggio privato
tiger



Registrato: 02/02/16 10:34
Messaggi: 387

MessaggioInviato: Gio Dic 21, 2017 1:47 pm    Oggetto: Rispondi citando

Ricorda:

Puoi usare uno script "pre-boot" che viene eseguito prima di tutti gli script Zeroshell incorporati. Puoi usarlo per configurare hardware speciale, applicare patch agli script di Zeroshell, ecc.

C'è uno script "post-boot" che viene eseguito dopo tutti gli script Zeroshell incorporati. Puoi usarlo per sempre.
Quello potrebbe essere un luogo ragionevole per configurare il / i lavoro / i cron.

È possibile inserire gli script personalizzati nella directory / Database e saranno permanenti attraverso i riavvii.
Top
Profilo Invia messaggio privato
LucaZeta



Registrato: 10/12/08 18:49
Messaggi: 105

MessaggioInviato: Sab Dic 23, 2017 1:29 pm    Oggetto: Rispondi citando

Ciao tiger, innanzitutto grazie Smile

Mi sono dato una letta al man iptables e non riesco a spiegarmi l'opzione --mac-source, che infatti non viene accettata. Forse vuole dire che il parametro mac dell'opzione -m deve essere il "source macaddress" ?

Poi pare ci sia un refuso sui primi statement dei gruppi di tre INPUT e FORWARD: "A" invece di "-A".

Infine un approfondimento:

i pacchetti che vengono inoltrati dal virtual-server (port forwarding) attraversano le chain INPUT e OUTPUT oppure la FORWARD ?
Top
Profilo Invia messaggio privato
tiger



Registrato: 02/02/16 10:34
Messaggi: 387

MessaggioInviato: Sab Dic 23, 2017 1:49 pm    Oggetto: Rispondi citando

I pacchetti vengono inoltrati con input e output,


Mac source è un parametro da passare. Se nn viene convalidato c'è poco da fare


Qualcosa Del genere

iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT
Dove xx:xxvdevi mettere Mac address
Top
Profilo Invia messaggio privato
LucaZeta



Registrato: 10/12/08 18:49
Messaggi: 105

MessaggioInviato: Sab Dic 23, 2017 5:57 pm    Oggetto: Rispondi citando

Ciao tiger, ora è molto più chiaro e il comando viene preso senza problemi.
Prima al posto di -m mac mettevo -m <mac-address> e quindi il comando falliva.

Bene così.

Ora, avendo definito le regole di port forwarding (udp 9) verso il dispositivo da risvegliare, ed avendo aggiunto nello script di post boot il binding statico tra IP-address e MAC-address del dispositivo (arp -s <ip-add> <mac-add>) Wake on Lan funziona anche da Internet, come avrebbe sempre dovuto, indipendentemente dai comandi iptables di cui abbiamo discusso.

Sembra che i test effettuati abbiano risolto un qualche blocco che prima dava problemi.

Tutto è bene quel che finisce bene.

La gestione del Firwall è però ancora, ai miei occhi, poco chiara.

Se posso chiedere un chiarimento:
se ho abilitato il firewall sulla catena di INPUT con policy ACCEPT, allora ha senso dichiarare solo le regole di DROP o REJECT, dato che di default su quella catena verrà accettato tutto. Corretto ?

Se invece il firewall sulla catena di INPUT fosse disabilitato, non ci sarebbero controlli di alcun tipo e passerebbe tutto. Corretto ?

Non mi sono sentito di fare test con policy DROP, perché probabilmente, senza le opportune regole, sarei rimasto tagliato fuori dall'interfaccia.

Ti ringrazio per l'aiuto che mi hai dato, hai mica qualche riferimento (link) da leggere per chiarire meglio i dettagli di iptables e firewall ?

Buona serata e buone Feste.
Top
Profilo Invia messaggio privato
tiger



Registrato: 02/02/16 10:34
Messaggi: 387

MessaggioInviato: Sab Dic 23, 2017 7:25 pm    Oggetto: Rispondi citando

link per iniziare a capire:

http://www.odcec.an.it/files/rassegnastampa/iptables.pdf

per quanto concerne le tue domande e per la mia esperienza sono corrette tutte.

see you e buone feste
Top
Profilo Invia messaggio privato
LucaZeta



Registrato: 10/12/08 18:49
Messaggi: 105

MessaggioInviato: Sab Dic 23, 2017 8:57 pm    Oggetto: Rispondi citando

Molto interessante.

Ho trovato specificata l'opzione -m mac --mac-source <mac-address> che mi mancava.
E ho trovato una utile lista di rules per evitare di rimanere esclusi dall'impostazione della regola di default DROP per la catena di INPUT:

$iptables -A INPUT -s 127.0.0.1/255.0.0.0 -j ACCEPT
$iptables -A INPUT -s 194.168.0.0/255.255.255.0 -j ACCEPT
$iptables -A INPUT -p tcp --dport 22 -j ACCEPT
$iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

Grazie per le dritte, piano, piano, molto piano le cose sembrano prendere forma.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Reti Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it