IPFW между 3-мя сетями

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
KampuH
рядовой
Сообщения: 44
Зарегистрирован: 2009-03-20 8:51:46

IPFW между 3-мя сетями

Непрочитанное сообщение KampuH » 2011-03-21 10:41:02

Доброе всем время суток!
Имеется шлюз FreeBSD 8.1 и три сети
rl0-192.168.4.254 смотрит в сеть 192.168.4.0/24
rl1-192.168.5.254 - в сеть 192.168.5.0/24
rl2-192.168.1.1 в сеть 192.168.1.0/24 (общая сеть предприятия)
в дальнейшем планируется подключение дополнительной сетевухи, смотрящей в сеть провайдера
Подскажите пож. какнастроить IPFW, что бы определённым пользователям (например с адресом 192.168.1.200 и 192.168.1.100) общей сети были доступны узлы из подсетей 4 и 5 (например 192.168.4.2 и 192.168.5.2)
В данный момент работает правило всё для всех
Спасибо!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: IPFW между 3-мя сетями

Непрочитанное сообщение FreeBSP » 2011-03-21 12:42:44

не стесняйся, расскажи как вся система должны выглядеть, кто куда должен ходить и тд..
пониманию того, чего именно хочется способствует рисование схем сетей, интерфейсов, схем прохождения пакетов =)

насколько я понял нужно оградить 4-ю и 5-ю подсети от первой, оставив разрешение некотрым узлам первой подсети связываться с некоторыми узлами четвертой и пятой подсетей
в таком случае есть такой вариант

Код: Выделить всё

#!/bin/sh

# зададим переменные
Lan1="192.168.1.0/24"
If1="rl2"

Lan4="192.168.4.0/24"
If4="rl0"

Lan5="192.168.5.0/24"
If5="rl1"

# первым можно ходить ко вторым
AllowedIPs="{ 192.168.1.100, 192.168.1.200 }"
Servers= "{ 192.168.4.2, 192.168.5.2 }"

fw="/sbin/ipfw"

# локальная петля
${fw} allow ip from any to any via lo0
${fw} deny ip from any to 127.0.0.0/8
${fw} deny ip from 127.0.0.0/8 to any

# Собственно ограничение доступа
  # разрешаем хождение пакетов в первой подсети. 
  # без этого могут быть проблемы. а могут и не быть
${fw} allow ip from ${Lan1} to ${Lan1} in via  ${If1}

  # разрешаем с указанных адресов ходить на указанные сервера
${fw} allow ip from ${AllowedIPs} to ${Servers} in via ${If1}

  # по аналогии разрешаем доступ с 1.123 на 5.213 
#${fw} allow ip from 192.168.1.123 to 192.168.5.213 in via ${If1}

  # и с 1.234 на 4,243
#${fw} allow ip from 192.168.1.234 to 192.168.4.243 in via ${If1}

  # запрещаем всей остальной первой подсети ходить через нас. 
  # все что можно мы уже разрешили выше.
${fw} deny ip from ${Lan1} to any in via ${If1}

  # разрешаем все остальное. но по хорошему - в правилах должны быть 
  # только явные разрешения и запрет на все остальное
${fw} allow ip from any to any

но тут только небольшой кусочек, решающий поставленную задачу
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

KampuH
рядовой
Сообщения: 44
Зарегистрирован: 2009-03-20 8:51:46

Re: IPFW между 3-мя сетями

Непрочитанное сообщение KampuH » 2011-03-21 14:02:16

Спасибо огромное! Загрузили работой по самое нехочу, что даже времени нет подумать

KampuH
рядовой
Сообщения: 44
Зарегистрирован: 2009-03-20 8:51:46

Re: IPFW между 3-мя сетями

Непрочитанное сообщение KampuH » 2011-03-21 14:57:56

Хм.. Не могу понять. Правила стояли почти такие же, 5-я подсеть пингуется из 1-й нормально, а 4 никак. Заменили на Ваши, с некоторыми добавлениями, происходит то же самое. В конце правил ставим ${fw} allow ip from any to any, то всё работает, show видно что пакеты вроде уходят ну или путаются уйти, а ответа нет
Нужно ли делать обратные правила для серверов?

KampuH
рядовой
Сообщения: 44
Зарегистрирован: 2009-03-20 8:51:46

Re: IPFW между 3-мя сетями

Непрочитанное сообщение KampuH » 2011-03-21 15:31:13

