LinuxForum.Fans
Тема

[Решено] Как грамотней прописать маршруты при старте системы

Автор: u__________12 21 сообщений 7479 просмотров
#293166

Здравствуйте. Знаю варианты, но хочется знать какой из них наиболее правильный?

text
#!/bin/sh
ip rule add from 192.168.253.53 table inet_vip
ip rule add from 192.168.253.23 table inet_vip
ip route del default table inet_vip
ip route add default dev t3n1 table inet_vip
ip route add 192.168.2.0/24 dev t2n1 table inet_vip
ip route add 192.168.3.0/24 dev t3n1 table inet_vip
ip route add 192.168.4.0/24 dev t4n1 table inet_vip
ip route add 192.168.5.0/24 dev t5n1 table inet_vip
ip route add 192.168.6.0/24 dev t6n1 table inet_vip
ip route add 192.168.7.0/24 dev t7n1 table inet_vip
ip route add 192.168.8.0/24 dev t8n2 table inet_vip
ip route add 192.168.253.0/24 dev eth0 table inet_vip
exit 0

Добавлял в /etc/if-up.d так насоздавалось 100 раз.

#293170

Как мне думается ( :) ) нужно в /etc/if-down.d добавить

text
ip rule del from 192.168.253.53 table inet_vip
ip rule del from 192.168.253.23 table inet_vip

И будет мне счастье. Так? Просто проверять нет возможности, а надо чтоб сработало

#293173
"Сергей В." написал:
ак мне думается ( ab ) нужно в /etc/if-down.d добавить

Правильно думается.

#293174

Спасибо ;)

Вроде глуповатые вопросы задаю, но как посмотрел свои прошлые темы (год и более назад) всё было гораздо печальнее :D

Да и вообще реально администрировать никсы стал именно сейчас. месяца как 3, а до этого больше игрушки были.. или так, по мелочи

#293176

А кстати ещё по близкой теме. Также видел миллион вариантов загрузки правил iptables. Какие из них самые .. так сказать "кошерные" ?
У меня вообще по экзотически сделано

в /root лежит файл такого вида

text
# Generated by iptables-save v1.4.2 on Wed Dec  1 10:23:35 2010
*nat
:PREROUTING ACCEPT [1940:287993]
:POSTROUTING ACCEPT [1072:152595]
:OUTPUT ACCEPT [21:1796]
-A POSTROUTING -o eth2 -j MASQUERADE 
-A POSTROUTING -o eth3 -j MASQUERADE 
-A POSTROUTING -o ppp0 -j MASQUERADE 
COMMIT
# Completed on Wed Dec  1 10:23:35 2010
# Generated by iptables-save v1.4.2 on Wed Dec  1 10:23:35 2010
*filter
:INPUT ACCEPT [3:144]
:OUTPUT ACCEPT [21:1796]
:FORWARD ACCEPT [230:43100]
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p udp --dport 4569 -d 192.168.253.90 -j ACCEPT
-A FORWARD -p udp --sport 4569 -s 192.168.253.90 -j ACCEPT
и т.д

и в crontab

text
*/5 *    * * *    root    cat /root/iptables|iptables-restore

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

Скрипт и rc.local это не костыль?

#293177
"Сергей В." написал:
А кстати ещё по близкой теме. Также видел миллион вариантов загрузки правил iptables. Какие из них самые .. так сказать "кошерные" ?

От дистрибутива зависит (я имею в виду именно «правильность» загрузки правил).
Вариантов куча. В большинстве дистрибутивов есть, к примеру, стартовые скрипты, загружающие набор правил. Можно ту же загрузку и очистку таблиц поместить в /etc/if-up.d и /etc/if-down.d.

#293178
"Lupo Alberto" написал:
От дистрибутива зависит (я

debian

"Lupo Alberto" написал:
Можно

ключевое слово.

Интересуют а как "нужно"

#293219

Спасибо. А iptables? Просто глаза разбегаются от разнообразия вариантов, как же всё такт "по феншую" ? :)

#293222
Сергей В. написал:
Спасибо. А iptables? Просто глаза разбегаются от разнообразия вариантов, как же всё такт "по феншую" ? :)

