[Frage] Portfreigabe zeitgesteuert ein. - ausschalten

it-fisi

Mitglied
Mitglied seit
13 Aug 2005
Beiträge
439
Punkte für Reaktionen
0
Punkte
16
Hallo,

ist es möglich ein oder zwei Portos der Fritzbox (mit Freetz) zeitgesteuert ein / auszuschalten ? eventuell mit einem Skript.

Ich möchte den Port 443 nur zwischen 8:00 und 01:00 Uhr für den Zugriff vom Internet freigeben.

Danke - Grüsse Pepe
 
Schau dir mal die Möglichkeiten der Kindersicherung an --> eigene Netzwerkanwendung hinzufügen
Damit steuere ich das N510IP per Zeitplan (UDP, RTP).
 
Auf der Fritz!Box geht die Zeitsteuerung ansonsten auch mit freetz und cron und Skript...
fb_fw.sh
Code:
#!/bin/sh
local FW_IP=${1}
local FW_PORT=${2}
local FW_PORT_ST=${3}
local FW_PORT_EN=${4}
local FW_PRT=${5}
local FW_DESCR=${6}
local FW_ACT=${7}
local NEWRULE=$(ctlmgr_ctl r forwardrules settings/rule/count)
fw_activate () {
if [ $# -eq 2 ] ; then
ctlmgr_ctl w forwardrules settings/rule${1}/activated ${2}
fi
}
fw_delete () {
if [ $# -eq 1 ] ; then
ctlmgr_ctl w forwardrules settings/rule${1}/fwip 0
fi
}
fw_status () {
local maxcount=$(ctlmgr_ctl r forwardrules settings/rule/count)
if [ ${maxcount} -gt 0 ] ; then
local count=0
while [ ${count} -lt ${maxcount} ] ; do
local FW_IP=$(ctlmgr_ctl r forwardrules settings/rule${count}/fwip)
local FW_PORT=$(ctlmgr_ctl r forwardrules settings/rule${count}/port)
local FW_PORT_ST=$(ctlmgr_ctl r forwardrules settings/rule${count}/fwport)
local FW_PORT_EN=$(ctlmgr_ctl r forwardrules settings/rule${count}/endport)
local FW_PRT=$(ctlmgr_ctl r forwardrules settings/rule${count}/protocol)
local FW_DESCR=$(ctlmgr_ctl r forwardrules settings/rule${count}/description)
local FW_ACT=$(ctlmgr_ctl r forwardrules settings/rule${count}/activated)
echo -ne ${FW_IP}\
', '\
${FW_PORT}\
' an '\
${FW_PORT_ST}\
' - '\
${FW_PORT_EN}\
', '\
${FW_PRT}\
', '\
${FW_DESCR}\
', '\
${FW_ACT}'\n'
: $((count++))
done
else
echo -ne 'No rules present!\n'
fi
}
if [ $# -eq 7 ] ; then
ctlmgr_ctl w forwardrules settings/rule${NEWRULE}/fwip ${FW_IP}
ctlmgr_ctl w forwardrules settings/rule${NEWRULE}/port ${FW_PORT}
ctlmgr_ctl w forwardrules settings/rule${NEWRULE}/fwport ${FW_PORT_ST}
ctlmgr_ctl w forwardrules settings/rule${NEWRULE}/endport ${FW_PORT_EN}
ctlmgr_ctl w forwardrules settings/rule${NEWRULE}/protocol ${FW_PRT}
ctlmgr_ctl w forwardrules settings/rule${NEWRULE}/description ${FW_DESCR}
fw_activate ${NEWRULE} ${FW_ACT}
else
case ${1} in
disable) fw_activate ${2} 0;;
enable) fw_activate ${2} 1;;
delete) fw_delete ${2};;
help) echo -ne $(basename ${0})\
': Need 7 arguments!\n'\
'[fwip] [port] [fwport] [endport] [protocol] [description] [activated]\n'\
'status for entries\n'\
'disable number or enable number enables or disable entry nummber\n'\
'(first entry is 0)\n'\
'and delete number is deleting entry number\n';;
status) echo -ne 'Rules:\n'
fw_status ;;
*) echo -ne $(basename ${0})': try help\n';;
esac
fi
#EOF

Wayne du dich traust.
:wayne:
Aufruf: sh fb_fw.sh help
 
Zuletzt bearbeitet:
@MuP
super - vielen Dank
ich steuere damit den Zugriff auf meine NAS. Für meine Zwecke voll ausreichend.

@koyaanisqatsi

oh wow - was ein Skript - super Danke
aber ehrlich gesagt verstehe ich nicht ... wie, wo, was ich da machen muss und wo speichere ich das Skript und wie aktiviere ich es

Das Forum ist super, habe schon oft gute Hilfe bekommen

vielen Dank an alle - Grüsse Pepe
 
Zeigt mit status vorhandene Freigaben an.
Die können dann disabled/enabled werden, wobei...
sh fb_fw.sh disable 0
..den ersten Eintrag deaktiviert, und...
sh fb_fw.sh enable 0
...den Ersten wieder aktiviert.

Eine Regel erstellen ist komplizierter, deswegen nur disablen/enablen.
...und dann noch zwei Crontabzeilen, mit deinen gewünschten Uhrzeiten,
jeweils mit voller Pfadangabe zum Skript.

Beispiel:
* * * * * sh /var/media/ftp/fb_fw.sh disable 5
...würde dann jede Minute den 6. Listeneintrag deaktivieren.

EDIT: Hab vorhin mal getestet, mein Skriptverzeichnis ist auch in cron seinen Suchpfad.
Skripte natürlich alle ausführbar, dann gehen auch solche kurzen Inliner...
Code:
15 16 * * * (fb_fw.sh enable 0 && fb_fw.sh enable 1)
20 16 * * * (fb_fw.sh disable 0 && fb_fw.sh disable 1)
...ab 16:15 hat man bis 16:20 Zeit einen Rechner erfolgreich auf Portfreigabe aufzuwecken.
 
Zuletzt bearbeitet:
@koyaanisqatsi

muss ich bei deinem zweizeiler eine IP oder MAC oder Port Adresse noch eintragen ?

Kenne mich mit Linux Befehlsatz gar nicht gut aus.
Ansonsten hätte ich schon Interesse so ein Skript zu testen.

Das mit der Kindersicherung ist nur eine halbe Sache.
Die NAS kann zwar nicht mehr ins Internet, wenn jedoch Anfragen von extern kommt
startet die NAS automatisch. Das wollte ich eigentlich gerne vermeiden, ist unnötige
Energie.

Danke, Pepe
 
Zuletzt bearbeitet:
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.