Настройка iptables для начинающих.

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: Настройка iptables для начинающих.

Сообщение Angel_13th »

2aLexx programmer У меня была такая проблема, просто пакет с сервера идет на совершенно другой порт. У народа охота спросить, у кого каие порты закрыты.
2TuLiss вот насчет пробороски мои пять копеек. Так как весь NAT траффик проходит через цепочку FORWARD, то просто дропай все пакеты что не разрешены.
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
Mugger
Сообщения: 10

Re: Настройка iptables для начинающих.

Сообщение Mugger »

в разделе VPN правил написано "-o eth0", а должно быть "-o $INET_IFACE " вроде...
понимаю что мелочь, но иногда эти мелочи стоят часов головоломания :-)
Спасибо сказали:
Аватара пользователя
aLexx programmer
Сообщения: 985
Статус: Турук-Макто
ОС: Gentoo -> Ubuntu

Re: Настройка iptables для начинающих.

Сообщение aLexx programmer »

Angel_13th писал(а):
04.10.2005 13:13
2aLexx programmer У меня была такая проблема, просто пакет с сервера идет на совершенно другой порт.

А на какой? И как его открыть? Судя по моим наблюдениям (я, правда, в работе с сетью пока не очень разобрался :unsure:), каждый раз на новый.
Спасибо сказали:
Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: Настройка iptables для начинающих.

Сообщение Angel_13th »

Вот суть моей проблемы, Я открыл 21 порт на вход (те пускать пакеты входящие, которые идут с 21 порта) и выход (выпускать с 21 порта), пытаюсь подлючиться на фтп, немогет. Смотрю лог - а там такая бяка

Код: Выделить всё

URGP=0
Sep 27 19:42:43 gentoo kernel: IN= OUT=eth0 SRC=Внешний ip DST=212.16.7.65 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=31451 DF PROTO=TCP SPT=55141 DPT=21 WINDOW=1875 RES=0x00 ACK URGP=0
Sep 27 19:42:46 gentoo kernel: IN= OUT=eth0 SRC=Внешний ip DST=212.16.7.65 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=32059 DF PROTO=TCP SPT=52501 DPT=53282 WINDOW=5840 RES=0x00 SYN URGP=0
Вот я и сделал выводы. Причем порт динамически меняеться.
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
Аватара пользователя
WarlorD
Сообщения: 728
Статус: хочешь пропатчить KDE под FreeBSD - спроси меня как!
ОС: FreeBSD, Debian GNU\Linux

Re: Настройка iptables для начинающих.

Сообщение WarlorD »

вот такая проблема у меня - запускаю скрипт, что в самом начале темы стоит - я как понял это самая последняя и стабильная версия, изменяю все вроде под себя, хотя по началу без особых изменений - просто для проверки работает ли, но почему-то при запуске iptables у меня все отрубается - локальная сеть и инет через vpn, хотя строки я раскомментировал, которые к vpn-у относятся. Ничего не понмаю если честно в этих настройках потому пологаюсь на ваши советы - я понял, что надо просто прописать те порты, что нужны в открытые и все.

Код: Выделить всё

OPENPORTS="20,21,25,23,43,70,79,80,110,210,443"
не понял что значит следующее:

Код: Выделить всё

# Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах:
CLOSEPORTS="630,640,783,3310,10000"

если не затруднить поясните пожалуйсто.
затем я закомментировал то, что относится к DHCP так-как у нас в сети статические ip адреса и он мне как я понимаю не нужен.

Код: Выделить всё

# Разрешаем прохождение DHCP запросов через iptables. Нужно, если IP адрес динамический.
    #$IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 67 --sport 68 -j ACCEPT
    #$IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport 68 --sport 67 -j ACCEPT

потом раскомментировал строки, касающиеся vpnвобщем вариант конфига прилогается - там все написано.
интересно вот а что мне следует написать тут:

Код: Выделить всё

# Ваш сетевой интерфейс.
INET_IFACE="eth0"

положим локальная сеть у меня через eth0 а инет через ppp0 по vpn-у так интересно каксделать, чтоды оба этих интерфейса фильтровались? я как понял не надо менять eth0 на ppp0 так как vpn все равно идет через eth0, но видимо что-то не так. Если еще поможет информация, то скажу, что на машине стоит debian 3.1 sarge причины проблемы мне не ясны совсем вот положим в скрипте написано:

