The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"IPFW и перенаправление портов"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"IPFW и перенаправление портов"  +/
Сообщение от beast86 (ok) on 07-Дек-11, 07:24 
Добрый день!
В *nix системах еще новичок, так что не судите строго!
Появилась потребность отделить один отдел организации в отдельную подсеть - 192.168.10.0/24 и объединить со старой сетью(192.168.1.0/24), чтобы обе сети видели друг друга и могли свободно "общаться". Схема сети(http://s2.ipicture.ru/uploads/20111207/FBUyCqms.jpg). Cети объединены маршрутизатором на FreeBSD 7.1.
А Необходимо осуществить перенаправление портов таким образом, чтобы компьютеры из подсети 192.168.10.0/24 обращаясь к адресу http://192.168.1.85 попадали на 192.168.11.254(здесь установлен Redmine). Сразу скажу что прямое обращение не подходит, потому что раньше компьютер 192.168.11.254 был в подсети 192.168.1.0/24 и задачи Redmine сохранились в БД с адресом 192.168.1.85.
Сделал redirect_port 192.168.11.254:80 80
Фаервол сделал открытым: firewall_type="OPEN".
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "IPFW и перенаправление портов"  +/
Сообщение от Grey (ok) on 07-Дек-11, 08:04 
>[оверквотинг удален]
> и объединить со старой сетью(192.168.1.0/24), чтобы обе сети видели друг друга
> и могли свободно "общаться". Схема сети(http://s2.ipicture.ru/uploads/20111207/FBUyCqms.jpg).
> Cети объединены маршрутизатором на FreeBSD 7.1.
> А Необходимо осуществить перенаправление портов таким образом, чтобы компьютеры из подсети
> 192.168.10.0/24 обращаясь к адресу http://192.168.1.85 попадали на 192.168.11.254(здесь
> установлен Redmine). Сразу скажу что прямое обращение не подходит, потому что
> раньше компьютер 192.168.11.254 был в подсети 192.168.1.0/24 и задачи Redmine сохранились
> в БД с адресом 192.168.1.85.
> Сделал redirect_port 192.168.11.254:80 80
> Фаервол сделал открытым: firewall_type="OPEN".

в ядро:
options IPFIREWALL_FORWARD
в фаервол:
${fwcmd} add fwd 192.168.11.254,80 tcp from 192.168.10.0/24 to 192.168.1.85 80

P.S. в правилах фаервола скопируйте секцию OPEN, переназовите её как вам удобно (MYOPEN например) и в ней добавляйте правила. в rc.conf firewall_type="MYOPEN" (как пример)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "IPFW и перенаправление портов"  +/
Сообщение от beast86 (ok) on 07-Дек-11, 08:15 
> в ядро:
> options IPFIREWALL_FORWARD
> в фаервол:
> ${fwcmd} add fwd 192.168.11.254,80 tcp from 192.168.10.0/24 to 192.168.1.85 80
> P.S. в правилах фаервола скопируйте секцию OPEN, переназовите её как вам удобно
> (MYOPEN например) и в ней добавляйте правила. в rc.conf firewall_type="MYOPEN" (как
> пример)

Так проблема в том, что когда любой комп из сети 192.168.10.0/24 отправляет запрос на комп 192.168.1.85, то ответ уже идет от компа 192.168.11.254, маршрутизируясь, на прямую - от 192.168.11.254 на запрашивающий хост. И хост который отправлял запрос, видит что отвечает не 192.168.1.85, а комп 192.168.11.254, отбрасывает эти пакеты как не ему!  

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "IPFW и перенаправление портов"  +/
Сообщение от beast86 (ok) on 07-Дек-11, 08:16 
Я уже NAT вещал на интерфейс re2 и все равно без толку.


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "IPFW и перенаправление портов"  +/
Сообщение от beast86 (ok) on 07-Дек-11, 08:22 
Забыл сказать, что на интерфейсе 192.168.1.85 поднят NAT, чтобы 10-я подсеть выходила в инет.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "IPFW и перенаправление портов"  +/
Сообщение от Grey (ok) on 07-Дек-11, 08:28 
> Забыл сказать, что на интерфейсе 192.168.1.85 поднят NAT, чтобы 10-я подсеть выходила
> в инет.

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

вместо fwd можно пользовать nat с пробросом порта, но как это всё оформить - надо думать после того как будет вся инфа ...

P.S. ... а вообще, чем городить огород и костыли, не лучше ли привести все адреса к норме? может стоит перепланировать адресное пространство и следовать этому плану всегда в дальнейшем?
... и ещё, где у вас внешний интерфейс? nat надо поднимать именно на внешнем интерфейсе ,а не на том, который смотрит в ЛВС. (это для выхода всей ЛВС в вышестоящую сеть)

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "IPFW и перенаправление портов"  +/
Сообщение от beast86 (ok) on 07-Дек-11, 08:50 
re1 - внешний интерфейс с IP-адресом 192.168.1.85
re2 - внутренний интерфейс с IP-адресом 192.168.10.1
на интерфейсе re2 сделан alias - 192.168.11.1, сделано для того чтобы компьютер с Redmine находился в 11-ой подсети и все пакеты от него и к нему ходили через данный шлюз(назовем его Ш2).
В организации есть еще один шлюз(назовем его Ш1), через который ВСЕ выходят в инет, он имеет IP-адрес 192.168.1.2.
Конфигурационный файл шлюза который я настраиваю(Ш2) rc.conf:

defaultrouter="192.168.1.2"
gateway_enable="YES"
hostname="rots.ues"
ifconfig_re1="inet 192.168.1.85  netmask 255.255.255.0"
ifconfig_re2="inet 192.168.10.1  netmask 255.255.255.0"
ifconfig_re2_alias0="inet 192.168.11.1 netmask 255.255.255.0"
inetd_enable="YES"
keymap="ru.koi8-r"
linux_enable="YES"
saver="logo"
firewall_enable="YES"
firewall_type="OPEN"
#firewall_script="/usr/local/etc/ipfw.rules"
natd_enable="YES"
natd_interface="re1"
natd_flags="-f /etc/natd.conf"
dhcpd_enable="YES"
dhcpd_ifaces="re2"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
named_enable="YES"
named_program="/usr/sbin/named"
named_flags="-u bind -c /etc/namedb/named.conf"
samba_enable="YES"
nmbd_enable="YES"
smbd_enable="YES"
samba_config="/usr/local/etc/smb.conf"
sshd_enable="YES"


Соответственно, когда подсеть 192.168.10.0/24 выходит в инет, то на IP-адресе срабатывает NAT.
Интерфейс re1(192.168.1.85) смотрит в основную сеть организации(192.168.1.0/24), а интерфейс re2(192.168.10.1) смотрит в недавно организованную сеть 192.168.10.0/24. Чтобы сеть 192.168.1.0/24 виде сеть 192.168.10.0/24 прописал на главном шлюзе(192.168.1.2) статический маршрут - route add -net 192.168.10.0/24 192.168.1.85

Вот схема всей сети - http://s2.ipicture.ru/uploads/20111207/vwDBRmFZ.jpg


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "IPFW и перенаправление портов"  +/
Сообщение от beast86 (ok) on 07-Дек-11, 09:15 
нашел статью - http://www.it-simple.ru/?p=2250
Цитирую:

Допустим, 192.168.0.333 - ip-адрес клиента внутри локальной сети.

    сотрудник вводит в адресную строку браузера адрес webname.dom
    компьютер обращается к DNS и разрешает имя webname.dom в адрес 1.2.3.4
    маршрутизатор понимает, что это внешний адрес и отправляет пакет на шлюз
    шлюз, в соответствии с нашим правилом, подменяет в пакете адрес 1.2.3.4 на 192.168.0.22, после чего отправляет пакет серверу
    веб-сервер видит, что клиент находится в этой же локальной сети (обратный адрес пакета - 192.168.0.333) и пытается передать данные напрямую клиенту, в обход шлюза
    клиент игнорирует ответ, потому что он приходит не с 1.2.3.4, а с 192.168.0.22
    клиент и сервер ждут, ведут себя как «две целки на морозе», связи и обмена данными нет
Решение:
iptables -t nat -A POSTROUTING --dst $LAN_IP -p tcp --dport $SRV_PORT -j SNAT --to-source $INT_IP

А вот как тоже самое сделать средствами IPFW?

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "IPFW и перенаправление портов"  +/
Сообщение от Grey (ok) on 07-Дек-11, 13:04 
>[оверквотинг удален]
> локальной сети (обратный адрес пакета - 192.168.0.333) и пытается передать данные
> напрямую клиенту, в обход шлюза
>     клиент игнорирует ответ, потому что он приходит не
> с 1.2.3.4, а с 192.168.0.22
>     клиент и сервер ждут, ведут себя как «две
> целки на морозе», связи и обмена данными нет
> Решение:
> iptables -t nat -A POSTROUTING --dst $LAN_IP -p tcp --dport $SRV_PORT -j
> SNAT --to-source $INT_IP
> А вот как тоже самое сделать средствами IPFW?

fwd меняет адрес назначения, но не адрес источника
можно поднять вторую копию natd на этой машине, "замаскировать" им адрес сервера по порту 80, запросы от раб.станций к адресу шлюза по 80 порту заворачивать во вторую копию natd ..... ход мысли понятен?
НО, не лучше ли сделать всё по уму а не городить эти огороды? если для этого надо поправить данные в БД - дык поправьте в раз и на всегда и не мучайте роутер :) или такие огороды городят исключительно для красоты? ;)

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "IPFW и перенаправление портов"  +/
Сообщение от beast86 (ok) on 07-Дек-11, 13:40 