#!/bin/sh
fw="/sbin/ipfw -q"
#
lan1="192.168.1.0/24"
if1="rl0"
#
lan4="192.168.4.0/24"
if4="rl0"
#
lan5="192.168.5.0/24"
if5="rl1"
#
AllowedIPs="{ 192.168.1.57, 192.168.1.160, 192.168.1.12 }"
Servers="{ 192.168.4.2, 192.168.4.6 }"
#
#
${fw} -f flush
${fw} add check-state
${fw} add allow all from any to any via lo0
${fw} add deny ip from any to 127.0.0.0/8
${fw} add deny ip from 127.0.0.0/8 to any
#
${fw} add allow ip from ${lan1} to ${lan1} via ${if1}
${fw} add allow ip from ${lan4} to ${lan4} via ${if4}
#
${fw} add allow ip from ${AllowedIPs} to ${Servers} in via ${if1}
${fw} add allow ip from ${Servers} to any in via ${if4}
#
${fw} add allow ip from 192.168.1.11 to ${lan4} in via ${if1}
${fw} add allow ip from ${lan4} to 192.168.1.11 in via ${if4}
${fw} add allow ip from 192.168.1.11 to ${lan4} out via ${if4}
${fw} add allow ip from ${lan4} to 192.168.1.11 out via ${if1}
#
${fw} add deny ip from ${lan1} to any in via ${if1}
#
#${fw} add 65500 allow ip from any to any
${fw} add 65530 deny log logamount 3000 all from any to any
вот при таких правилах для 11 IP-шника пинги проходят в 4-ю подсеть, от каких правил можно избавиться? или как можно это записать по другому

suspender
сержант
Сообщения: 160
Зарегистрирован: 2007-11-19 10:47:09

Re: IPFW между 3-мя сетями

Непрочитанное сообщение suspender » 2011-03-21 18:04:54

даже при allow ip from any to any пингов нету ? а маршрут на 4-ю сеть на клиентах прописан через этот gw ? (Ну или дефолтный рут для клиентов из 4-й сети точно этот gw ?)

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: IPFW между 3-мя сетями

Непрочитанное сообщение FreeBSP » 2011-03-22 0:50:06

думаю, правильным будет полностью сформулировать конечную задачу и условия работы требуемого рулсета
а именно - ипы, сети, маски, интерфейсы, маршруты, и прочия прочия прочия...

Код: Выделить всё

#!/bin/sh
fw="/sbin/ipfw -q"
#
lan1="192.168.1.0/24"
if1="rl0"
#
lan4="192.168.4.0/24"
if4="rl0"
#
lan5="192.168.5.0/24"
if5="rl1"
#
AllowedIPs="{ 192.168.1.57, 192.168.1.160, 192.168.1.12 }"
Servers="{ 192.168.4.2, 192.168.4.6 }"
#
#
${fw} -f flush
${fw} add check-state
${fw} add allow all from any to any via lo0
${fw} add deny ip from any to 127.0.0.0/8
${fw} add deny ip from 127.0.0.0/8 to any
#
${fw} add allow ip from ${lan1} to ${lan1} via ${if1}
${fw} add allow ip from ${lan4} to ${lan4} via ${if4}
${fw} add allow ip from ${lan5} to ${lan5} via ${if5}

# оба направления с обоих сторон машины
${fw} add allow ip from ${AllowedIPs} to ${Servers} in  recv ${if1}             # входящий на шлюз к серверам снаружи
${fw} add allow ip from ${AllowedIPs} to ${Servers} out recv ${if1} xmit ${if4} # исходящий со шлюза к серверам внутри
${fw} add allow ip from ${Servers}    to any        in  recv ${if4}             # входящий на шлюз от серверов внутри
${fw} add allow ip from ${Servers}    to any        out recv ${if4} xmit ${if1} # исходящий со шлюза от серверов снаружи

# а вот тут  - самое место поиграть с keep-state, 
# но я не игрался и подсказать не могу =(
# навскидку - просто дописать в конец каждого правила "setup keep-state"
${fw} add allow ip from ${lan4} to ${lan1} in  recv ${if4}                      # входящий на шлюз в первую из четвертой внутри
${fw} add allow ip from ${lan4} to ${lan1} out recv ${if4} xmit ${if1}          # исходящий со шлюза в первую из четвертой снаружи
${fw} add allow ip from ${lan5} to ${lan1} in  recv ${if5}                      # входящий на шлюз в первую из пятой внутри
${fw} add allow ip from ${lan5} to ${lan1} out recv ${if5} xmit ${if1}          # исходящий со шлюза в первую из пятой снаружи

#
${fw} add allow ip from 192.168.1.11 to ${lan4} in via ${if1}
${fw} add allow ip from ${lan4} to 192.168.1.11 in via ${if4}
${fw} add allow ip from 192.168.1.11 to ${lan4} out via ${if4}
${fw} add allow ip from ${lan4} to 192.168.1.11 out via ${if1}

#
${fw} add deny ip from ${lan1} to any in via ${if1}

#
#${fw} add 65500 allow ip from any to any
${fw} add 65530 deny log logamount 3000 all from any to any
но что то пока я сосал лапу со сломанным инетом, уже забыл что хотел, а голова варить отказывается :sorry: завтра еще раз гляну
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!