Код: Выделить всё

 # Разрешаем себе ping наружу, ставим ограничение на ping своей машины.
    $IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT
    $IPT -A INPUT -p icmp --icmp-type echo-request -j DROP
    $IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT
    $IPT -A FORWARD -p icmp --icmp-type echo-request -j DROP
    $IPT -A INPUT -p icmp -j ACCEPT
    $IPT -A FORWARD -p icmp -j ACCEPT

но при запуске iptables я никак не могу отпинговать ни один узел - говорит

Код: Выделить всё

ping: sendmsg: Operation not permitted

ПОмогите вобщем начинающему:)
Прилогаю использованный конфиг.
Странно, что даже локальную сеть я перестал видеть:( обидно.
FreeBSD
Debian GNU\Linux
Компьютер позволяет решать все те проблемы, которые до изобретения компьютера не существовали.
Спасибо сказали:
Аватара пользователя
WarlorD
Сообщения: 728
Статус: хочешь пропатчить KDE под FreeBSD - спроси меня как!
ОС: FreeBSD, Debian GNU\Linux

Re: Настройка iptables для начинающих.

Сообщение WarlorD »

ну вот:( так никто и не ответил, а жаль - видать рано мне еще с iptables связываться
FreeBSD
Debian GNU\Linux
Компьютер позволяет решать все те проблемы, которые до изобретения компьютера не существовали.
Спасибо сказали:
Mugger
Сообщения: 10

Re: Настройка iptables для начинающих.

Сообщение Mugger »

CLOSEPORTS="630,640,783,3310,10000

для портов, которык используються только локально. Т.е. из нутри можно на них зайти, например 127.0.0.1:10000. А с наружи они закрыты.


запусти каманду iptables -L и сбрось мне в личку.
а также какой Linux...
попробуй запустить iptables без правил описанных выше и тоже сделай "iptables -L"... Тоже в личку...
может чем помогу, я сам тоже начинаю изучать....
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

Ограничение подбора пароля по сети по ssh

Если посмотреть логи Linux серверов, то можно обнаружить большое количество сообщений от демона sshd, свидетельствующих о попытке подбора паролей по ssh.

Dec 6 11:03:11 artur sshd[2177]: Invalid user test from 193.220.141.151

Dec 6 11:03:11 artur sshd[2177]: Failed password for invalid user test from 193.220.141.151 port 46079 ssh2

Dec 6 11:03:15 artur sshd[2180]: Failed password for root from 193.220.141.151 port 46144 ssh2

Dec 6 11:03:16 artur sshd[2183]: Invalid user admin from 193.220.141.151

Dec 6 11:03:16 artur sshd[2183]: Failed password for invalid user admin from 193.220.141.151 port 46377 ssh2

Обратите внимание на задержку между попытками - несколько секунд. На той стороне находятся "роботы". Наша задача ограничить количество попыток соединения с одного IP адреса. Для этого можно воспользоваться модулем recent нетфильтра.

iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 20 -j DROP

iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT

После введения этого правила логи становятся девтственно чистыми.

Dec 10 15:24:42 artur -- MARK --

Dec 10 15:44:42 artur -- MARK --

Dec 10 15:49:06 artur sshd[21819]: Did not receive identification string from 85.93.9.31

Dec 10 16:02:10 artur sshd[21824]: Invalid user shell from 85.93.9.31

Dec 10 16:02:10 artur sshd[21824]: Failed password for invalid user shell from 85.93.9.31 port 40288 ssh2

Dec 10 16:24:43 artur -- MARK --

Dec 10 16:44:43 artur -- MARK --

Dec 10 17:04:43 artur -- MARK --

Все, роботы отвалились :)


оригинал http://bigkaa.blogspot.com/
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
BigKAA
Сообщения: 292
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение BigKAA »

Лично я считаю, что писать универсальный скрипт - это не правильно :) Я уже это однажды делал, потом разачаровался. Но если хотите... то можно и сделать. Пока сам руками не попробуеш, ничего не поймеш :)

Код: Выделить всё

OPENPORTS="20,21,25,23,43,70,79,80,110,210,443"

Вообщето multiport поддерживает. кажись максимум 15 портов. Что будете делать когда потребуется больше?

Код: Выделить всё

$IPT -P OUTPUT DROP

