Ребят, кто юзает ipf — помогите разобраться, а то голову уже сломал, второй день бьюсь.
Ситуация в следующем.
1.Имеем роутер на FreeBSD 5.3 — два интерфейса, задача настроить NAT с мапингом 192.168.0.0/24 -> x.x.x.x/32
2.Ядро собрано с поддержкой только IPFILTER (IPFIREWALL не трогал)
--
options IPFILTER
options IPFILTER_LOG
options IPFILTER_DEFAULT_BLOCK
options IPSTEALTH
options TCP_DROP_SYNFIN
--
3.Настройки NATа
--
map dc0 192.168.0.0/24 -> x.x.x.x/32 proxy port ftp ftp/tcp
map dc0 192.168.0.0/24 -> x.x.x.x/32 portmap tcp/udp 10000:30000
map dc0 192.168.0.0/24 -> x.x.x.x/32
--
Задача иметь с 192.168.0.0/24 в течении продолжительного времени открытые сокеты — коннект к базе MSSQL которая снаружи. У меня же они рушатся. При чем такое впечатление что при увеличении нагрузки. Количество сокетов к MSSQL порядка 30, но вместе с тем на этом же NATе и все остальное (www,smtp,ftp и тд). Машинка P-200MMX/64Mb RAM.
Есть еще один не приятный и не понятный для меня момент, который обнаружился в процессе решения данной проблемы.
При пинге наружу (адреса z.z.z.z) в таблице мапинга фижу следующую запись:
NAT: MAP 192.168.0.29,0 <- -> x.x.x.x,0 [z.z.z.z,0]
--
Почему мапинг происходит с нулевым портом? Но это еще не все. Соответсвенно дополнительно пытаюсь с другой машинки из-за ната проделать тоже самое — пинг того же адреса z.z.z.z. И что мы получаем — наружу за NAT выходят пакеты с внутренним адресом той машинки откуда я делаю пинг! Вот это для меня совсем не понятно.
Может кто чего сказать по сути моей проблемы?
Заранее благодарен за все замечания, предложения и советы.
С уважением,
Константин
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
может divert-а не хватает?
хотя, честно говоря, сии дибри — freebsd-шные — пока для меня сложноватые. ;)
не возился я столько с оной.
нормально. фактически, понятие «порт» существует только для tcp и udp.
а пинги — это icmp. у которого разделение не по портам, а по icmp-type.
м-да… однако, что-то тут не того.
мой опыт использования ipfilter (правда, не на freebsd, а дело было во времена использования и работы с qnx) подобного не выявлял….
Да, родной natd работает через диверт, но ipnat работает не через него. Просто странно ведет он себя. Понимаю если бы вообще не транслировал, а то ведь как-то хитро…
Про порт спасибо, я так и думал что это нормальная форма записи.
Будем думать, разбираться, а может и PF посмотрю — больно уж по функциям приятная штучка.
Не, я наверно совсем глючу, но на PF таже петрушка, только слегка видоизменина! Я уже ничего не понимаю!
Пингую с двух машинок изза свежепостроеного НАТа один и тот же узел снаружи и на одной из них (которая начала пинговать позже) получаю ошибку:
--
Reply from 192.168.0.1: Destination host unreachable.
--
192.168.0.1 — это адрес внутреннего интерфейса НАТа. Если на IPF пакеты второго пинга просто не транслировались и выпускались неизмененными наружу, то здесь эффект такой.
Не, ну должно же быть это какое-то объяснение? Гуру, что скажите?