URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 4567
[ Назад ]

Исходное сообщение
"FreeBSD 7.0 ipfw+natd"

Отправлено alex1147 , 02-Апр-10 11:18 
Добрый день!
Нужен совет по правильной настройке natd и ipfw.
Имеется Фря 7.0, настроена как шлюз, с натом и файрволлом. На Фре работает squid с прозрачным проксированием.
Также имеем вебсервер внутри сети (192.168.0.35), на котором крутится сайт (https://DOMEN.RU/) на HTTPS порту. В Нате стоит проброс пакетов для всех обращающихся на шлюз HTTPS порта на внутренний IP-адрес Вебсервера HTTPS порта.

Правила ipfw
--------------------------------
iip-внутр.IP
lo-127.0.0.1
#проброс локальных пакетов в обход сквида, дабы не кешировать
${fwcmd} add 151 fwd ${iip},80 log tcp from 192.168.0.0:255.255.255.0 to ${iip} 80
#Остальное заворачиваем на сквид по внутр.интерфейсу
${fwcmd} add 152 fwd ${lo},3128 log tcp from 192.168.0.0:255.255.255.0 to any 80 in via rl0
#Дальше натим
${fwcmd} add 156 divert natd all from any to any via ${iip}
--------------------------------


Правила natd
--------------------------------
unregistered_only yes
#Проброс извне, внутрь на локальный вебсервер.
redirect_port   tcp     192.168.0.35:443  ВНЕШ.IP.ШЛЮЗА:443
--------------------------------

Обращение к веб-серверу происходит по имени https://DOMEN.RU/. И все эта схема работает, за исключением того, если из внутренней подсети обращаться к внутреннему Вебсерверу по имени https://DOMEN.RU/. Как я понял, это происходит из-за того, что при обращении из внутренней подсетки к внешнему адресу шлюза, пакеты не попадают на НАТ, и из-за это проброс на внутренний адрес Веб-сервера обалмывается. Подскажите плз, как обойти данную ситуацию?
Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"FreeBSD 7.0 ipfw+natd"
Отправлено mglushak , 02-Апр-10 15:09 
>[оверквотинг удален]
>redirect_port   tcp     192.168.0.35:443  ВНЕШ.IP.ШЛЮЗА:443
>--------------------------------
>
>Обращение к веб-серверу происходит по имени https://DOMEN.RU/. И все эта схема работает,
>за исключением того, если из внутренней подсети обращаться к внутреннему Вебсерверу
>по имени https://DOMEN.RU/. Как я понял, это происходит из-за того, что
>при обращении из внутренней подсетки к внешнему адресу шлюза, пакеты не
>попадают на НАТ, и из-за это проброс на внутренний адрес Веб-сервера
>обалмывается. Подскажите плз, как обойти данную ситуацию?
>Заранее спасибо.

===================================================
1. Обращаться по локальному адресу 192.168.*
2. Прописать в ДНС локальном DOMEN.RU - адресс сервера


"FreeBSD 7.0 ipfw+natd"
Отправлено alex1147 , 02-Апр-10 18:51 

>===================================================
>1. Обращаться по локальному адресу 192.168.*
>2. Прописать в ДНС локальном DOMEN.RU - адресс сервера

Обращаться по локальному не вариант, тк сайт, который крутится на локальной машине жестко привязывается к имени домена, и должен быть доступен как локально, так и внешне.

С ДНСом можно попробовать поиграть, но засада может быть в том, что сам шлюз также является вторичным ДНС-ом, поэтому сосет зоны с первичного, а сменив IP на первичном ДНС, внешний доступ станет крайне нестабилен, вернее его совсем не будет((
Есть еще варианты?
Может кто предложит копнуть НАТ или Файлволл?


"FreeBSD 7.0 ipfw+natd"
Отправлено DenSha , 08-Апр-10 00:57 
Доброго дня.


>Правила ipfw
>--------------------------------
>iip-внутр.IP
>#проброс локальных пакетов в обход сквида, дабы не кешировать
>${fwcmd} add 151 fwd ${iip},80 log tcp from 192.168.0.0:255.255.255.0 to ${iip} 80

"пробрасывать на внутренний адрес пакет, если он шел на _ВНУТРЕННИЙ_ адрес" - в чем подвох? Как этот пакет сюда попал? Или что такое "внутренний"?

По логам HTTPS трафик попадает на 151-е правило?

>#Остальное заворачиваем на сквид по внутр.интерфейсу
>${fwcmd} add 152 fwd ${lo},3128 log tcp from 192.168.0.0:255.255.255.0 to any 80
>in via rl0
>#Дальше натим
>Обращение к веб-серверу происходит по имени https://DOMEN.RU/. И все эта схема работает,

Что-то мне подсказывает, что это - не вся схема :))

>за исключением того, если из внутренней подсети обращаться к внутреннему Вебсерверу
>по имени https://DOMEN.RU/. Как я понял, это происходит из-за того, что
>при обращении из внутренней подсетки к внешнему адресу шлюза, пакеты не
>попадают на НАТ, и из-за это проброс на внутренний адрес Веб-сервера
>обалмывается. Подскажите плз, как обойти данную ситуацию?
>Заранее спасибо.


"FreeBSD 7.0 ipfw+natd"
Отправлено alex1147 , 16-Апр-10 18:23 
>[оверквотинг удален]
>>Обращение к веб-серверу происходит по имени https://DOMEN.RU/. И все эта схема работает,
>
>Что-то мне подсказывает, что это - не вся схема :))
>
>>за исключением того, если из внутренней подсети обращаться к внутреннему Вебсерверу
>>по имени https://DOMEN.RU/. Как я понял, это происходит из-за того, что
>>при обращении из внутренней подсетки к внешнему адресу шлюза, пакеты не
>>попадают на НАТ, и из-за это проброс на внутренний адрес Веб-сервера
>>обалмывается. Подскажите плз, как обойти данную ситуацию?
>>Заранее спасибо.

Вобщем решил особо моск не ломать, а просто поставил на сервер с ресурсом https://DOMEN.RU/ внешний IP и сразу стало жить легче))