> fwd меняет адрес назначения, но не адрес источника
> можно поднять вторую копию natd на этой машине, "замаскировать" им адрес сервера
> по порту 80, запросы от раб.станций к адресу шлюза по 80
> порту заворачивать во вторую копию natd ..... ход мысли понятен?

Не совсем, то есть запустить еще один демон natd на том же внешнем IP и на него перенаправлять уже натированные пакеты?


Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

8. "IPFW и перенаправление портов"  +/
Сообщение от Grey (ok) on 07-Дек-11, 12:47 
>[оверквотинг удален]
> nmbd_enable="YES"
> smbd_enable="YES"
> samba_config="/usr/local/etc/smb.conf"
> sshd_enable="YES"
> Соответственно, когда подсеть 192.168.10.0/24 выходит в инет, то на IP-адресе срабатывает
> NAT.
> Интерфейс re1(192.168.1.85) смотрит в основную сеть организации(192.168.1.0/24), а интерфейс
> re2(192.168.10.1) смотрит в недавно организованную сеть 192.168.10.0/24. Чтобы сеть 192.168.1.0/24
> виде сеть 192.168.10.0/24 прописал на главном шлюзе(192.168.1.2) статический маршрут
> - route add -net 192.168.10.0/24 192.168.1.85

сеть 192.168.1.0/24 не увидит напрямую хосты из сети 192.168.10.0/24, потому что их (хосты сети 192.168.10.0/24) закрывает nat.
для прохода снаружи к хосту 192.168.11.х - надо в нате сделать проброс порта. если фаервол OPEN, то дополнительно ничего делать не надо.

P.S. не совсем понятно зачем в одной организации закрывать натом часть сети... :)

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "IPFW и перенаправление портов"  +/
Сообщение от beast86 (ok) on 07-Дек-11, 13:04 
на шлюзе, который между сетями стоит, проброс портов через redirect_port tcp 192.168.11.254:80 80
не получается сделать так чтобы клиенты из локальной сети при вводе в браузере out_ip_шлюза попадали на 192.168.11.254, чего к сожалению не происходит.

чтобы сети увидели друг друга я статический маршрут прописал на главном шлюзе!!!
а NAT использую чтобы хотя бы одна часть сети могла обращаться к Redmine(который перекочевал на 192,168,11,254) по старому IP(192.168.1.85)

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру