Domanda:
Come posso disabilitare il firewall di raspbmc per l'accesso SSH?
Exeleration-G
2013-03-08 16:40:24 UTC
view on stackexchange narkive permalink

Voglio essere in grado di accedere in SSH al mio Raspberry Pi da un indirizzo IP esterno. In questo momento, questo non funziona, a causa del firewall di raspbmc. Come posso disabilitare questo firewall?

Quattro risposte:
#1
+5
goldilocks
2013-03-08 18:50:09 UTC
view on stackexchange narkive permalink

Proprio nella parte superiore della home page di raspmc si dice:

Il firewall che abbiamo aggiunto nella versione ora può essere abilitato e disabilitato tramite le impostazioni di Raspbmc.

Affermano altrove che il firewall è iptables e il sistema è basato su Debian, quindi se non riesci a trovare le impostazioni o non funziona, guarda l'elenco restituito da service --status-all per "iptables". Se è presente, per interromperlo:

  service iptables stop  

Se vuoi disabilitarlo permanentemente, usa:

  update-rc.d iptables disable  

Tuttavia

non devi disabilitarlo completamente. Devi trovare le regole e cambiarle. Potrebbe esserci un file in / etc chiamato, ad esempio, "iptables.rules". Facoltativamente, puoi creare un file dalle regole attualmente caricate con:

  iptables-save > iptables-rules.txt  

Ora modifica quel file e aggiungi vicino all'inizio , ma dopo le prime righe che iniziano con : INPUT , : FORWARD , : OUTPUT :

  -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT  

Quindi iptables-restore < iptables -rules.txt . Questo aprirà la porta sshd. Ovviamente, se il firewall lo stava davvero bloccando, presumibilmente anche raspmc non sta eseguendo il server sshd per impostazione predefinita, quindi:

  service ssh start  

To avvia automaticamente all'avvio:

  update-rc.d ssh enable  

Se non riesci a trovare il file delle regole che iptables sta usando, allora devi aggiungere quel comando iptables-restore usando il tuo file alla fine di /etc/rc.local .

Se vuoi rendere la suddetta regola del firewall un po 'più forte, includi una subnet mask che limiti l'IP sorgente alla tua (W) LAN come:

  -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -m conntrack --ctstate NUOVO -j ACCEPT  
#2
+2
lopez.mikhael
2013-05-28 23:20:36 UTC
view on stackexchange narkive permalink

La soluzione Riccioli d'oro non ha funzionato per me.

Ma ecco la mia soluzione:

Ho aggiunto questa riga alla fine del / etc / network / if- up.d / secure-rmc :

  sudo / sbin / iptables --flush  
È vero, l'ho contrassegnato come risolto prima di confermarlo effettivamente. Tuttavia, mi ha indicato una possibile soluzione: rimuovere semplicemente "iptables".
Questo ha funzionato bene per me, anche se `service --status-all` ha dichiarato che iptables non è nemmeno in esecuzione. Grazie per la soluzione!
#3
+1
JesseC
2014-04-10 08:49:44 UTC
view on stackexchange narkive permalink

Alla fine del file /etc/network/if-up.d/secure-rmc, sostituire le seguenti due righe:

  iptables -A INPUT -s $ NETMASK -i $ IFACE -j ACCEPTiptables -A INPUT -i $ IFACE -j DROP  

con:

  iptables -A INPUT -i $ IFACE -j ACCEPT  

Da qui vengono le regole. Puoi modificarli in base alle tue esigenze, se lo desideri, invece di disabilitare completamente il firewall.

#4
+1
Elias
2014-04-10 11:02:42 UTC
view on stackexchange narkive permalink

Il firewall in Linux è implementato tramite iptables.

Puoi visualizzare il tuo attuale insieme di regole con il comando:

  iptables -L -n  

Puoi aggiungere regole o rilasciare regole, tuttavia, quando riavvii, le regole di iptables vengono sempre ripristinate.

Ecco perché c'è un file, che raspbmc esegue ad ogni avvio:

/etc/network/if-up.d/secure-rmc

Modificalo con nano:

  sudo nano /etc/network/if-up.d/secure-rmc

Alla fine del file potresti effettivamente rimuovere la riga di rilascio o se desideri aprire determinate porte , puoi farlo anche aggiungendo righe.

Questo per esempio è il mio file, ha alcune porte aperte:

  if ["$ IFACE"! = " lo "]; quindi NETMASK = $ (get_subnet $ IFACE) se [$ {# NETMASK} -eq 0]; quindi logger -t secure-rmc "netmask non trovata" exit 1 fi iptables -A INPUT -s $ NETMASK -i $ IFACE -j ACCEPT iptables -A INPUT -p tcp --dport 5050 -j ACCEPT iptables -A INPUT -p tcp --dport 9091 -j ACCEPT iptables -A INPUT -p tcp --dport 8888 -j ACCEPT iptables -A INPUT -i $ IFACE -j DROPfi  

Se vuoi solo avere nessuna regola di blocco, rimuovi l'ultima riga e rimuovi la $ netmask dalla prima riga di accettazione.

Dovresti avere questo:

  if ["$ IFACE"! = "lo"]; quindi NETMASK = $ (get_subnet $ IFACE) se [$ {# NETMASK} -eq 0]; quindi logger -t secure-rmc "maschera di rete non trovata" exit 1 fi iptables -A INPUT -i $ IFACE -j ACCEPTfi  


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...