Мазохизм чистейшей воды :). Если Вас поломают - то откроют все что угодно :) Лучше ставьте софт по поиску руткитов :) Вводом DROP на OUTPUT Вы сами сделали себе лишние проблемы :(


А это зачем? У Вас стоит прога которая это принимает? Так, на всякий пожарный http://www.opennet.ru/docs/RUS/iptables/#ULOGTARGET

Защита от редиректа icmp по умолчанию встроена в ядре.

Код: Выделить всё

$IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type parameter-problem -j ACCEPT

-m icmp писать не надо, это работает автоматом.

Код: Выделить всё

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 -j DROP --syn

Наверное надо так

Код: Выделить всё

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 --syn -j DROP

Просто красивше выглядит :) Ну вообще, -j и их параметры обычно пишут в конце, то что -j не относится надо писать раньше.

Успехов.
Удачи, Артур Крюков
--
CentOS 5.x | Fedora Core
Home милый wikihome и мой блог
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

BigKAA писал(а):
12.12.2005 18:36
Лично я считаю, что писать универсальный скрипт - это не правильно :)


Не знаю как Морда. Я такую цель не ставлю =) Так, основные функции, которые пишишь постоянно. Согласись глупо писать несолько раз одно и то же =) Проще , что то удалить.

BigKAA писал(а):
12.12.2005 18:36

Код: Выделить всё

OPENPORTS="20,21,25,23,43,70,79,80,110,210,443"

Вообщето multiport поддерживает. кажись максимум 15 портов. Что будете делать когда потребуется больше?


Ну я думаю, что придумать , что то можно =)

А так спасибо =)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

пишу на всякий пожарный, настройка протстого шлюза =)

Пост чуть ниже
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
BigKAA
Сообщения: 292
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение BigKAA »

TuLiss писал(а):
28.12.2005 02:33
пишу на всякий пожарный, настройка протстого шлюза =)

# iptables -F INPUT
# iptables -A INPUT -m state -state EASTABLISHED,RELATED -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
# iptables -P INPUT DROP
# iptables -F FORWARD
# iptables -P FORWARD ACCEPT
# iptables -t nat -F
# iptables -t nat -A POSTROUTING -o <внешний интерфей> -j SNAT to <внешний IP>
Если ip динамический то
# iptables -t nat -A POSTROUTING -o <внешний интерфейс> -j MASQUERADE


Ну и еще
modprobe ip_nat_ftp
чтобы у людей ftp работал ^_^
Удачи, Артур Крюков
--
CentOS 5.x | Fedora Core
Home милый wikihome и мой блог
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

BigKAA писал(а):
12.12.2005 18:36

А это зачем? У Вас стоит прога которая это принимает? Так, на всякий пожарный http://www.opennet.ru/docs/RUS/iptables/#ULOGTARGET


Код: Выделить всё

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 -j DROP --syn

Наверное надо так

Код: Выделить всё

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 --syn -j DROP

Просто красивше выглядит :) Ну вообще, -j и их параметры обычно пишут в конце, то что -j не относится надо писать раньше.



ULOG ну кому надо тот поставить, кому не надо не будет раскоментировать или удалит

по поводу второго правильно писать первый вариант =)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Electron
Сообщения: 201
ОС: Можно Windows написать? :-)

Re: Настройка iptables для начинающих.

Сообщение Electron »

Да... Меня не хватило, чтобы это всё дочитать <_< Тут чего-то тема такая большая :o

Но, просмотрев мельком, я заметил, что не было упоминания о патче Patch-O-Matic. А ведь он много чего умеет... IMHO, в том числе и те функции(2 дня назад поставил, кстати, себе), которые вы пытаетесь релизовать. ;)
Gentoo Linux 2006.0 from Stage3-Pentium4 on Intel Celeron 2.1 Ghz, 512M RAM, NV GeForce 5200FX
Спасибо сказали:
Electron
Сообщения: 201
ОС: Можно Windows написать? :-)

Re: Настройка iptables для начинающих.

Сообщение Electron »

Выше была идея учёта трафика с помощью IPTABLES. Выкладываю интересную программу, которая поможет в этом деле.
Gentoo Linux 2006.0 from Stage3-Pentium4 on Intel Celeron 2.1 Ghz, 512M RAM, NV GeForce 5200FX
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

пишу на всякий пожарный, настройка протстого шлюза =)

# iptables -F INPUT
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
# iptables -P INPUT DROP
# iptables -F FORWARD
# iptables -P FORWARD ACCEPT
# iptables -t nat -F
# iptables -t nat -A POSTROUTING -o <внешний интерфей> -j SNAT -to-source <внешний IP>
Если ip динамический то
# iptables -t nat -A POSTROUTING -o <внешний интерфейс> -j MASQUERADE


Пример:

eth0 - интернет

IPTABLES -t nat -A POSTROUTING -o eth0 -j SNAT --to-source <ваш ip в мир>

