Настройка NAT and Firewall в FreeBSD

Мои заметки для начинающих разобраться в настройке NAT and Firewall

Рассмотрим способ включение NAT без перестройки ядра.
Для этого просто добавим следующие строки в файл /etc/rc.conf

natd_enable=”YES”
natd_interface=”rl1”

(Примечание: rl1 – это название интерфейса, которое у всех может отличаться. В этом случае к этому интерфейсу подключен ADSL модем.)
Далее настроим брандмауэр. Для чего добавим следующие строки в файл /etc/rc.conf

firewall_enable=”YES”
firewall_type=”/usr/local/etc/firewall.conf
(Примечание: Эта строчка указывает на расположение файла конфигурации брандмауэра)
Теперь создадим файл firewall.conf и добавим в него две строчки

add divert natd all from any to any via rl0

(Примечание: Эта строчка пропускает все пакеты NAT)
add allow all from any to any
(Примечание: Эта строчка пропускает пакет всех типов, равносильно тому, ели бы брандмауэра не было)
 

Firewall (FW)

Как уже писалось выше, для настройки FW, будем использовать конфигурационный файл /usr/local/etc/firewall.conf. Это обычный текстовый файл, который содержит в себе определенный свод правил, которые последовательно обрабатываются.
Первая строчка этого файла содержит:

Ipfwqf flush

      Эта строка очищает все правила, посе чего в списке правил присутствует только одна 
      строка под номером 65535: deny ip from any to any , которая запрещает все пакеты.
      Далее в конфигурационном файле идет список правил.

       Пример:

add allow tcp from 10.90.50.0/24 to 10.99.50.100 8000 via rl1

В этой строчки мы разрешаем (allow) любой обмен из сети 10.99.50.0/24 по протоколу tcp (tcp from 10.99.50.0/24) к компьютеру 10.99.50.100 на порт 8000. При этом указываем, что этот ip адрес 10.99.50.100  присвоен интерфейсу rl1.

В нижнем примере показаны простые настройки брандмауэра.  Первую и вторую строку мы уже разобрали. В 3 строки мы разрешаем любую активность с ip адреса 10.99.50.39. В четвертой разрешаем обратный обмен с ip 10.99.50.100.  В пятой разрешаем любую внутреннюю активность. А 5 и 6 разрешают любую сетевую активность по ip 192.168.1.3 назначенному второй  сетевой карте, которая смотрит в инет.

      Ipfwqf flush
      add 100 allow tcp from 10.99.50.0/24 to 10.99.50.100 8000 via rl1
      add 200 allow all from 10.99.50.39 to 10.99.50.100 via rl1
      add 300 allow all from 10.99.50.100 to any
      add 400 allow all from me to me
      add 500 allow all from any to 192.168.1.3 via rl0
      add 600 allow all from 192.168.1.3 to any

      Если необходимо создать правило, и чтобы оно сразу стало работать, то используем
     параметр –N:

Ipfw –N add 50 allow all from any to any

Чтобы удалить правило, пишем: ipfw delete 50

Очищаем пакеты определенного правила: ipfw zero 1000 (где 1000 – номер правила)

Для того, что предоставить доступ к сети определенному диапазону компьютеров, пишем

ipfw add allow all from “192.168.9.0/24 {35,55,89-93}” to any

***************************************************

NAT

Список правил расположен в файле /etc/natd.conf (можно создать любой другой файл для правил nat)

Пример файла, где реализовано проброс портов, представлен ниже:
 

same_ports yes //Сохранение оригинальных номеров портов в уходящих пакетах.
use_sockets yes
log yes      //Ведет лог
port natd
dynamic yes
redirect_port tcp 10.99.50.100:8000 8001
redirect_port tcp 10.99.50.100:22 22
redirect_port tcp 10.99.50.115:3389 3390
 

Запись redirect_port tcp 10.99.50.115:3389 3390 означает, что порт 3390 с внешнего интерфейса будет проброшен на порт 3389 компьютера с ip 10.99.50.100.

Для того, чтобы это правило работало, нужно еще добавить строки в ipfw, если конечно, там не стоит правило разрешающее все действия: allow all from any to any.

Это правило позволяет подключиться к удаленному рабочему столу RDP, компьютера 10.99.50.100, с любого внешнего ip. 

Для внутреннего сетевого интерфейса

add allow all from any to 10.99.50.100 3389
add allow all from 10.99.50.100 to any 3389

или другой вариант последней строки

add allow all from 10.99.50.100 3389 to any

Для внешнего сетевого интерфейса

add allow all from 192.168.1.3 3390 to any
add allow all from all to 192.168.1.3 via rl0

Остановка nat: # /etc/rc.d/natd stop

Запуск nat: # natdinterface rl0 (где, rl0 – это интерфейс, к которому подключён интернет)

(Пока оценок нет)
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x