Nat, Port mapping, используя ipnat и ppp
Во FreeBSD нат можно организовать не только с помощью Natd, есть продукт под названием ipnat. Вот его я и буду настраивать.
Для начала пару опций надо внести в /etc/rc.conf
#ee /etc/rc.conf
------------------------------
ipnat_enable="YES" #Включил ipnat
ipnat_program="/sbin/ipnat" #Указал откуда его нужно запускать
ipnat_rules="/etc/ipnat.rules" #Здесь будут правила
ipnat_flags="" #С какими параметрами стартовать (пока без параметров)
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="ISP"
ppp_nat="NO"
------------------------------
Обязательно включите маршрутизацию, добавив gateway_enable=»YES» в /etc/rc.conf или можно ввести команду:
#sysctl net.inet.ip.forwarding=1
Далее надо отредактировать конфиг ipnat-a
#ee /etc/ipnat.rules
rdr tun0 41.41.41.41/32 port 25 -> 10.0.0.2 port 25 tcp #маппинг 25(SMTP) порта в локалку
rdr tun0 41.41.41.41/32 port 3389 -> 10.0.0.2 port 3389 tcp #маппинг 3389(RDP) в локалку
map tun0 10.0.0.0/24 -> 41.41.41.41/32 # включение nat-a
Сохраняем/Закрываем файл, теперь посмотрим, "что к чему"
rdr - редиректит порта в сеть
tun0 - внешний интерфейс (физически у меня внешний rl0 - но так как инет я получаю через PPPoE, то мой внешний получается tun0)
41.41.41.41/32 - это мой внешний IP и его маска подсети
port 25 - порт который я пробрасываю в сеть
10.0.0.2 - IP адресс компа в локалке, на который я делаю порт маппинг
map tun0 10.0.0.0/24 -> 41.41.41.41/32 вот этой строчкой как раз и включается nat в ipnat
Если я сделаю кое-какие изменения, то мне не нужно будет ребутить систему, достаточно перечитать заново конфиг и все. Конфиг можно перечитать такой командой:
#ipnat -CF -f /etc/ipnat.rules
Можно создать несколько конфигурационных файлов (ipnat.rules2; ipnat.rules3) и менять конфиги "на лету" в зависимости от "погоды".
Таак, осталось добавить пару строк в конфиг ppp и все....
#ee /etc/ppp/ppp.conf
default:
set log Phase tun command
ISP:
set device PPPoE:rl0
set authname username
set authkey userpswd
enable dns
add default HISADDR
ВСЁ!!! Система настроенна, не забудте в /etc/rc.conf прописать IP адреса и все необходимые для нормальной работы сервера параметры, Также нужно указать DNS-ы провайдера в файл /etc/resolv.conf
#ee /etc/resolv.conf
nameserver 172.27.137.10
nameserver 172.27.137.20
#reboot.................................................................................................................:)
Или чтобы не перезагружаться, можно инициализировать ipnat командой:
#kldload ipl
и перечитать rc.conf
Если выбирать между Natd и ipnat - я выберу ipnat. ;)
а я нат на pf поднял, работает не плохо )
ОтветитьУдалитьc pf-om буду разбараться в ближайшее время :) Сейчас использую ipnat и пока притензий нет.
ОтветитьУдалитьtallman9, а можно инструкцию аль ссылочку...занят этим же делом и чет с redirectom запнулся...ведь и в NAT и в pf rdr ....Они не ругаются?
ОтветитьУдалить