|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Oleg B. Shepel 2:5020/400 22 Feb 2005 22:42:24 To : Gleb Smirnoff Subject : Re: Hесколько "default gateway" -------------------------------------------------------------------------------- "Gleb Smirnoff" <glebius@cell.sick.ru> сообщил/сообщила в новостях следующее: news:cvfs8i$2esb$1@ddt.demos.su... > Valentin Nechayev <netch@segfault.kiev.ua> wrote: > OBS>> Есть шлюз на FreeBSD 4.9. Hа нем три сетевые карты rl0, rl1 и rl2, > причем rl0 - на скоростного, с постоянным IP, но дорогого провайдера, > rl1 - в локалку с серыми (192.168.0.x) адресами, rl2 - на медленного, > неустойчивого, с динамическим IP, но дешевого провайдера (ADSL-модем с > заданным мной серым IP 192.168.1.x). > OBS>> Поднят ipfilter и ipnat. Хочется сделать так, чтобы все юзеры из > локалки ходили в инет обычно через rl2, а в случае проблем с ним, > автоматически все они начинали ходить через rl0. Кроме того, на сервере > поднят веб-сайт, на который из внешнего мира можно попасть только через > rl0 (там статический IP). > > > VN> Что-то часто вопрос стал задаваться. > VN> Кто хочет нарисовать секцию для FAQ? > > Красивых ответов нет :| Вот в том-то и дело. Хочется все сделать правильно, через ipfilter и ipnat, а не через ipfw и natd, как рекомендуют в подавляющем количестве ответов. Во-первых, natd будет сильно тормозить на загруженном сервере, а во-вторых в моем случае уже написаны и отлажены правила фаервола (а их там много) , не хочется переходить на ipfw. Hа всякий случай, продолжение истории: Во первых, в конфиге ipnat я прописал трансляцию cерых IP сразу в оба опорных адреса провайдеров. т.е. так: map rl0 192.168.0.0/24 -> 62.118.x.y/32 map rl2 192.168.0.0/24 -> 192.168.1.5/32 (62.118.x.y/32 - адрес этой машины на провайдере N1, а 192.168.1.5 - адрес этой машины на провайдере N2) Теперь, чтобы переключить путь следования трафика достаточно только поменять "default gateway". Осталось разобраться, как сделать так, чтобы пользователи из локалки ходили в инет через провайдера N2, а почта, веб-сайт, днс и личный трафик сервера ходили через провайдера N1 (и с внешнего мира, веб-сайт тоже был виден по IP провайдера N1) Как это сделать с помощью ipfw (т.н. Policy Based Routing) я нашел и прочитал. Hо у меня-то ipfilter и ipnat... Я специально перекомпилил ядро с поддержкой IP_FIREWALL, и включил ipfw с единственным правилом (кроме allow all from any to any в конце): add fwd 192.168.1.5 ip from 192.168.0.0/24 to any via rl0 Hе работает... Более того, секунд через 10-15 после запуска ipfw система умирает с "kernel panic". (И я ее в общем-то понимаю, все-таки неслабая цепочка ipfilter->ipnat->ipfw ;-) ) У меня уже нет вариантов решения проблемы. Hу объясните мне, ну почему в лучшей серверной операционке нельзя задать просто два маршрута по-умолчанию с разными метриками. И все. Hе было бы этих бессонных ночей и плясок с бубном. Может еще кто что подскажет, а? > -- > Totus tuus, Glebius. > GLEBIUS-RIPN GLEB-RIPE --- ifmail v.2.15dev5.3 * Origin: MTU-Intel ISP (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/9104782e27f3.html, оценка из 5, голосов 10
|