Come utilizzare ipfw per consentire l'accesso LAN ma negare l'accesso a Internet?

3

Come posso utilizzare ipfw (o un altro strumento, se disponibile) per consentire un accesso illimitato tra computer sulla mia LAN, ma non consentire l'accesso a Internet?

(Gli IP sulla mia LAN locale sono 192.168.0.xxx )

    
posta TJ Luoma 10.12.2011 - 05:42
fonte

4 risposte

3

È passato un po 'di tempo da quando ho usato ipfw, ma l'esecuzione dei seguenti comandi su tutti i computer rilevanti dovrebbe fare il trucco:

 sudo ipfw -f flush
 sudo ipfw add allow tcp from me to 192.168.0.0/24
 sudo ipfw add allow ip from me to 192.168.0.0/24
 sudo ipfw add deny tcp from me to any
 sudo ipfw add deny ip from me to any

Per disabilitare basta eseguire nuovamente sudo ipfw flush

    
risposta data 10.12.2011 - 13:36
fonte
0

Il modo più crudele con cui posso pensare di fare questo, supponendo che la tua rete sia basata su IP statici, è semplicemente non popolare l'IP "Gateway predefinito" nella configurazione di rete.

Se si è su una rete DHCP, è possibile modificare la configurazione del server DHCP, ma ciò interromperà l'accesso a Internet dei tutti computer sulla LAN, non solo alcuni di essi.

    
risposta data 10.12.2011 - 12:49
fonte
0

Mentre cercavo una risposta a questo, ho trovato un altro modo per farlo che non usa ipfw. Ne parlerò qui nel caso in cui qualcun altro stia cercando una risposta simile più tardi.

L'altro modo per farlo è impostare i server DNS su 0.0.0.0.

Questo può essere eseguito sulla riga di comando usando networksetup come questo:

networksetup -setdnsservers Wi-Fi 0.0.0.0

Se disponi di una connessione Ethernet, ti consigliamo di utilizzare

networksetup -setdnsservers Ethernet 0.0.0.0

Per annullare questa modifica, sono stato in grado di utilizzare "vuoto" anziché "0.0.0.0"

networksetup -setdnsservers Ethernet empty

ma, a seconda della configurazione della rete, potrebbe essere necessario specificare l'effettivo indirizzo IP dei server DNS invece di utilizzare empty .

Penso ancora che ipfw sia uno strumento migliore per il lavoro, ma lo dico solo nel caso in cui qualcuno lo preferisca.

Il motivo per cui questo funziona per consentire l'accesso ad altri computer sulla mia LAN è che posso accedervi usando hostname.local. . Ad esempio, il nome host per il mio MacBook Air è "aria", quindi posso usare ssh air.local. per connettermi ad esso, anche senza server DNS.

    
risposta data 14.12.2011 - 20:42
fonte
-1

puoi usare ipfw per bloccare tutto il traffico sulla porta 80 che è http. Dovrai controllare se devi anche bloccare altre porte, ad es. 443, 110, 993 ecc.

Dal commento seguente, vuoi avere l'accesso http tra i computer della tua rete? Se è così basta fare sopra e quindi aggiungere l'eccezione per consentire http alle macchine sul tuo intervallo di IP. per esempio. / 24 se questo è ciò che è la tua rete.

    
risposta data 10.12.2011 - 12:28
fonte

Leggi altre domande sui tag