Если ip динамический то:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

или

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

Если делаете прозрачный прокси то:
при условии, что у вас установлен и настроин прокси сервер, например squid

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -p tcp --dport 21 -j REDIRECT --to-ports 3128

Разрешить доступ всем к определенным сайтам:


iptables -t nat -A POSTROUTING -o eth0 -d mail.ru -j MASQUERADE

Разрешить определенному ip доступ к интенету:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.1 -j MASQUERADE

-------------------------------------------------
Так же нужны модули:
modprobe :

ip_nat
ip_nat_ftp
ip_nat_irc

ip_conntrack
ip_conntrack_ftp
ip_conntrack_irc
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
TeMy4uH
Сообщения: 150

Re: Настройка iptables для начинающих.

Сообщение TeMy4uH »

Спасибо вам за вашу работу, но у меня маленькая проблема- хоть убей не могу разрешить соединение к фтп серверу...
p.s Скрипт использованный мною прилагается...
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

от serg_sk правила к samba

-A INPUT -p udp -m udp --dport 137:138 -j ACCEPT
-A INPUT -p udp -m udp --sport 137:138 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
neru_dead
Сообщения: 331
ОС: Debian Etch
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение neru_dead »

Так же нужны модули:
modprobe :

ip_nat - НЕТУ
ip_nat_ftp - НЕТУ
ip_nat_irc - НЕТУ


Что надо исправить что б они были ?

Debian, kernel - 2.6.16.18
Debian GNU/Linux 4.0
Registered User # 410887
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

neru_dead писал(а):
29.05.2006 08:08
Так же нужны модули:
modprobe :

ip_nat - НЕТУ
ip_nat_ftp - НЕТУ
ip_nat_irc - НЕТУ


Что надо исправить что б они были ?

Debian, kernel - 2.6.16.18


пересобрать ядро с их поддержкой.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
neru_dead
Сообщения: 331
ОС: Debian Etch
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение neru_dead »

а подскажите как они в настройках называются, у меня вроде все собрано.
Debian GNU/Linux 4.0
Registered User # 410887
Спасибо сказали:
Аватара пользователя
-Dolphin-
Сообщения: 131
Статус: генерал
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение -Dolphin- »

Помогите с анонимным фтп (vsftpd)


-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

Нивкакую не хочет пускать на фтп.

ps: если iptables выключить то все ок.
Счастливый обладатель трусов с пингвином. Линуксцентр отдыхает. Китайская промышленность заботиться о нас...
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение serzh-z »

-Dolphin- писал(а):
13.07.2006 12:48
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

Нивкакую не хочет пускать на фтп.
Весь список правил желателен. Ведь не факт, что цепочка RH-Firewall-1-INPUT вообще получает управление.

P.S.: и вообще - нужно вставлять правило для логирования необработанных пакетов в конце цепочек или же перед дропанием пакетов. Тогда всё сразу будет видно.
Спасибо сказали:
Аватара пользователя
-Dolphin-
Сообщения: 131
Статус: генерал
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение -Dolphin- »

Вот весь iptables

http://89.186.244.200/iptables.txt
Счастливый обладатель трусов с пингвином. Линуксцентр отдыхает. Китайская промышленность заботиться о нас...
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение serzh-z »

Проще всего будеть перед "-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited" запихнуть "-A RH-Firewall-1-INPUT -j LOG --log-prefix REJECTED:" и сделать попытку коннекта к серверу.

Кстати, если не ошибаюсь, то на 20 порт не нужно разрешать входящие соединения, при работающем модуле трассировщика пакетов, 20 будет обработан целью ACCEPT как пакет в состоянии RELATED.
Спасибо сказали:
Аватара пользователя
router
Сообщения: 363
ОС: Debian, на работе rhel

Re: Настройка iptables для начинающих.

Сообщение router »

Насчёт ULOG
Как вы проверяете логи? ULOG записывает в MySQL IP адрес в виде числа, а не стоки. Оно, конечно, компактнее, но мысль о калькуляторе не вдохновляет ;)
добавлено:
Уже нашёл ответ. Можно и в виде строки. Извините, невнимательно читал докуменацию :unsure:
добавлено:
Нашёл, да не то. Только если ulogd или specter были скомпилированы с опцией --with-mysql-log-ip-as-string
Пересобирать вручную лень, да и непонятно: раз в большинстве дистрибутивов собирают без этой опции, значит имеется более-менее удобный инструмент для просмотра этих таблиц???
добавлено:
нашёл ответ на похожий вопрос в листе рассылки.
Спасибо сказали:
Аватара пользователя
router
Сообщения: 363
ОС: Debian, на работе rhel