http://www.debian.org/doc/manuals/securing-debian-howto/ch-sec-services.en.html
пункт 5.14.3.3 Configuring firewall rules through ifup и около него.

А так же на вики Debian, где описано проще: http://wiki.debian.org/iptables

Я между прочим все это в гугле нахожу... :)

#293296
"Сергей В." написал:
пасибо. А iptables? Просто глаза разбегаются от разнообразия вариантов, как же всё такт "по феншую" ?

Для Debian феншуй расписывал уже неоднократно.

#293336

Спасибо. Разобрался в теме.

"zenon" написал:
Для Debian феншуй расписывал уже неоднократно.

Вот именно что непонятно было какой из этих вариантов. Часто предлагался вариант с rc.local, и ни слова о том как правильней.

#293607

zenon такой вопрос. Всё принципе ясно, но если мы убираем всё из rc.local то как будут загружаться модули iptables? Ведь в правилах этого не пропишешь, а скрипт мы в принципе используем дин раз. Или я что-то неправильно понял опять?

И кстати, откуда взялось это решение, писать правила iptables в виде скрипта, ведь iptables-save сохраняет правила совсем в ином формате, и работать с ним в принципе довольно удобно.

sorry. Быть может вопросы покажутся вам глупым, но на них давно не могу получить вразумительный для меня ответ.

#293613

iptables-save сохраняет дамп уже загруженных правил, iptables-restore, используя этот дамп, загружает правила.

#293800
"Lupo Alberto" написал:
iptables-save сохраняет дамп уже загруженных правил,  iptables-restore, используя этот дамп, загружает правила

Это ясно, но не ясно зачем скрипт? Для того только, чтобы написать правила и загрузить их впервые? К чему я..

Я к примеру делал iptables-save и в этот файл дописывал то мне надо, и из него делал iptables-restore. .. не, не сочтите дураком, но просто не понимаю, скрипт только для первой загрузки что-ли?

#293801
"Сергей В." написал:
Я к примеру делал iptables-save и в этот файл дописывал то мне надо, и из него делал iptables-restore. .. не, не сочтите дураком, но просто не понимаю, скрипт только для первой загрузки что-ли?

Как это принято в Linux, любая задача имеет более одного правильного решения ;)
Например, мне удобнее составлять правила в скрипте, а просматривать, используя iptables-save. Опять же, не зная досконально синтаксис правил iptables, очень сложно добавить их в такой dump-файл.

#293803

Ну например я не пользуюсь iptables-save/restore, у меня просто скрипт, в котором сначала идет очистка правил, потом сами правила, запускается он при поднятии интерфейса смотрящего в интернет.

#293806

Я не случайно выношу всем мозг :) Просто есть 8 шлюзов, сейчас всё настроено в ACCEPT, что как вы понимаете ни зер гуд. Причины тому есть, предыдущий администратор дураком не был, но что-то не работало, и посему оставил так. Я намерен разобраться, почему спрашивал про скрипт, потому-то будет удобнее с переменными, а вот дамп переменные не впишешь.

"Lupo Alberto" написал:
Опять же, не зная досконально синтаксис правил iptables, очень сложно добавить их в такой dump-файл.

Хм. Как ни странно трудностей не возникало. Ну иногда ругался iptables-restore, но он указывает строку и найти ошибку было не сложно. Хотя я пока далеко не гуру.

"zenon" написал:
Ну например я не пользуюсь iptables-save/restore, у меня просто скрипт

А вот правда, как делаете именно Вы?

#293814
"Сергей В." написал:
А вот правда, как делаете именно Вы?

Я же сказал скрипт, чем то похож на тот который тут.
Запускается из /etc/network/interfaces
Примерно так:

text
auto eth1
iface eth1 inet static
   address 192.168.0.1
   netmask 255.255.255.0
   ...
   ...
   post-up /путь/к_скрипту/скрипт.sh
#293816

Ясно, спасибо. Думаю вопрос исчерпан, а как именно делать,видимо решать мне.

Если модераторы считают нужным и не лень, то можно про iptables выделить в отдельную тему и отметить как решённую (название типа "варианты загрузки правил iptables). Может кому-нибудь пригодится.

Войдите или зарегистрируйтесь, чтобы ответить.