PDA

Просмотр полной версии : Нубо вопрос iptables %)


Totgeliebt
08.04.2010, 01:47
Скажите пожалуйста команду для блока диапазона ip для iptables OS Debian.
И вопрос, после блока правило вступит в силу после презагрузки или сразу?
Блокировала командами
iptables -I INPUT -j DROP -s 188.123.241.141
iptables -A FORWARD -d 188.123.241.114 -j DROP
Но все равно не помогло :(

razb
08.04.2010, 02:22
iptables -A INPUT -p tcp -m iprange --src-range xxx.xxx.xxx.xxx-yyyy.yyyy.yyyy.yyyy -j DROP
Вступают в силу сразу, также важен порядок правил, если например одно правило разрешает доступ а за ним идет противоположное то оно отбрасывается. Вообще лучше всего по умолчанию запретить весь трафик в цепочках и открыть доступ только необходимому.

Totgeliebt
08.04.2010, 02:40
Подскажи пожалуйста как еще разбанивать айпи?:)

razb
09.04.2010, 17:42
-A INPUT -p tcp -s xxx.xxx.xxx.xxx -j ACCEPT

почитайте iptables туториал.

~Lexx~
05.05.2010, 18:55
Я бы посоветовал создать отдельный исполняемый файлик для iptables и туда уже дописывать правила. Так несколько информативнее)

MrCepbIu
07.05.2010, 05:14
Я бы посоветовал создать отдельный исполняемый файлик для iptables и туда уже дописывать правила. Так несколько информативнее)
на подобие

#!/usr/bin/perl
use Shell;
system('тут_команда');
да, и не забудь chmod +x

r00nix
09.05.2010, 05:33
на подобие

#!/usr/bin/perl
use Shell;
system('тут_команда');
да, и не забудь chmod +x
0_о
man iptabes-restore
DESCRIPTION iptables-restore is used to restore IP Tables from data specified on STDIN. Use I/O redirection provided by your shell to read from a file

~Lexx~
11.05.2010, 10:19
0_о
man iptabes-restore

iptables-restore - крайне мерзкая пакость. Не позволяет переменные. Достаточно обычного bash скрипта в автозагрузке.

r00nix
12.05.2010, 07:20
iptables-restore - крайне мерзкая пакость. Не позволяет переменные. Достаточно обычного bash скрипта в автозагрузке.
Согласен с Вами, но все зависит от контекста. Зачастую набор правил можно восстанавливать и из статического файла, к тому же, хоть и ненамного, но повышается скорость загрузки, особенно если правил много.

DonKihot
03.06.2010, 17:44
Лови скрипт :
#!/bin/sh

# Задаем некоторые переменные:

# Переменная, задающая путь к файлу запуска iptables.
IPT="/sbin/iptables"

# Ваш сетевой интерфейс. Это нужно, чтобы не писать в правилах одно и тоже.
INET_IFACE="eth0"

# Номера непривилегированных портов
UNPRIPORTS="33500:65535"

start_fw()
{
# Включить перенаправление пакетов через ядро.
echo 1 > /proc/sys/net/ipv4/ip_forward

# Сбросить правила и удалить цепочки.
$IPT -F
$IPT -X
$IPT -F -t mangle
$IPT -X -t mangle


}


case "$1" in
start) echo -n "Starting firewall: iptables"
start_fw
echo "."
;;
stop) echo -n "Stopping firewall: iptables"
iptables -F
iptables -X
iptables -F -t mangle
iptables -X -t mangle
echo "."
;;
save) echo -n "Saving firewall: iptables"
iptables-save > /etc/rules-save
echo "."
;;
restart) echo -n "Restarting firewall: iptables"
iptables -F
iptables -X
cat /etc/rules-save | iptables-restore
echo "."
;;
reload|force-reload) echo -n "Reloading configuration files for firewall: iptables"
echo "."
;;
*) echo "Usage: /etc/init.d/rc.iptables start|stop|restart|reload|force-reload"
exit 1
;;
esac
exit 0

в выделенное место пишешьт команды (правила iptables), но в команде вместо слова iptables пишешь $IPT. Например, захотел вписать правило для очистки правил IPTABLES -F , то пишешь в выделенное место так $IPT -F .

eth0 (выделено) - твой интерфейс.

И да как запускать sh - скрипты разберешься сам.