
Может ли iptables автоматически сбрасывать установленный сеанс вывода после определенных секунд, например, 30 сек. с момента его запуска? Но я хочу ограничить его только для портов назначения 80 и 443. Цель состоит в том, чтобы сбросить неиспользуемые установленные tcp-соединения, принадлежащие некоторым рабочим приложениям, например, Chrome, Teamviewer. Я пробовал с недавними и лимитными модулями, но безуспешно. Может быть, в IPTables нет функции ограничения соединения по его продолжительности или я чего-то не знаю?
Я уже прочитал несколько связанных тем: https://stackoverflow.com/questions/20327518/need-to-drop-installed-connections-with-iptables
iptables - сброс определенных установленных соединений после X часов
И так далее.
Помогите, пожалуйста, с каким-нибудь скриптом или приложением? Может, с помощью IPT это сделать невозможно?
Моя домашняя таблица:
Может ли iptables автоматически сбрасывать установленный сеанс вывода после определенных секунд, например, 30 сек. с момента его запуска? Но я хочу ограничить его только для портов назначения 80 и 443. Цель состоит в том, чтобы сбросить неиспользуемые установленные tcp-соединения, принадлежащие некоторым рабочим приложениям, например, Chrome, Teamviewer. Я пробовал с недавними и ограниченными модулями, но безуспешно. Может быть, в IPTables нет функции ограничения соединения по его продолжительности или я чего-то не знаю?
Я уже прочитал несколько связанных тем: https://stackoverflow.com/questions/20327518/need-to-drop-installed-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 Совпадать только с тем значением, которое находится перед «value» (включительно, формат: ЧЧ:ММ; по умолчанию 23:59).
--days listofdays Соответствует только тем дням, которые указаны в списке. (формат: пн,вт,ср,чт,пт,сб,вс; по умолчанию — каждый день)
--datestart date Совпадает только с тем, что следует после «date» (включительно, формат: YYYY[:MM[:DD[:hh[:mm[:ss]]]]] ; h,m,s начинаются с 0 ; по умолчанию 1970)
--datestop date Совпадать только с тем, что предшествует «date» (включительно, формат: YYYY[:MM[:DD[:hh[:mm[:ss]]]]] ; h,m,s начинаются с 0 ; по умолчанию 2037)
...
Вы просили "продолжительность", а не "время". Вы можете что-то взломать, но исправление в Source — самое быстрое и мощное.
Вы можете пропатчить ядро и перекомпилировать его.
Видетьhttp://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.htmlв разделе "conntrack patch", команда "ctexpire". Если вы чувствуете себя комфортно, написав немного кода и исправив свое ядро с помощью пользовательского фильтра, то мы можем помочь (в противном случае ответ будет "нет, вы не можете этого сделать, такой команды фильтра нет").