Задача подключить IP-телефон. Провайдер попросил "прокинуть" определённые порты (udp и tcp) "туда и обратно". В кавычках - цитаты провайдера. Во фре я не особо разбираюсь, но думаю, что имеется в виду divert.
Добавил в ipfw следующие правила:
add 460 divert natd tcp from Z.Z.Z.Z to any XXX out via xl1
add 461 divert natd udp from Z.Z.Z.Z to any YYY out via xl1
add 462 divert natd tcp from any to Z.Z.Z.Z XXX in via xl1
add 463 divert natd udp from any to Z.Z.Z.Z YYY in via xl1
xl1 - интерфейс, смотрящий в инет.
Z.Z.Z.Z - внутренний ip телефона
XXX - tcp-порты
YYY - udp-порты
Включили телефон, пров сообщил что от них ко мне пакет пришёл, но от меня - не вернулся. Перегрузили телефон - вообще тишина.
Возможно, я что-то не так сделал - поправьте, отцы :)
>Задача подключить IP-телефон. Провайдер попросил "прокинуть" определённые порты (udp и tcp) "туда
>и обратно". В кавычках - цитаты провайдера. Во фре я не
>особо разбираюсь, но думаю, что имеется в виду divert.
>
>Добавил в ipfw следующие правила:
>
>add 460 divert natd tcp from Z.Z.Z.Z to any XXX out via
>xl1
>add 461 divert natd udp from Z.Z.Z.Z to any YYY out via
>xl1
>add 462 divert natd tcp from any to Z.Z.Z.Z XXX in via
>xl1
>add 463 divert natd udp from any to Z.Z.Z.Z YYY in via
>xl1
>
>xl1 - интерфейс, смотрящий в инет.
>Z.Z.Z.Z - внутренний ip телефона
>XXX - tcp-порты
>YYY - udp-порты
>
>Включили телефон, пров сообщил что от них ко мне пакет пришёл, но
>от меня - не вернулся. Перегрузили телефон - вообще тишина.
>
>Возможно, я что-то не так сделал - поправьте, отцы :)
Используйте redir
redir? Разве оно поможет? У меня тут появилась идея: нельзя ли использовать natd для моей цели? Сделать типа redirect_port udp внешний_ip:XXXX Z.Z.Z.Z:XXXX ?
>redir? Разве оно поможет? У меня тут появилась идея: нельзя ли использовать
>natd для моей цели? Сделать типа redirect_port udp внешний_ip:XXXX Z.Z.Z.Z:XXXX ?
>
не пробовал так.
везде redir использую. мне нравиТся.
>>redir? Разве оно поможет? У меня тут появилась идея: нельзя ли использовать
>>natd для моей цели? Сделать типа redirect_port udp внешний_ip:XXXX Z.Z.Z.Z:XXXX ?
>>
>
>
>не пробовал так.
>везде redir использую. мне нравиТся.Где используете redir? Разве в ipfw есть "оно"? Я почитал здесь - http://www.opennet.me/man.shtml?topic=ipfw&russian=0&categor...
и не нашёл.
>>>redir? Разве оно поможет? У меня тут появилась идея: нельзя ли использовать
>>>natd для моей цели? Сделать типа redirect_port udp внешний_ip:XXXX Z.Z.Z.Z:XXXX ?
>>>
>>
>>
>>не пробовал так.
>>везде redir использую. мне нравиТся.
>
>Где используете redir? Разве в ipfw есть "оно"? Я почитал здесь -
>http://www.opennet.me/man.shtml?topic=ipfw&russian=0&categor...
>
>и не нашёл.
Использую на работе, на халтуре и в домашней сети.
/usr/ports/net/redirman redir - этого достаточно
>Использую на работе, на халтуре и в домашней сети.
>/usr/ports/net/redir
>
>man redir - этого достаточноТ.е. это дополнительная програмулина?
Marquez, тебе надо наоборот, в NAT НЕ загонять пакеты.
1. В итоге я добавил в natd.conf строки типа такой:redirect_port tcp 192.168.0.1:123 123
Это правило пробрасывает 123-ий порт внутреннего ip на 123-ий порт моего сервера с freebsd. Аналогично с другими портами. Но сей ip-телефон продолжает не совсем верно работать. Почему-то с одим портом, скажем 7070 всё ОК, а с диапазоном 7001-7005 все плохо (со слов провайдера).
Для меня не понятно, почему, если одно правило у меня точно работает, не работают другие? Есть такой правило, что в конфиге natd.conf я должен перечислять правила от меньшего порта к большему? Я что-то сомневаюсь :)
2. Обязательно ли в /etc/rc.conf указывать natd_flags="-f /etc/natd.conf" ? Или natd при старте "читает" свой конфиг?
В итоге сделал так:rc.conf:
natd_enable="YES"
natd_interface=xl1
natd_flags="-u -redirect_port tcp 192.168.1.20:123 123 -redirect_port udp 192.168.1.20:5004-5008 5004-5008 -redirect_port 192.168.1.20:5060 5060
firewall_enable="YES"
firewall_type="/etc/firewall.sh"Где 192.168.1.20 - ip телефона. Можно ли использовать несколько аргументов в natd_flags, как я и сделал?
P.S. Я так понимаю, что для работы redirect в natd надо правильно указать это в ipfw, rc.conf и natd.conf (я его не использовал). Может ещё где-то какой-то параметр необходимо проверить?
P.P.S. Не подскажите софтину которой можно было бы из вне проверять работает ли редирект порта?
>В итоге сделал так:
>
>rc.conf:
>
>natd_enable="YES"
>natd_interface=xl1
>natd_flags="-u -redirect_port tcp 192.168.1.20:123 123 -redirect_port udp 192.168.1.20:5004-5008 5004-5008 -redirect_port 192.168.1.20:5060 5060
>
>firewall_enable="YES"
>firewall_type="/etc/firewall.sh"
>
>Где 192.168.1.20 - ip телефона. Можно ли использовать несколько аргументов в natd_flags,
>как я и сделал?
>
>P.S. Я так понимаю, что для работы redirect в natd надо правильно
>указать это в ipfw, rc.conf и natd.conf (я его не использовал).
>Может ещё где-то какой-то параметр необходимо проверить?
>
>P.P.S. Не подскажите софтину которой можно было бы из вне проверять работает
>ли редирект порта?
Флагов для natd можно использовать много, а чтобы проверить редирект нужно запустить natd с параметром -v