Может ли iptables автоматически отбрасывать установленный сеанс через определенные секунды?
Может ли iptables автоматически отбрасывать установленный сеанс вывода через определенные секунды, например, через 30 секунд. с момента его запуска? Но я хочу ограничить его только для портов назначения 80 и 443. Цель состоит в том, чтобы отбросить неиспользуемые установленные соединения TCP, принадлежащие некоторым работающим приложениям, например, Chrome, Teamviewer. Я пробовал с недавними и предельными модулями, но безуспешно. Может быть, у IPTables нет функции ограничения соединения по продолжительности, или я чего-то не знаю?
Я уже читал некоторые связанные темы: https://stackoverflow.com/questions/20327518/need-to-drop-established-connections-with-iptables
iptables - сброс определенных установленных соединений через X часов
И так далее.
Не могли бы вы помочь мне с сценарием или приложением, пожалуйста? Может быть, нет способа сделать это с помощью IPT?
Мой домашний стол:
Может ли iptables автоматически отбрасывать установленный сеанс вывода через определенные секунды, например, через 30 секунд. с момента его запуска? Но я хочу ограничить его только для портов назначения 80 и 443. Цель состоит в том, чтобы отбросить неиспользуемые установленные соединения TCP, принадлежащие некоторым работающим приложениям, например, Chrome, Teamviewer. Я пробовал с недавними и предельными модулями, но безуспешно. Может быть, у IPTables нет функции ограничения соединения по продолжительности, или я чего-то не знаю?
Я уже читал некоторые связанные темы: https://stackoverflow.com/questions/20327518/need-to-drop-established-connections-with-iptables
iptables - сброс определенных установленных соединений через X часов
И так далее.
Не могли бы вы помочь мне с сценарием или приложением, пожалуйста? Может быть, нет способа сделать это с помощью IPT?
Мой домашний стол:
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
1 ответ
Нет, см.: http://linux.die.net/man/8/iptables. Существует только это (не то, что вы просили):
... время
Это соответствует, если время / дата прибытия пакета находится в заданном диапазоне. Все варианты являются факультативными.
--timestart value Соответствует, только если оно находится после 'value' (включительно, формат: ЧЧ: ММ; по умолчанию 00:00).
--timestop значение Подходит только если оно находится перед значением 'value' (включительно, формат: ЧЧ: ММ; по умолчанию 23:59).
--days listofdays Матч только если сегодня один из заданных дней. (формат: пн, вт, ср, чт, пт, сб, вс; по умолчанию каждый день)
--datestart date Совпадение только в том случае, если оно указано после даты (включительно, формат: ГГГГ [: ММ [: ДД [: чч [: мм [: сс]]]]]; ч, м, с начинаются с 0; по умолчанию до 1970 года)
--datestop date Совпадение только в том случае, если оно предшествует 'date' (включительно, формат: ГГГГ [: ММ [: ДД [: чч [: мм [: сс]]]]]; ч, м, с начинаются с 0; по умолчанию до 2037 года)
...
Вы просили "продолжительность", а не "время". Вы можете взломать что-нибудь, но исправление в Source - самое быстрое и мощное.
Вы можете установить ядро и перекомпилировать его.
См. http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.html в разделе "патч conntrack", команда "ctexpire". Если вы чувствуете себя комфортно, написав немного кода и исправив ядро с помощью специального фильтра, мы можем помочь (в противном случае ответ "нет, вы не можете этого сделать, такой команды фильтра нет").