Страница 1 из 1
NAT и PF
Добавлено: 2011-10-26 21:29:00
VVereVVolf
Есть у меня два сервера один смотрит в инет второй подключен локально к первому серверу, чтобы инет был на второй машине я ставил на первую natd и в ipfw писал правила dicert natd для маршрутизации адресов. Щас написал правила для PF и решил все переводить на PF, но после этого пропал инет на второй машинке, погуглив понял что можно сделать NAT и через PF, вот пример правил для NAT который я набросал, но что то не работает
Код: Выделить всё
ext_if = " bce0 " ## внешка
int_if = " bce1 " ## локалка
set block-policy drop ##сбрасываем соединение грубо
set skip on lo0 ## полностью пропускаем проверку на петле
set skip on $int_if ## полностью пропускаем проверку на интерфейсе,
set loginterface $ext_if ## включаем логирование на интерфейсе
set optimization normal ## оптимизация
scrub in all ## нормализуем все входящие пакеты на всех интерфейсах
scrub on $ext_if all reassemble tcp
block in log all ## блокируем нахрен
nat on $ext_if from $int_if to any -> $ext_if ## проброс NAT
pass in on $int_if from $ext_if to any #разрешаем всё из локальной сети
pass out on $ext_if from $int_if to any keep state #разрешаем серверу доступ в интернет
но как то не хочет работать....
Re: NAT и PF
Добавлено: 2011-10-26 23:35:59
mak_v_
Код: Выделить всё
nat on $ext_if from $int_if to any -> $ext_if ## проброс NAT
чуток не туды, чуть поменяйте, например
Код: Выделить всё
nat on $ext_if from $int_if:network to any -> $ext_if
Re: NAT и PF
Добавлено: 2011-10-27 0:44:08
VVereVVolf
Ошибку свою нашел
Код: Выделить всё
nat on $ext_if from $lan to any -> $ext_if ## проброс NAT
где from не интерфейс нужно указыать, а ip ну или подсеть, с этим разобрался все работает
есть еще вопрос по пробросу портов
Код: Выделить всё
rdr on $ext_if proto { tcp, udp } from any to $ext_if port 3306 -> 192.168.0.2 ## редирект 3306 на внутрисетевой сервер с БД
Обьясню что оно делает, на второй машине (та что локальна подключена к шлюзу) стоит MYSQL сервер, вот нужно чтоб к нему подключилась через ip первой машины! Это я сделал
Код: Выделить всё
rdr on $ext_if proto { tcp, udp } from any to $ext_if port 3306 -> 192.168.0.2 ## редирект 3306 на внутрисетевой сервер с БД
nat on $ext_if from $lan to any -> $ext_if ## проброс NAT
Тоесть когда я удаленно подключаюсь к mysql по ip первого сервера pf сам редиректит в локальную машину на нужный сервер! Но есть проблема! я создал доме db1.sitename.com и указал внешний ip первого сервера! Если я через инет лежу к mysql по этому домену то все нормально редиректит, но если я по этому домену буду заходит с первого сервера (шлюза, где стоит сам pf) то почему то редирект не происходит...
Re: NAT и PF
Добавлено: 2011-10-27 8:40:18
mak_v_
ээ батенька, вам бы книжку умную почитать.....вам правило готовое подсовывают, а вы "нашёл".
по поводу "я создал доме", так у вас правило редиректа работает на внешнем интерфейсе а к своей (или своему наверное) доме вы лезите с какого интерфейса.
Тут уже не пройдет "нашёл" - либо на NS настраивать view internal\external , либо правила pf накручивать .
Re: NAT и PF
Добавлено: 2011-10-27 11:22:22
VVereVVolf
Не дописал одну букву! Я говорил за домен
Re: NAT и PF
Добавлено: 2011-10-27 19:04:27
mak_v_
я вам "за домен" и ответил, но даже спасибы не пачул
Re: NAT и PF
Добавлено: 2011-10-27 19:18:12
VVereVVolf
mak_v_ писал(а):я вам "за домен" и ответил, но даже спасибы не пачул
Я вам благодарен! Спасибо! Но целый день провозился но не так и не решил проблему...
должно что то подобное быть, но что то не как не дойдет до меня.
rdr on $ext_if proto { tcp, udp } from any to $ext_if port 3306 -> 192.168.0.2
rdr on $int_if proto { tcp, udp } from 91.204.122.8 to 192.168.0.1 port 3306 -> 192.168.0.2
Re: NAT и PF
Добавлено: 2011-10-27 19:40:27
mak_v_
а у вас с локальной машины с какого интерфейса идет запрос и через какой интерфейс проходит?
from ??? on??? to????
Настройте bind и не стройте граблей...ИМХО, редирект локального трафика кажется каким-то извращением. Чем вас по IP не устраивает? Почему домен и хостнеймі нельзя нормально настроить?
Re: NAT и PF
Добавлено: 2011-10-27 19:43:57
VVereVVolf
mak_v_ писал(а):а у вас с локальной машины с какого интерфейса идет запрос и через какой интерфейс проходит?
from ??? on??? to????
Настройте bind и не стройте граблей...ИМХО, редирект локального трафика кажется каким-то извращением. Чем вас по IP не устраивает? Почему домен и хостнеймі нельзя нормально настроить?
ext_inf уходит в инет, а int_if локальный интерфейс, да мне тоже кажется что локальный редирект это лишняя нагрузка, подскажите на счет bind в какую сторону копать, я так понимаю должно быть две записи типа A, но оно же должно выбирать по какому то правилу что локал, что инет... Заранее спасибо
Re: NAT и PF
Добавлено: 2011-10-27 20:20:19
mak_v_
Re: NAT и PF
Добавлено: 2011-10-27 20:25:00
VVereVVolf
Благодарю! уже читаю я так понял это split DNS
Re: NAT и PF
Добавлено: 2011-10-29 22:36:41
VVereVVolf
Да с помощью split DNS все получилось только в resolv.conf пришлось указать DNS этой же машинки, так как он брал инфу с DNS провайдера... тоесть получало ip инетовский...
Re: NAT и PF
Добавлено: 2011-10-29 23:46:21
VVereVVolf
А вообще с доменом можно было сделать на много проще.... только что дошло) можно было на DNS указать внешний ip а в файле hosts сего сервера ip сервера БД и делов то... А я извратом занимался...