Архив метки: FreeBSD

Трансляция портов на FreeBSD с помощью rinetd

Для начала настраивается натирование на машине.
Должен работать демон natd

настройки в rc.conf (при условии что fxp0 - интерфейс смотрящий в инет)

gateway_enable="YES"
usbd_enable="YES"
natd_enable="YES"
natd_interface="fxp0"
natd_flags="-f /etc/natd.conf"

в файлике natd.conf который надо создать (по умолчанию его нет) нужно чтобы лежало следующее:

same_ports yes
use_sockets yes

должен быть настроен файрвол как написано в основноых настройках. (с дивертом трафика)

потом ставится rinetd из /usr/ports/net/rinetd/
make
make install

добавляется в rc.conf
rinetd_enable="YES"

создается файл конфигурации в /usr/local/etc/rinetd.conf
где внутри пишутся правила вида:
195.16.32.26 110 192.168.0.5 110
195.16.32.26 25 192.168.0.5 25
этот пример показывает как перенаправить образение на 25 и 110 порты из внешнего интерфейса роутера на внутренний сервер почты.

можно вполне перенаправлять как для внутреннего так и для наружного траффика. например то же перенаправление для локальной почты
192.168.0.104 110 192.168.0.5 110
192.168.0.104 25 192.168.0.5 25

Трансляция портов на FreeBSD с использованием socket

Мы подразумеваем, что у нас внешний сервер - на FreeBSD. В нем минимум 2 сетевых карты. Как пробросить порты в этом случае:
Ставим из /usr/ports/sysutils/socket - стандартное make, make install

Добавляем для нашего порта, по которому мы будем ломиться со стороны Интернета соответствующую запись в /etc/services
ourpt8010 8010/tcp
ourpt8010 8010/udp

Теперь еще одна запись в /etc/inetd.conf
ourpt8010 stream tcp nowait root /usr/local/bin/socket socket 192.168.11.42 8010

перестартуем InetD по kill -1
Проверяем работоспособность