Задать вопрос
@Demaxler

Можно ли создать правило в iptables на время и как сделать чтобы небыло задвоение правил?

Суть такова. Создаётся обычная web-страничка на которой находится одна всего лишь кнопка. При нажатии на эту кнопку php-скриптом просматривается реальный ип клиента и этот самый ип заносится в правило iptables'а на добавление доступа по ssh. К примеру:

<?php
$ip=$_SERVER["REMOTE_ADDR"];
$pop = popen("/usr/bin/sudo /sbin/iptables -A INPUT -p tcp -s $ip --dport 22 -j ACCEPT 2>&1", 'r');
$read = fread($pop, 2096);
echo $read;
?>

Пример кнопки ниже, но в принципе это уже не суть важно. При вызове этого скрипта создаётся правило. Пример:

Chain INPUT (policy ACCEPT 2 packets, 118 bytes)
pkts bytes target prot opt in out source destination
7 488 ACCEPT tcp -- * * 10.0.5.25 0.0.0.0/0 tcp dpt:22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 5 packets, 1060 bytes)
pkts bytes target prot opt in out source destination

Но при обращении опять к этому скрипту происходит следующее:
Chain INPUT (policy ACCEPT 4 packets, 274 bytes)
pkts bytes target prot opt in out source destination
19 1072 ACCEPT tcp -- * * 10.0.5.25 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 10.0.5.25 0.0.0.0/0 tcp dpt:22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 3 packets, 620 bytes)
pkts bytes target prot opt in out source destination

Вопрос в следующем, как избавится от задвоений средствами iptables'а? И так же вопрос, как можно дать доступ к тому же ssh'у скажем на 2 часа, после чего правило будет дропаться? Или это нужно создавать отдельные скрипты? К примеру по времени скрипт в крон, а от задвоений средствами if.

Спасибо за ответ!
  • Вопрос задан
  • 309 просмотров
Подписаться 1 Оценить 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы