Задача была пробросить порт 192.168.1.1:8080 на порт 192.168.1.2:80
bsd$ whereis socket
socket: /usr/ports/sysutils/socket
bsd$ cat /usr/ports/sysutils/socket/pkg-descr
The program Socket implements access to TCP sockets from shell level...
bsd$ sudo make -D BATCH -C /usr/ports/sysutils/socket install clean
В /etc/services следует прописать дополнительный сервис для порта 8080
wwwY1 | 8080/tcp | #http-proxy |
В /etc/inetd.conf добавить запуск сервиса при обращении на порт 8080
wwwY1 | stream | tcp | nowait | root | /usr/local/bin/socket | socket | 192.168.1.2 | 80 |
Запуск сервиса inetd автоматически при загрузке системы
bsd$ echo 'inetd_enable="YES"' | sudo tee -a /etc/rc.conf
bsd$ grep -i inetd /etc/rc.conf
inetd_enable="YES"
Стартуем сервис
bsd$ sudo /etc/rc.d/inetd start
bsd$ sockstat -4l | grep 8080
root | inetd | 2391 | 5 | tcp4 | *:8080 | *:* |
Используя inetd, не забываем про файл /etc/hosts.allow
socket : 217.20.XXX.XX : allow
А иначе в броузере получим:
You are not welcome to use socket from 217.20.XXX.XX
FreeBSD 9.0-RELEASE: Tue Jan 3 07:46:30 UTC 2012