The OpenNET Project / Index page

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

NAT в FreeBSD и Linux (firewall bsd freebsd linux ipfw iptables nat)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: firewall, bsd, freebsd, linux, ipfw, iptables, nat,  (найти похожие документы)
From: Дмитрий Новиков <dmn@nnz.ru> Newsgroups: http://www.artmagic.ru/labs/ Subject: NAT в FreeBSD и Linux Оригинал: http://www.artmagic.ru/labs/short/ipfw-iptables.shtml NAT в FreeBSD и Linux И в FreeBSD и в Linux для вывода "серой" корпоративной сети (как правило с адресами 10.128 или 192.168) используется технология "сворачивания" всей серой сети в один или несолько реальных адресов. В простейшем варианте вся корпоративная сеть "сворачивается" в один адрес. Общая схема для FreeBSD выглядит так: ipfw add 10 divert 8868 (что надо свернуть в реальный адрес) to any out xmit (внешний интерфейс) ipfw add 20 divert 8868 from any to (реальный адрес) и необходимо запустить демон ната: natd -a (реальный адрес) -p 8868 Для Linux, как правило, используют маскарадинг: iptables -t nat -A POSTROUTING -o <внешний нтерфейс> -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward Рассмотрим более сложную ситуацию, когда нужно две разные корпоративные под-сети "свернуть" в два разных реальных адреса. Это часто бывает удобно для разделения внешнего трафика, подсчета трафика, приоритизации трафика. Необязательно для этого,чтобы сети были разделены физически. Например, если все корпоративной сети выдать сеть 10.0.0.0/16, то в ней можно логически выделить два отдела класса С: 10.0.1.0/24 и 10.0.2.0/24, и все серверы выделить в отдельную"подсеть" 10.0.3.0/24. PS. Вообще, сеть 10.128.0.0/16 является намного более "емкой" и гибкой для большой корпорации - ее легче разбивать на подсети и нет дифицита адресов. Теперь "свернем" эти две подсети отделов в два различных ip с помощью FeeBSD и Linux. 1. В FreeBSD для этого применим систему ipfw & nat ipfw add 10 divert 8868 (подсеть1) to any out xmit (внешний интерфейс1) ipfw add 20 divert 8868 from any to (реальный адрес1) ipfw add 30 divert 8869 (подсеть2) to any out xmit (внешний интерфейс2) ipfw add 40 divert 8869 from any to (реальный адрес2) и необходимо запустить демон ната: natd -a (реальный адрес1) -p 8868 natd -a (реальный адрес1) -p 8869 или для приведенного примера: ipfw add 10 divert 8868 10.0.1.0/24 to any out xmit ed0 ipfw add 20 divert 8868 from any to 195.1.1.1 ipfw add 30 divert 8869 10.0.2.0/24 to any out xmit ed1 ipfw add 40 divert 8869 from any to 195.1.1.2 и необходимо запустить демон ната: natd -a 195.1.1.1 -p 8868 natd -a 195.1.1.2 -p 8869 2. В Linux данная схема реализуется с помощью iptables iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -j SNAT --to-source 195.1.1.1 iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -j SNAT --to-source 195.1.1.2 При этом сеть 10.1.0.3 доступа к Интернет иметь не будет (т.к. НАТ не свернет ее в реальный адрес), да серверам это и не нужно.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1.1, Messer (?), 08:37, 19/02/2003 [ответить]  
  • +/
    от всего не защитишь..
     
  • 1.2, Игорь Колесник (?), 15:25, 15/03/2003 [ответить]  
  • +/
    В FreeBSD Handbook описана настройка NAT следующим образом:

    ----------------------------------------------
    The following options must be in the kernel configuration file:

        options IPFIREWALL
        options IPDIVERT
    Additionally, at choice, the following may also be suitable:

        options IPFIREWALL_DEFAULT_TO_ACCEPT
        options IPFIREWALL_VERBOSE
    The following must be in /etc/rc.conf:

        gateway_enable="YES"
        firewall_enable="YES"
        firewall_type="OPEN"
        natd_enable="YES"
        natd_interface="fxp0"
        natd_flags=""

    Having the previous options defined in /etc/rc.conf would run natd -interface fxp0 at boot.
    ----------------------------------------------

    Вопрос. Это можно рассматривать как альтернативный вариант? В чем разница?

     
     
  • 2.3, anonymous (?), 15:47, 26/03/2003 [^] [^^] [^^^] [ответить]  
  • +/
    Первая часть(конфигурация ядра) необходима, но в исходной статье пропущена, а вторая в чем-то альтернативна статье.
     
  • 2.4, leopold512 (?), 16:30, 17/04/2003 [^] [^^] [^^^] [ответить]  
  • +/
    Так ты только один нат прикрутиш.
    А если в одной сетке внутри две независимые конторы,
    то от провайдера ты два разных счета не получиш.
    (Разный траффик с двух внешних IP)
    Проблемма бухгалтеров, а сисадмину гемор :(
     

  • 1.5, Ключ (?), 15:31, 25/04/2003 [ответить]  
  • +/
    Да, это обязательная часть, только хэндбук процитировал частично :) А про подсчёт траифка - это тут не при чём. По крайней мере оффтопик. А относительно: "сеть 10.128.0.0/16 является намного более "емкой" и гибкой
       для большой корпорации" чем что?.. Чем 192.168.0.0/16? Они одинаковые :) И нефиг вначале указывать для серых адресов 10.128.0.0/16 вместо 10.0.0.0/8, согласно RFC
     
  • 1.7, Alexandr (?), 14:23, 27/01/2004 [ответить]  
  • +/
    Во-первых, ошибка в синтаксисе ipfw. Например, надо писать так:
    ipfw add 10 divert 8868 all from (подсеть1) to any out xmit (внешний интерфейс1)
    Второе. Провайдер вполне может отсечь адреса чужого провайдера, да еще по шее дать. Ведь шлюз-то по умолчанию один, стало быть пакеты с адресом из подсети второго провайдера пойдут (в соответствие с таблицей маршрутизации) через первого. Так что понадобится еще дополнительная строка ipfw fwd.
     
  • 1.8, hi all (?), 10:08, 09/03/2009 [ответить]  
  • +/
    i have some problem. i have been configure on freebsd NAT router. Any configuration send me.
     

    игнорирование участников | лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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