Re: Настройка iptables для начинающих.

Сообщение router »

Внесу свои пять копеек. Насчёт загрузки модулей: взял код из скрипта инициализации acpid и слегка его подправил. Заранее прошу прощения за мой английский :)

в секции объявления переменных:

Код: Выделить всё

LSMOD="/sbin/lsmod"
# iptables modules which will be loaded at start of this script
LOADMOD="ip_tables ip_conntrack iptable_filter iptable_mangle iptable_nat ipt_multiport"


собственно процедура загрузки модулей. передаваемый параметр - строка из имён модулей (без расширений), разделённых пробелами

Код: Выделить всё

# this procedure was founded in acpid initialization script. I done insignificant changes
load_modules()
{
    MODULES=$1

    AUTOLOADED=`$LSMOD | awk '!/Module/ {print  $1}'`
    LOC1="/lib/modules/`uname -r`/kernel/net/ipv4/netfilter"
    LOC2="/lib/modules/`uname -r`/kernel/net/ipv6/netfilter"
    if [ -d "$LOC1" ] || [ -d $LOC2 ]; then
        MODAVAIL=`( find $LOC1 $LOC2 -type f -name "*.o" -printf "basename %f .o\n"; \
            find $LOC1 $LOC2 -type f -name "*.ko" -printf "basename %f .ko\n" ) | /bin/sh`
    else
        MODAVAIL=""
    fi

    if [ "$MODULES" = "all" ]; then
        MODULES="$MODAVAIL"
    fi

    if [ -n "$MODULES" ]; then
        echo "Loading iptables modules"
        for mod in $MODULES; do
            echo $MODAVAIL | grep -q -w "$mod" || continue
            echo "  $mod"
            echo $AUTOLOADED | grep -q -w "$mod" || modprobe $mod || /bin/true
        done
    fi
}

вызов процедуры:

Код: Выделить всё

[ -f /proc/modules ] && load_modules "$LOADMOD"


результат:

Код: Выделить всё

root@panzer:~# /etc/init.d/firewall.sh start
Loading iptables modules
        ip_tables
        ip_conntrack
        iptable_filter
        iptable_mangle
        iptable_nat
        ipt_multiport
Starting firewall...done


нафи зачем это вообще было нужно?
1) автозагрузка модулей (теоретически) может быть выключена
2) вывод Starting firewall...done не прерывается сообщениями о загрузке модулей
Спасибо сказали:
Аватара пользователя
_Storm
Сообщения: 135
ОС: MOPS Linux 5.0

Re: Настройка iptables для начинающих.

Сообщение _Storm »

а может кто подскажет как соединения, поступающие на определенный порт перекинуть на другой IP и порт?
Спасибо сказали:
oooo may
Сообщения: 1

Re: Настройка iptables для начинающих.

Сообщение oooo may »

Что в этот конфиг вписать http://89.186.244.200/iptables.txt
чтобы сделать ограничения коннектов к 80 порту или eth0 ( ограничить одновременных коннектов с одного IP ) ?
что только не пробовал не получается
знаю что за это отвечает connlimit
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Настройка iptables для начинающих.

Сообщение TuLiss »

_Storm писал(а):
05.08.2006 22:57
а может кто подскажет как соединения, поступающие на определенный порт перекинуть на другой IP и порт?



проброс и одновременная подмена порта из внешнего мира на внутреннюю машину.
$EXT_IP - внешний ip роутера
$EXT_PORT - номер порта, по которому будет обращение из внешнего мира
$EXT_ETH - внешний интерфейс роутера (напр. eth0)
$INN_IP - внутренний ip машины, на которую пробрасывается порт
$INN_PORT - номер порта на внутренней машине
$INN_ETH - внутренний интерфейс роутера (напр. eth1)
вот, собственно, одно правило (если политика forward по умолчанию - accept):
iptables -t nat -A PREROUTING -p tcp -d $EXT_IP --dport $EXT_PORT -j DNAT --to-dest $INN_IP:$INN_PORT
если политика forward по умолчанию - drop, то надо "провести" пакеты через forward:
iptables -A FORWARD -i $INN_ETH -s $INN_IP -p tcp --sport $INN_PORT -j ACCEPT
iptables -A FORWARD -i $EXT_ETH -d $INN_IP -p tcp --dport $INN_PORT -j ACCEPT
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Ответить