
Kann iptables eine bestehende Ausgabesitzung nach einer bestimmten Zeit, z. B. 30 Sekunden, seit ihrem Start automatisch beenden? Ich möchte dies jedoch nur auf die Zielports 80 und 443 beschränken. Der Zweck besteht darin, nicht verwendete bestehende TCP-Verbindungen zu einigen laufenden Anwendungen, z. B. Chrome oder Teamviewer, zu beenden. Ich habe es mit den Modulen „Recent“ und „Limit“ versucht, aber ohne Erfolg. Vielleicht funktioniert IPTables nicht, um die Dauer der Verbindung zu beschränken, oder ich weiß etwas nicht?
Ich habe bereits einige verwandte Themen gelesen: https://stackoverflow.com/questions/20327518/need-to-drop-established-connections-with-iptables
iptables - Beenden bestimmter hergestellter Verbindungen nach X Stunden
Und so weiter.
Können Sie mir bitte mit einem Skript oder einer Anwendung helfen? Vielleicht geht das mit IPT nicht?
Meine Home-Tabelle:
Kann iptables eine bestehende Ausgabesitzung nach einer bestimmten Zeit, z. B. 30 Sekunden, seit ihrem Start automatisch beenden? Ich möchte dies jedoch nur auf die Zielports 80 und 443 beschränken. Der Zweck besteht darin, nicht verwendete bestehende TCP-Verbindungen zu einigen laufenden Anwendungen, z. B. Chrome oder Teamviewer, zu beenden. Ich habe es mit den Modulen „Recent“ und „Limit“ versucht, aber ohne Erfolg. Vielleicht funktioniert IPTables nicht, um die Dauer der Verbindung zu beschränken, oder ich weiß etwas nicht?
Ich habe bereits einige verwandte Themen gelesen: https://stackoverflow.com/questions/20327518/need-to-drop-established-connections-with-iptables
iptables - Beenden bestimmter hergestellter Verbindungen nach X Stunden
Und so weiter.
Können Sie mir bitte mit einem Skript oder einer Anwendung helfen? Vielleicht geht das mit IPT nicht?
Mein Home-Tisch:
echo Kernel modules
#
modprobe ip_conntrack
modprobe ip_conntrack_ftp
################################################################################
echo Reset iptables
#
iptables -F
iptables -F -t nat
iptables -F -t raw
iptables -F -t mangle
iptables -X
iptables -X -t nat
iptables -X -t raw
iptables -X -t mangle
iptables -Z
iptables -Z -t nat
iptables -Z -t raw
iptables -Z -t mangle
################################################################################
echo Default policy
#
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
################################################################################
echo Logging INPUT,OUTPUT
#
iptables -A INPUT -j LOG --log-prefix="INPUT chain"
iptables -A OUTPUT -j LOG --log-prefix="OUTPUT chain"
################################################################################
echo Allow local
#
iptables -A INPUT -i lo -s 127.0.0.0/8 -j ACCEPT
iptables -A OUTPUT -o lo -d 127.0.0.0/8 -j ACCEPT
################################################################################
echo Allow icmp out
#
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -m state --state ESTABLISHED -j ACCEPT
################################################################################
echo Allow port 53 out
#
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53 \
-m state --state NEW -j ACCEPT
iptables -A INPUT -p udp --sport 53 --dport 1024:65535 \
-m state --state ESTABLISHED -j ACCEPT
################################################################################
echo Allow ports 20,21 out
#
iptables -A OUTPUT -p tcp -m tcp --sport 1024:65535 \
--dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 1024:65535 \
-m multiport --dports 20,1024:65535 \
-m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp -m multiport --sports 20,21,1024:65535 \
--dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
################################################################################
echo Allow ports 80,443 out
#
iptables -A OUTPUT -p tcp --sport 1024:65535 -m multiport --dports 80,443 \
-m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp -m multiport --sports 80,443 \
--dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
################################################################################
echo Allow port 123 out
#
iptables -A OUTPUT -p udp -m udp --sport 123 \
--dport 123 -m state --state NEW -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 123 \
--dport 123 -m state --state ESTABLISHED -j ACCEPT
################################################################################
#
##iptables -A INPUT -j REJECT
##iptables -A FORWARD -j REJECT
##iptables -A OUTPUT -j REJECT
Antwort1
Nicht sehen:http://linux.die.net/man/8/iptables. Es gibt nur dies (nicht das, wonach Sie gefragt haben):
... Zeit
Dies trifft zu, wenn die Paketankunftszeit/das Paketankunftsdatum innerhalb eines bestimmten Bereichs liegt. Alle Optionen sind fakultativ.
--timestart-Wert: Stimmt nur überein, wenn es nach „Wert“ liegt (Inklusive, Format: HH:MM, Standard 00:00).
--timestop value stimmt nur überein, wenn es vor „Wert“ liegt (Inklusive, Format: HH:MM; Standard 23:59).
--days listofdays trifft nur zu, wenn heute einer der angegebenen Tage ist. (Format: Mo, Di, Mi, Do, Fr, Sa, So; Standard: jeden Tag)
--datestart date trifft nur zu, wenn es nach „date“ liegt (Inklusive, Format: JJJJ[:MM[:TT[:hh[:mm[:ss]]]]] ; h,m,s beginnen bei 0 ; Standard ist 1970)
--datestop date trifft nur zu, wenn es vor „Datum“ liegt (Inklusive, Format: JJJJ[:MM[:TT[:hh[:mm[:ss]]]]] ; h,m,s beginnen bei 0 ; Standard ist 2037)
...
Sie haben nach „Dauer“ und nicht nach „Zeit“ gefragt. Sie könnten etwas hacken, aber eine Korrektur an der Quelle ist am schnellsten und wirksamsten.
Sie können den Kernel patchen und neu kompilieren.
Sehenhttp://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.htmlim Abschnitt „conntrack patch“ den Befehl „ctexpire“. Wenn Sie sich damit auskennen, ein bisschen Code zu schreiben und Ihren Kernel mit einem benutzerdefinierten Filter zu patchen, können wir Ihnen helfen (andernfalls lautet die Antwort „Nein, das können Sie nicht tun, es gibt keinen solchen Filterbefehl“).