kvirtu 315 Опубликовано: 2008-09-01 18:06:09 Share Опубликовано: 2008-09-01 18:06:09 Вот возникла такая ситуация: есть сервак доступа в инет на FreeBSD 5.4: rl0 - пров1 и fxp2 - пров2, defaultrouter="IP_пров1" - его менять нельзя на "IP_пров2" , т.к. юзаеться реальный IP от пров1 + подвязан почтовик и ДНС на реал. IP. Пров2 подвязан через серый IP. Задача стоит в том что бы юзверы ходили в инет через пров2, но при этом сервак был виден в мире. Самое простое это прописывание defaultrouter="IP_пров2", но при этом сервак "не видно в мире". Сколько я в инете не искал, не игрался с правилами ipfw - весь траффик ломился через rl0, пока не попробывал вот такую цепочку: # route add 0.0.0.0/0 "IP_пров2" # route delete 0.0.0.0/0 "IP_пров2" # route add 0.0.0.0/0 "IP_пров2" Простое добавление правила route add 0.0.0.0/0 "IP_пров2" - ничего не дававало вот часть правил из рабочего фаервола по НАТУ: $natd -f /etc/natd.conf -u -s -m -a IP_пров1 -p 8668 $natd -f /etc/natd.conf -u -s -m -a IP_пров2 -p 8778 ${ipfw} add 510 divert natd all from ${ournet} to any via fxp2 ${ipfw} add 520 divert natd all from any to me via fxp2 но при таком раскладе сервак не видно в "мире", он даже не пингуеться (реальный IP) Подскажите где грабли ????? тока не отправляйте по инету гулять , я уже все перепробывал, хотелось бы услышать конкретные советы. Заранее спасибо ! Ссылка на сообщение Поделиться на других сайтах
Zlobar 30 Опубліковано: 2008-09-01 21:05:48 Share Опубліковано: 2008-09-01 21:05:48 тока не отправляйте по инету гулять , я уже все перепробывал, хотелось бы услышать конкретные советы. Заранее спасибо ! Трафик клиентов в прова2 заворачивай форвардом (ipfw fwd). Ссылка на сообщение Поделиться на других сайтах
911 140 Опубліковано: 2008-09-02 04:18:17 Share Опубліковано: 2008-09-02 04:18:17 Трафик клиентов в прова2 заворачивай форвардом (ipfw fwd). +1 что-нить типа такого $fw add 500 divert natd ip from $users to any via $prov1_if $fw add 600 fwd $prov2_gw ip from $prov2_ip to any $fw add 650 allow ip from me to any out $fw add 700 divert natd ip from any to $prov2_ip via $prov2_if $fw add 750 allow ip from any to $users основной шлюз оставляешь на 1го провайдера Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2008-09-02 10:08:57 Автор Share Опубліковано: 2008-09-02 10:08:57 Пока не получилось $fw add 500 divert natd ip from $users to any via $prov1_if - это правило работает нормально пакеты уходят через $prov1_if $fw add 600 fwd $prov2_gw ip from $prov2_ip to any - это правило не пашет, по ipfw -f show - ни одного пакета ........., хотя ядро собрано с опциями: IPFIREWALL_FORWARD IPFIREWALL_FORWARD_EXTENDED и у меня стоял прозрачный прокси, и все работало ...... Ссылка на сообщение Поделиться на других сайтах
911 140 Опубліковано: 2008-09-02 16:17:28 Share Опубліковано: 2008-09-02 16:17:28 Пока не получилось netstat -r ipfw list в студию Ссылка на сообщение Поделиться на других сайтах
kvirtu 315 Опубліковано: 2008-09-02 19:56:54 Автор Share Опубліковано: 2008-09-02 19:56:54 Проблему решил ! Подымаем НАТ ${natd} -m -n $prov1_if -p 8668 ${natd} -m -n $prov2_if -p 8669 Разруливаем траффик: ${ipfw} add 511 divert 8669 ip from $users to any ${ipfw} add 512 fwd $prov2_gw ip from $prov2_ip to any {ipfw} add 515 divert 8669 ip from any to $prov2_ip via $prov2_if Эту комбинацию я пробывал она не работала, пока не перекомпилировал ядро с поддержкой IPFIREWALL_FORWARD_EXTENDED - заработало. Всем спасибо ! Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас