Freebsd – проброс портов через ipfw nat или rinetd

Хочу сейчас рассказать как можно быстро и без лишних заморочек сделать проброс портов в freebsd. Данная функция полезна, если допустим Вам надо получить доступ из вне во внутреннюю сеть, я допустим это использую для таких программ как:

  • Radmin
  • Терминальный клиент RDP
  • Видеонаблюдение

Для начала проброс портов можно сделать двумя способами:
[contents]

Проброс портов с помощью rinetd

И так для того что бы сделать проброс портов freebsd делаем следующие:

  1. устанавливаем rinetd
  2. cd /usr/ports/net/rinetd/
  3. make install clean
  4. после установки идем в rc.conf прописываем rinetd_enable=”YES”
  5. Теперь переходим к самому пробросу портов. перейдем в директорию /usr/local/etc и находим файл rinetd.conf и синтаксис этого файла такой:
    111.111.111.111 48888   192.168.1.200 4899В данном примере мы на ip с адресом 111.111.111.111 пробрасываем порт 48888 на компьютер в нутри сети с ip 192.168.1.200 на порт 4899  (порт 4899 это порт Radmin)
  6. После того как отредактировали файл перезапускаем сервис командой /usr/local/etc/rc.d/rinetd restart

Таким образом мы сделали поброс портов в freebsd с помочью демона rinetd

 

Проброс порта с помощью “ядерного ната” – IPFW NAT

В данном варианте все не так просто как в предыдущем, потому как тут нужно будет пересобрать ядро FreeBSD со следующими параметрами:

options IPFIREWALL #включаем ipfw
options IPDIVERT #включаем NAT
options IPFIREWALL_VERBOSE #включаем ведения логов работы ipfw
options IPFIREWALL_VERBOSE_LIMIT=5 #включаем ограничение на количество одинаковых логов
options IPFIREWALL_NAT #включаем ipfw kernel NAT
options LIBALIAS #включаем необходимые библиотеки libalias
options ROUTETABLES=2 #включаем создания двух таблиц маршрутизации
options DUMMYNET #включаем шейпер трафика
options HZ="1000" #включаем нужно для ускорения работы гигабитной сетевушки

Далее, нужно добавить правило в ipfw через которое как раз и будет проходить проброс:

ipfw nat 1 config log if em0 reset same_ports redirect_port tcp 192.168.1.1:4899 41919 \
redirect_port udp 192.168.1.2:3389 31389 \
redirect_port tcp 192.168.1.3:8000 8000

192.168.1.1:4899 41919   – мы говорит тут о том, что на внутреннем сервере с ip 192.168.1.1 на порт 4899 будет идти подключение “из мира” по порту 41919

admin
Оцените автора
NIBBL
Добавить комментарий

  1. arman

    Здравствуйте вот у меня есть свой веб сервер там стоит freebsd 9, там есть мой сайт также имеется внешнии ip адрес я все прописал днс сервера интернет все работает! вопрос сайт не доступен с внешнкии почему? надо сделать проброс тот который описан выше???

    Ответить
  2. nibbl

    ну есть мне не изменяет память то Вы должны были в ДНС сервере где вы покупали домен прописать Ваш внешний IP и тогда все будет ок, но это ни как не проброс порта о чем моя статья, это если нужно там Radmin пробросить или терминалку, у вас же совсем другая ситуация.

    Ответить