Переброс портов.
Есть задача - входящий из
Интернета запрос на определенный порт внешнего интерфейса перебросить на другой
порт внутрь сети. Когда это нужно ? Некоторые примеры:
- переброс
запросов на внутренний WWW сервер с изменением номера
порта
- переброс
запросов на внутренний Proxy
- переброс
запросов на почтовый сервер, расположенный в DMZ
Если внешний коннект сети
выполнен на «твердотельном» роутере от DLink или CISCO или иже с ними - смотреть
на соответствующую документацию. Если уже очень нехорошие буковки там
просматриваются - то надо готовиться платить деньгу спецу.
Мы подразумеваем, что у
нас внешний сервер - на FreeBSD. В нем минимум 2 сетевых карты. Или больше. Как
пробросить порты в этом случае:
Ставим из /usr/ports/sysutils/socket - стандартное make, make install
Добавляем для нашего
порта, по которому мы будем ломиться со стороны Интернета соответствующую
запись в /etc/services
ourpt8010 8010/tcp
ourpt8010 8010/udp
Теперь еще одна запись в /etc/inetd.conf
<Порт по описанию из /etc/services> stream tcp nowait root /usr/local/bin/socket socket <IP - куда мы бросаем> <Port - куда мы бросаем>
В окончательном виде - примерно так:
Пробрасываем порт 8010 (описан
выше) на порт 80 на внутренний IP 192.168.11.42
ourpt8010
stream tcp nowait root /usr/local/bin/socket socket
192.168.11.42 80
перестартуем InetD по kill -1
Проверяем работоспособность.