Vraag:
Hoe kan ik de firewall van Raspbmc uitschakelen voor SSH-toegang?
Exeleration-G
2013-03-08 16:40:24 UTC
view on stackexchange narkive permalink

Ik wil SSH naar mijn Raspberry Pi kunnen sturen vanaf een extern IP-adres. Op dit moment werkt dit niet vanwege de firewall van raspbmc. Hoe kan ik deze firewall uitschakelen?

Vier antwoorden:
goldilocks
2013-03-08 18:50:09 UTC
view on stackexchange narkive permalink

Helemaal bovenaan de raspmc-startpagina staat:

De firewall die we in de release hebben toegevoegd, kan nu worden in- en uitgeschakeld via Raspbmc-instellingen.

Ze beweren ergens anders dat de firewall iptables is en het systeem op debian is gebaseerd, dus als je Instellingen niet kunt vinden of het werkt niet, kijk dan in de lijst die wordt geretourneerd door service --status-all voor "iptables". Als het er is, om het te stoppen:

  service iptables stop  

Als je het permanent wilt uitschakelen, gebruik dan:

  update-rc.d iptables disable  

Maar

Je hoeft het niet volledig uit te schakelen. U moet de regels vinden en deze wijzigen. Er zou een bestand in / etc kunnen staan ​​met de naam "iptables.rules". Optioneel kunt u een bestand maken van de huidige geladen regels met:

  iptables-save > iptables-rules.txt  

Bewerk nu dat bestand en voeg toe bijna bovenaan , maar na de eerste paar regels die beginnen met : INPUT , : FORWARD , : OUTPUT :

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

Vervolgens iptables-restore < iptables -rules.txt . Dit opent de sshd-poort. Natuurlijk, als de firewall het echt blokkeerde, draait raspmc waarschijnlijk ook niet standaard de sshd-server, dus:

  service ssh start  

automatisch starten bij opstarten:

  update-rc.d ssh enable  

Als je het regelsbestand dat iptables gebruikt niet kon vinden, dan moet dat iptables-restore commando met je bestand toevoegen aan het einde van /etc/rc.local .

Als je de bovengenoemde firewallregel een beetje sterker wilt maken, voeg dan een subnetmasker toe dat de bron-ips beperkt tot je (W) LAN, zoals:

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

Goldilocks-oplossing werkte niet voor mij.

Maar hier is mijn oplossing:

Ik heb deze regel toegevoegd aan het einde van de / etc / network / if- up.d / secure-rmc :

  sudo / sbin / iptables --flush  
Toegegeven, ik heb het gemarkeerd als opgelost voordat ik het daadwerkelijk bevestigde. Het wees me echter op een mogelijke oplossing: gewoon `iptables` verwijderen.
Dit werkte goed voor mij, ook al zei `service --status-all` dat iptables niet eens draait. Bedankt voor de oplossing!
JesseC
2014-04-10 08:49:44 UTC
view on stackexchange narkive permalink

Vervang aan het einde van het bestand /etc/network/if-up.d/secure-rmc de volgende twee regels:

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

met:

  iptables -A INPUT -i $ IFACE -j ACCEPT  

Dit is waar de regels vandaan komen. U kunt ze desgewenst aanpassen aan uw behoeften in plaats van de firewall volledig uit te schakelen.

Elias
2014-04-10 11:02:42 UTC
view on stackexchange narkive permalink

De firewall in linux wordt geïmplementeerd via iptables.

Je kunt je huidige set regels bekijken met het commando:

  iptables -L -n  

U kunt regels toevoegen of regels verwijderen, maar wanneer u opnieuw opstart, worden de iptables-regels altijd gereset.

Daarom is er een bestand dat raspbmc bij elke keer opstarten uitvoert:

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

Bewerk het met nano:

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

Helemaal aan het einde van het bestand zou je inderdaad de drop-line kunnen verwijderen, of als je bepaalde poorten wilt openen , je zou dat ook kunnen doen door regels toe te voegen.

Dit is bijvoorbeeld mijn bestand, het heeft een paar open poorten:

  if ["$ IFACE"! = " lo "]; dan NETMASK = $ (get_subnet $ IFACE) if [$ {# NETMASK} -eq 0]; dan logger -t secure-rmc "netmask niet gevonden" 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  

Als je gewoon wilt hebben geen blokkeerregels, verwijder de laatste drop-regel en verwijder het $ netmask van de eerste acceptatieregel.

Je zou dit moeten hebben:

  if ["$ IFACE"! = "lo"]; dan NETMASK = $ (get_subnet $ IFACE) if [$ {# NETMASK} -eq 0]; dan logger -t secure-rmc "netmask niet gevonden" exit 1 fi iptables -A INPUT -i $ IFACE -j ACCEPTfi  


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...