Port öffnen nach PING mit/ohne iptables

iceboy

Neuer User
Mitglied seit
24 Okt 2004
Beiträge
54
Punkte für Reaktionen
0
Punkte
0
Hallo,

hab schon mal geguggt, aber nix passendes gefunden.

Idee: SSH Port wird nach einem Ping für 5 Minuten geöffnet.
ich weiß, dass das mit iptables geht, jedoch scheint es ja die iptables nur mit dem ds-mod zu geben (oder liege ich falsch?)

Hat jemand eine andere idee (nicht iptables)?
hat jemand iptables ohne ds-mod?

schönen Sonntag noch

ice
 
iceboy schrieb:
...
Hat jemand eine andere idee (nicht iptables)?
...
Du könntest den sshd (dropbear) mithilfe eines Skriptes starten, dass Du durch einen Anruf von einer bestimmten Rufnummer aus (Handy?) an eine bestimmte Zielnummer auslöst.
Das kann man durch einen Eintrag in /var/flash/calllog (überlebt reboot) oder in /var/tmp/calllog (überlebt reboot nicht) steuern.
Beispiel (ungetestet):
/var/flash/calllog
Code:
#!/bin/sh

yourhandy="01791234567"
yourhome="987654"
if [ "$1" = "$yourhandy" -a "$2" = "$yourhome" ]
then
    /var/tmp/dropbear -p 22
    sleep 300
    killall dropbear
fi

Die Portweiterleitung in ar7.cfg richtest Du vorher schon ein.
Problematisch könnte bei Deiner Idee sein, dass die Session beendet wird, egal ob Du nach 5 Minuten fertig bist oder nicht.
Ich würde das dann eher ohne die 5 Minuten Regel machen und darauf achten, die Session nach dem Ausloggen selbst manuell zu beenden, z.B. so:
Code:
ssh -l root yourfritzbox.dyndns.org killall dropbear

HTH
 
HI marceis,

danke schon mal für die schnelle antwort.

also mit dem Handy, das funktioniert schon, er schaltet den Port nach anruf frei und nach 5 minuten bzw. bei anruf auf anderer nummer wieder zu.

da es sich um eine TCP Verbindung handelt, wir die durch schließen des Ports nicht unterbrochen, das ist also kein Problem :)
(wenn du dropbear kills ist die session natürlich zu :p)

aber was mache ich, wenn ich mein handy nicht da hab? oder akku leer?
könnte ja sein

danke
 
Mr ist nicht ganz klar, was genau Du mit "Port freischalten" und "schließen des Ports" meinst. Ich vermute mal dass Du von iptables mit einer Stateful Inspection Regel sprichst.

Durch "Schließen" (BLOCK, REJECT) eines Ports wird eine TCP Verbindung über diesen Port definitiv unterbrochen. Wenn Du aber eine Statful Regel hast, wird der Port in Abhängigkeit vom Verbindungszustand geschlossenund kann für eine bestehende Verbindung geöffnet bleiben.

Das mag für den einen oder anderen Haarspalterei sein; ich halte es aber für wichtig.
 
Ich habe ja eben kein iptables drauf!

im Forum gibt es ein skript zum öffnen/schließen von Ports der internen FritzBox Firewall in der ar7.cfg
(hier: http://www.ip-phone-forum.de/showthread.php?t=95651&highlight=setforw.sh)

Das führt die box aus wenn ich anrufe und 5 minuten später noch einmal zum schließen des Ports.

funktoniert ganz gut :) aber eben nur per handy/telefon
 
Ach so.
Durch die Portweiterleitung in der ar7.cfg wird der ssh Port von außen erreichbar.

Wenn Du die Portweiterleitung wieder entfernst, sollte die Verbindung abbrechen. Fühst Du denn dannach auch 'ar7cfgchanged' aus? Andernfalls bleibt nach meinem Kenntnisstand die Änderung wirkungslos.
 
Ich habe anfangs auch bemerkt, dass die änderungen nicht übernommen werden, habe dann mal welche im webinterface gemacht und bemerkt, dass dieses "dsld -I" aufruft (hoffe das passt auch).

auf jeden Fall mache ich das auch, danach ist der port wieder zu, die verbindung bleibt bestehen.

habe es soeben auch mit ar7cfgchanged probiert, und du hattest recht, da wird die verbindung geschlossen.

ps: bei iptables war das so gemeint, dass der den port 5 minuten nach dem letzten paket sperrt.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.