Нередко бывает нужно перенаправить входящее соединение извне на определённый хост внутрь сети по определённому порту. Например, у вас есть терминальный сервер, который не подключён напрямую к сети Интернет, но к нему необходимо подключаться извне.
Для этих целей используем сокеты:
# cd /usr/ports/sysutils/socket
# make && make install
Редактируем /etc/services (Смотрим порты, чтобы не было закоментировано.)
# vi /etc/services
rdp 3389/tcp
Редактируем /etc/inetd.conf.
# vi /etc/inetd.conf
rdp stream tcp nowait root /usr/local/bin/socket -v 10.0.0.5 3389
Смотрим, разрешен ли запуск inetd.
#
vi /etc/rc.conf
inetd_enable=»YES»
Перезапускаем inetd.
# killall -HUP inetd
Теперь можно подключаться терминальным клиентом к нашему серверу на его внешний IP-адрес — сервер перенаправит входящее соединение внутрь нашей локальной сети на хост 10.0.0.5.