• Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Реклама 1
  • Реклама 2
  • Рейтинг@Mail.ru

    Поднятие NAT на FreeBSD


    И так, Мы уже с Вами научились устанавливать FreeBSD и собирать ядро. Теперь я попробую Вам помочь в поднятии NAT на FreeBSD. Для этого Нам понадобиться пере собрать ядро сервера с некоторыми опциями:

    options IPFIREWALL
    options IPFIREWALL_VERBOSE
    options IPDIVERT
    options IPFIREWALL_FORWARD
    options IPFIREWALL_VERBOSE_LIMIT=1000
    options IPFIREWALL_DEFAULT_TO_ACCEPT


    Предположим, что у Нас есть две сетевые карты. Одна, которая смотрит в сторону провайдера em0 c IP 10.10.1.2/30, а вторая сетевая карта в сторону локальной сети em1 с IP 192.168.1.1/24
    Запустим процесс natd:

    #/sbin/natd -s -m -a 10.10.1.2

    Для начало создадим файл rc.local в коталоге /etc/

    #touch /etc/rc.local

    и добавим в нем некоторые строки:

    /sbin/natd -f /etc/natd.conf
    /shape/ipfw.init

    Далее Нам понадобиться создать еще один файл: /etc/natd.conf

    #external alias address
    alias_address 10.10.1.2

    # dnat for severs
    redirect_port tcp 192.168.1.5:3389 3389
    redirect_port tcp 192.168.1.6:3389 5555

    Данный файл у нас отвечает за редиректы портов.
    Далее возвращаемся к нашему файлу ipfw.init это наш Firewall, создаем в корневой директории папку shape и в нем файл ipfw.init (/shape/ipfw.init)
    Задаем ему права :

    #chmod a+x /shape/ipfw.init

    #!/bin/sh

    IPFW=/sbin/ipfw

    $IPFW -f flush
    $IPFW -q flush
    $IPFW -f pipe flush

    #loopback
    $IPFW add 10 allow all from any to any via lo0
    $IPFW add 20 deny all from any to 127.0.0.0/8
    $IPFW add 30 deny all from 127.0.0.0/8 to any

    ######## limit ssh
    $IPFW table 1 flush
    $IPFW table 1 add 10.10.1.10/30
    $IPFW table 1 add 192.168.1.10/24

    $IPFW add 40 allow tcp from table\(2\) to me 22
    $IPFW add 41 deny tcp from any to me 22

    $IPFW table 5 flush
    $IPFW table 5 add 192.168.1.0/24

    # enable nat for LAN
    $IPFW add 990 divert natd all from table\(5\) to any via em0
    $IPFW add 991 divert natd all from any to 10.10.1.2 via em0

    Далее перезагружаем сервер и проверяем как работает.
    Для полного понимания загляните в мануалы:

    #man natd
    #man ipfw

    Там есть подробное описание и примеры.

    В случае если Вам понадобиться открыть какой-то порт на локальный IP , Вам потребуется отключить Firewall и убить в процессах NAT:

    #ipfw flush
    #killall -9 natd

    далее идем в файл, который нами ранее создан, открываем порт в файле /etc/natd.conf
    Например:

    redirect_port tcp 192.168.1.5:3389 3389

    После перезапускаем NAT как в rc.local

    #/sbin/natd -f /etc/natd.conf

    Ну и последний этап запускаем ipfw.init

    #/shape/ipfw.init

    Вроде все !!! Если что Извиняйте...пишите помогу!

    При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

    Автор: admin, 29 января 2010
    Рубрики: OS FreeBSD, Новости
    Метки: , , , ,

    Написать комментарий

    Последние статьи