Редирект портов через rinetd

Рассмотрим самый простой способ перенаправления портов в FreeBSD. Итак у вас шлюзом является сервер на FreeBSD, он раздаёт интернет с помощь nat’а в локальную сеть, в этой сети есть ПК, на который вы хотите заходить (по RDP, ssh, telnet или иным способом), находясь в любой точке планеты, имея интернет под рукой(можно даже с мобильного устройства).
Принципиальная схема:

команды, freebsd, настройка, установка, сервер, server, ubuntu

К делу. Ставим rinetd:
cd /usr/ports/net/rinetd/
make install clean
rehash

Правим конфиг:
ee /usr/local/etc/rinetd.conf

Предположим, надо пробросить стандартный порт RDP (№ 3389 ) с внешнего адреса, например 100.100.10.10(от провайдера) на ПК внутри локальной сети с адресом 10.36.1.15. Если есть статический внешний белый IP-адрес, то rinetd.conf должен выглядеть так:
100.100.10.10 3389 10.36.1.15 3389

Если статического адреса нет, то пусть слушает все адреса и всё, что будет приходить на порт 3389, будет перебрасываться на аналогичный порт ПК с IP 10.36.1.15
0.0.0.0 3389 10.36.1.15 3389

Итого конфиг выглядит так:
0.0.0.0 3389 10.36.1.15 3389
logfile /var/log/rinetd.log

Создадим сам файл для логов:
touch /var/log/rinetd.log

Редактируем /etc/rc.conf:
ee /etc/rc.conf

Добавляем туда:
rinetd_enable=”YES”

и запускаем rinetd:
/usr/local/etc/rc.d/rinetd start

Проверяем, запустилось ли:
ps ax | grep rinetd
43958 ?? Ss 0:00.02 /usr/local/sbin/rinetd
43960 p1 R+ 0:00.00 grep rinetd

Не забываем открыть на фаерволе порты, которые пробрасываете, в случае описанном выше, порт с номером 3389.
Минус использования rinetd является то, что он не способен перенаправлять службы для которых требуется больше, чем один сокет (FTP). Так написано в man’е.

Если после исправления rinetd.conf и запуска rinetd вы видите нечто похожее на:
rinetd: couldn't bind to address 0.0.0.0 port номер_порта
значит указанный вами порт используется, а вот кем используется можно увидеть с помощью команды:
sockstat

Добавить комментарий