FreeBSD проброс портов

Проброс портовТема проброса портов под FreeBSD довольно избитая. У многих имеется сеть за натом, из которой нужны выпустить какой-нибудь сервис. Будь то web, ftp, игровой сервачек или VPN значения не имеет. Изложу свой вариант, который заводится за пару минут.

Под FreeBSD проброс портов можно осуществить многими способами. Используя демон natd, фаерволлом ipfw, pf, различными демонами аля rinetd и так далее. Мне понравилась программка bounce. Назначение которой, как понятно из названия статьи, проброс портов за nat. Она давненько уже есть в портах, так что с установкой проблем не возникнет.
unixtips#/root/> cd /usr/ports/net/bounce/ && make install clean

Ставиться за полминуты. Конфигурируется ненамного дольше :)

Для начала не забудем сделать rehash, чтобы обновить PATH и не писать полный путь до исполняемого файла
unixtips#/root/> rehash

Вызовем хелп, из которого все понятно.

unixtips#/root/> bounce
Use: bounce [-a localaddr | -b localaddr] [-d] [-q] [-p localport] [-t timer] machine port

Все логично и просто. Для примера пробросим порт 4899 с внешней машины (10.1.1.1) на внутреннию, находящуюся за натом, 192.168.1.5.

Выглядит это примерно так
unixtips#/root/> bounce -a 10.1.1.1 -p 4899 192.168.1.5 4899

Смотрим, действительно ли запустилась редиректор bounce
unixtips#/root/> ps ax | grep bounce
7961 ?? I 0:00.00 bounce -a 10.1.1.1 -p 9740 192.168.1.5 9740

Запустился, работает. Можно проверять 4899 порт извне. Не забываем открыть данный порт в фаерволле.