The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
IPFW, NAT и реальные IP..., !*! Scrooge, 05-Авг-04, 15:41  [смотреть все]
Есть такая задача:
- Стоит шлюз (2 интерфейса) с NATом и IPFW;
- Пров выделил реальную подсеть;
Нужно эту подсеть грамотно вывести в инет...
(в данной подсети есть www, ftp и т.д.)
  • IPFW, NAT и реальные IP..., !*! Ahiles, 17:37 , 05-Авг-04 (1)
    Проблем особых не вижу.
    Прочитай, там всё написано http://www.freebsd.bip.ru/natd.shtml,
    а с помощью rinetd можно ftp и www держать в локальной сети.

    • IPFW, NAT и реальные IP..., !*! Scrooge, 17:40 , 06-Авг-04 (2)
      Для начала привожу конфиги:
      FreeBSD 5.2.1-RELEASE
      #cat /etc/rc.conf
      defaultrouter="xxx.xxx.xxx.21"
      gateway_enable="YES"
      ifconfig_xl0="inet xxx.xxx.xxx.22  netmask 255.255.255.252"
      ifconfig_xl1="inet yyy.yyy.yyy.1 netmask 255.255.255.240"
      ifconfig_xl1_alias0="inet 192.168.0.1 netmask 255.255.255.0"
      firewall_enable="YES"
      firewall_type="open"
      natd_enable="YES"
      natd_interface="xl0"

      #ipfw list
      00050 divert 8668 ip from any to any via xl0
      00100 allow ip from any to any via lo0
      00200 deny ip from any to 127.0.0.0/8
      00300 deny ip from 127.0.0.0/8 to any
      65000 allow ip from any to any

      ICMP до любой машины из подсети "У" идёт и TRACEROUTE проходит.
      Невозможно достучаться ни до одного порта из этой подсети...
      #telnet yyy.yyy.yyy.1 21
      Trying yyy.yyy.yyy.1...
      telnet: connect to address yyy.yyy.yyy.1: Connection refused
      telnet: Unable to connect to remote host

      sockstat c yyy.yyy.yyy.1
      nobody   ftpd    481   0  tcp4   *:21                  *:*

      • IPFW, NAT и реальные IP..., !*! lamerusha, 11:48 , 07-Авг-04 (3)

        если честно - не очень понятно что ты хочешь сделать...
          Если тебе нужно DMZ , то делай его.
          Если ты хочешь перебрасывать соединения с одного порта на другой ip-port, то и это делай.
           Твоя конфигурация - это ТОЛЬКО NAT из локалки но НЕ в локалку...
        И не забывай что "Серые" адреса не маршрутизируемые (все провы их "бьют")...

        для переброски трафика "кури" NAT, но мне больше нравится redir из портов , так как он СТАБИЛЬНЕЕ работает, (хотя я этот выбор сделал еще на 4.3)

        https://www.opennet.ru/openforum/vsluhforumID10/1476.html
        может тебе это решение подойдет

  • IPFW, NAT и реальные IP..., !*! Alexfree, 04:38 , 08-Авг-04 (4)
    alias neobhodim если у тебя единственный!!!!!!!!!!!!!! interfaсe
    и если будешь раздавать виртуальные серваки.
    Если их два(interface), то  NAT i pravila ipfw вешаешь наружу (real IP)
    "via (iface for IP_ISP)"
    если помогло OK! нет-> пиши aidsvv@ms.odessa.ua
    • IPFW, NAT и реальные IP..., !*! Scrooge, 00:50 , 10-Авг-04 (5)
      Кстати, с помощью ipfilter вроде можно вынести в DMZ целый интерфейс ...
      А вот в ipfw я такого не нашёл...
      Я как раз поставил третью сетевуху для "белой" сетки.
      Если в ipfw нельзя выделить в DMZ интерфейс, то как тогда в нём будут выглядеть правила?
      xl0 - внешний
      xl1 - "серая" сеть
      rl0 - "белая" сеть
      • IPFW, NAT и реальные IP..., !*! lamerusha, 10:02 , 10-Авг-04 (6)
        Правильно поставленный вопрос - это половина ответа... ;)


        (это не я сказал , но цитирую ОООчень часто..;)) )

        • IPFW, NAT и реальные IP..., !*! Scrooge, 11:31 , 10-Авг-04 (7)
          Хорошо, попробую ещё раз... :)
          Итак, есть роутер (теперь уже с тремя интерфейсами).
          "Серую" сеть предприятия нужно выводить через NAT (с этим проблем нет...).
          "Белую" сеть нужно просто вывести в инет без всяких NATов.
          ifconfig_xl0="inet xxx.xxx.xxx.22  netmask 255.255.255.252"
          ifconfig_rl0="inet yyy.yyy.yyy.1 netmask 255.255.255.240"
          ifconfig_xl1="inet 192.168.0.1 netmask 255.255.255.0"
          Вопрос заключается в том, как правильно написать правила IPFW или сконфигурировать NAT, чтобы вся подсеть "Y" была полностью видна в инете.
          Выделив rl0 в DMZ, проблема была бы решена? Если да, то как это реализовать?
          • IPFW, NAT и реальные IP..., !*! lamerusha, 11:45 , 10-Авг-04 (8)
            >Выделив rl0 в DMZ, проблема была бы решена? Если да, то как
            >это реализовать?

            rc.conf
            gateway_enable="YES"
            firewall_enable="YES"

            rc.firewall
            dmz = "yyy.yyy.yyy.1/255.255.255.240"

            ipfw add allow ip from $dmz to any
            ... from any to $dmz

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

            • IPFW, NAT и реальные IP..., !*! Scrooge, 11:49 , 10-Авг-04 (9)
              Низяяяяяяя?
              А как быть в таком случае если там на каждом из 10 серверов стоит по апачу, фтп, днс?
              • IPFW, NAT и реальные IP..., !*! lamerusha, 13:19 , 10-Авг-04 (10)
                >Низяяяяяяя?
                так я и грю... все что нужно разрешаешь... ;)
                • IPFW, NAT и реальные IP..., !*! Scrooge, 15:59 , 10-Авг-04 (11)
                  Итак, по итогам треда у меня выходит следующее (при условии что безопасность меня пока не интересует):
                  #!/bin/sh
                  ipfw="/sbin/ipfw -q"

                  # Out
                  OutInterface="xl0"
                  OutIp="xxx.xxx.xxx.22"
                  OutMask="255.255.255.252"
                  # DMZ
                  DMZInterface="rl0"
                  DMZIp="yyy.yyy.yyy.1"
                  DMZMask="255.255.255.240"
                  # Grey
                  GrInterface="xl1"
                  GrIp="192.168.0.1"
                  GrMask="255.255.255.0"

                  ${fwcmd} -f flush

                  ${fwcmd} add 100 pass all from any to any via lo0
                  ${fwcmd} add 200 deny ip from ${GrIp}:${GrMask} to any in via ${OutInterface}

                  # DMZ
                  ${fwcmd} add 700 pass ip from ${DMZIp}:${DMZMask} to any
                  ${fwcmd} add 800 pass ip from any to ${DMZIp}:${DMZMask}
                  # NAT
                  ${fwcmd} add 300 divert natd ip from ${GrIp}:${GrMask} to any out via ${OutInterface}
                  ${fwcmd} add 400 divert natd ip from any to ${OutIp}:${OutMask} in via ${OutInterface}
                  ${fwcmd} add 500 pass tcp from any to any established
                  ${fwcmd} add 600 pass ip from ${OutIp}:${OutMask} to any out xmit ${OutInterface}
                  # END
                  ${fwcmd} add pass all from any to any via ${GrInterface}
                  ${fwcmd} add deny all from any to any




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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