Howto: настройка фаервола Iptables на мегалайновские Ip

Автор 2E3S, 02 Апреля 2009, 11:43

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

2E3S

Как-то раз я перебощил с траффиком на старте, и мне пришлось форсированно изучить работу с iptables. Я почитал мануалов, и создал два скрипта: настройка фаервола и его сброс. Вот они:
file ipfw.sh
#!/bin/sh
iptables -P INPUT DROP
iptables -N kz
iptables -A INPUT -j kz
iptables -A kz -s 192.168.1.1/32 -j ACCEPT
iptables -A kz -s 212.154.128.0/17 -j ACCEPT
iptables -A kz -s 212.19.128.0/19 -j ACCEPT
iptables -A kz -s 95.56.0.0/14 -j ACCEPT
iptables -A kz -s 92.46.0.0/15 -j ACCEPT
iptables -A kz -s 89.218.0.0/16 -j ACCEPT
iptables -A kz -s 88.204.128.0/17 -j ACCEPT
iptables -A kz -s 82.200.128.0/17 -j ACCEPT
file resetfw.sh
#!/bin/sh
iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
(последние две строчки так... на всякий случай)))
Запуск: под рутом
# sh ipfw.sh
В итоге я смог контролировать утечку платных мегабайтов. Вроде бы работает, по крайней мере на внешние IP я не смог попадать.  Можно этот скрипт кинуть в инициализационную часть, чтоб при загрузке грузился (/etc/init.d).

Iskander

02 Апреля 2009, 14:55 #1 Последнее редактирование: 02 Апреля 2009, 14:56 от Iskander
Ну, во многих мануалах часто предлагают создать свой скрипт для init.d,но если залезть в /etc/init.d/iptables (или аналогичный) - то видно, что настройки берутся из /etc/sysconfig/iptables_rules.conf (или что-то типа того http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' /> )

А вообще у тебя скрипт неполный. Неплохо было бы закрыть порты для входящих соединений, запретить отвечать на пинги и т.п. Туториалов в интернете по написанию over 9000, так что я не думаю, что понадобится еще один. Если только добавить мегалайновские айпишники. 



PS: Да, по поводу "можно кинуть"- это вопрос был, или нет? Я подумал что вопрос http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />
Любовь и массовые расстрелы спасут мир.

2E3S

Принцип Оккама: "не множи сущностей сверх необходимости". Это всего лишь решение одной небольшой задачи довольно таки простым способом для обычных домашних десктопов. Конечно, в интернете много мануалов и т.п., и мне даже пришлось прочитать их довольно таки чтоб разобраться, но это, как написано, готовое решение,а не tutorial, и для того кто разбираться особого желания или времени не имеет, (ведь линукс не только для сисадминов и прогеров, правде ведь?).
Еще не нужно закрывать портов, не нужно убирать ICMP/Ping etc, как делают на серверах, ибо на Мегалайне учет внешнего траффика идет не по портам, типам пакетов, и даже биты TOS или SYN в счет не берутся, но только по IP, а у меня, повторюсь, именно для обычных компов написано, так что скрипт полный (все, вроде, айпишники учёл-посчитал). И вообще эта задача иногда стоит перед мегалайнерами (старт, турбо), ибо траффик не резиновый.
Я делал так когда перебирал трафа: ставил  фаервол, далее ставил в кабинете кредитный лимит чуть больше чем нагулял, и работал дальше, только уже в казахстанской сети.
После вопроса обычно ставится "?". В Debian после копирования в init.d нужно выполнить команду
# update-rc.d ipfw.sh defaults
что свяжет rc[0-6].d с этим скриптом. В других дистрах - так, как написано в гугле))

P.S. Написано вспоминая себя самого недавно, так что те, кто считает себя Великим труЪ, можете не снисходить до прочтения этого...

Iskander

[quote name=\'2E3S\' post=\'4235\' date=\'2.4.2009, 10:15\']Еще не нужно закрывать портов, не нужно убирать ICMP/Ping etc, как делают на серверах, ибо на Мегалайне учет внешнего траффика идет не по портам, типам пакетов, и даже биты TOS или SYN в счет не берутся, но только по IP

Еще не нужно закрывать портов, не нужно убирать ICMP/Ping etc, как делают на серверах, ибо на Мегалайне учет внешнего траффика идет не по портам, типам пакетов, и даже биты TOS или SYN в счет не берутся, но только по IP, а у меня, повторюсь, именно для обычных компов написано, так что скрипт полный (все, вроде, айпишники учёл-посчитал). И вообще эта задача иногда стоит перед мегалайнерами (старт, турбо), ибо траффик не резиновый.
Я делал так когда перебирал трафа: ставил фаервол, далее ставил в кабинете кредитный лимит чуть больше чем нагулял, и работал дальше, только уже в казахстанской сети.
После вопроса обычно ставится "?". В Debian после копирования в init.d нужно выполнить команду
# update-rc.d ipfw.sh defaults
что свяжет rc[0-6].d с этим скриптом. В других дистрах - так, как написано в гугле))[/quote]

Ну, порты входящих соединений закрываются все таки обычно для защиты от внешнего мира, а не для учета трафика. Лучше все таки запретить внешние подключения к домашней машине.


По поводу "?" - Давно уже в интернетах привык что часто не ставят. Мне это тоже не нравится, но...


Прошу простить, если обидел. Я не великий гуру, но все таки - если уж засовывать скрипт в init.d -то лучше прописать нормально start/stop и прочее. http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />
Любовь и массовые расстрелы спасут мир.