Нашел хорошую статью — перепощу для себя, чтобы каждый раз не гуглить 😉
Хочу описать простой способ проброса портов. Например, нужно пробросить порты чтобы дать доступ удаленным пользователям доступ к своим компьютерам внутри локальной сети организации по RDР. На шлюзе FreeBSD 7.2.
Начнем установку.
# cd /usr/ports/net/rinetd/
# make install clean
Теперь создаем наш конфиг для rinetd.
Предположим: внутренние IP 4 компьютеров 192.168.1.3-6, внешний IP 45.45.45.45, локальный IP шлюза FreeBSD 192.168.1.1. Порт который слушает RDP в Windows: 3389.В IPFW нужно будет открыть порты которые прописаны в rinetd.
# ee /usr/local/etc/rinetd.conf
45.45.45.45 7563 192.168.1.3 3389
45.45.45.45 7564 192.168.1.4 3389
45.45.45.45 7565 192.168.1.5 3389
45.45.45.45 7566 192.168.1.6 3389
Вот и все.
# echo ‘rinetd_enable=»YES»` >> /etc/rc.conf
# /usr/local/etc/rc.d/rinetd start
Проверяем:
#sockstat | grep rinetd
root rinetd 845 4 tcp4 45.45.45.45:7563 *:*
root rinetd 845 5 tcp4 45.45.45.45:7564 *:*
root rinetd 845 6 tcp4 45.45.45.45:7565 *:*
root rinetd 845 7 tcp4 45.45.45.45:7566 *:*
Источник — my-srv.blogspot.ru
И вот еще хорошая ссылка на ту же тему — http://www.lissyara.su/articles/freebsd/trivia/rinetd/
Спасибо за замечания 😉
И снова коммент)))
Пока искал инете на тему пропроса портов заметил что народ
путает port-forwarding и port-redirect
Не надо их путать, это разные технологии.
Port-redirect нужен чтобы, например разрешить доступ к веб-серверу находящемуся за шлюзом и который (веб-сервер) работает в локалке на нестандартном порте. Например веб сервер работает на 8085 а запросы на шлюз приходят на порт 80, который редиректится в порт 8085 на указанный ip-адрес веб-сервера в локальной сети за шлюзом и соотв. обратно,
т.е. когда веб-сервак куда-то полезет в инет у него будет порт 80
.. вроде бы так 🙂
И еще коммент..
На машинах за шлюзом FreeBSD наличие выхода в инет не требуется,
т.е. в правилах ipfw может стоять запрет на выход в инет,
а подключение через проброс портов с удаленной машины будет работать.
ВАЖНОЕ замечание!
Если на FreeBSD шлюзе работает ipfw
с правилами контроля портов, VPN и т.п.,
то в ipfw_open.rules необходимо добавить 2 правила:
1е: правило разрешающее подключения к шлюзу с конкретного внешнего
ip-адреса (проверить можно через shh);
2е: правило открывающее порт на внешем интерфейсе для tcp/udp подключения;
Если этого не сделать, то никакие танцы с бубнами не помогут 🙂
Шлюз по умолчанию на виндовых машинах настраивать не нужно если на машине одна сетевая карточка, если две и обе включены, тогда нужно.
Проверка (с удаленной машины PC0):
PC0РоутерAsus (инет) ШлюзFreeBSD PC1
На PC0:
>telnet [внешнийIPшлюза] [портRinetD]
— если появится черный экран, значит подключение прошло,
и правила ipfw настроены правильно;
— если telnet подключение будет висеть, то все остальные попытки
подключиться к PC1 будут неудачными;
PS.
1. Каспер на PC0 по умолчанию не блокирует исходящие подключения;
2. РоутерAsus в сети PC0 также не блокирует исходящие подключения;
3. Каспер на PC1 по умолчанию не блокирует входящие
подключения если комп к которому происходит подключение находится в
тойже локальной сети что и внутренний интерфейс шлюза FreeBSD;
т.е. доп. настройка Касперов на обоих сторонах и шлюза в сети PC0 не требуется.