URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 45291
[ Назад ]

Исходное сообщение
"FreeBSD eMule port forwarding"

Отправлено NetKnight , 19-Июн-04 19:21 
Решил я зафорвардить порт, чтоб еМул без LowId работал, но что-то не получается :(
Как я это понимаю в теории:
Нужно зафорвардить с внешнего интерфейса порт, на который настроен еМул (в моём случае это 4662). Возникает вопрос, а другие юзеры смогут тогда юзать ЕМул, ведь они тоже используют этот же порт? Не полетят ли их пакеты ко мне на машину?

Вообщем добавил я в начало цепочки правил такое правило:
ipfw add 50 fwd myhost tcp from any to any 4662 via ${outif}
${outif} - внешний интерфейс, myhost - название моей машины, на которой юзается еМул.

Но почему-то еМул дальше работает с LowId, хотя счётчик пакетов показывает, что пакеты пошли через это правило. В чём грабли тут?


Содержание

Сообщения в этом обсуждении
"FreeBSD eMule port forwarding"
Отправлено dev , 20-Июн-04 00:53 
>Возникает вопрос, а другие юзеры смогут тогда юзать
>ЕМул, ведь они тоже используют этот же порт? Не полетят ли
>их пакеты ко мне на машину?

Можно разных мулов настроить на разные порты, тогда проблем не будет.

>Но почему-то еМул дальше работает с LowId, хотя счётчик пакетов показывает, что
>пакеты пошли через это правило. В чём грабли тут?

Тут nat надо использовать, ipfw fwd не достаточно.
Пример дла 865-го порта:
/sbin/natd -dynamic -redirect_port tcp 192.168.0.55:865 865 -redirect_port udp 192.168.0.55:865 865 -n tun0

Ну и ipfw подправить, чтоб на этот порт соединения пропускал.


"FreeBSD eMule port forwarding"
Отправлено NetKnight , 22-Июн-04 11:16 
>>Возникает вопрос, а другие юзеры смогут тогда юзать
>>ЕМул, ведь они тоже используют этот же порт? Не полетят ли
>>их пакеты ко мне на машину?
>
>Можно разных мулов настроить на разные порты, тогда проблем не будет.
>
>>Но почему-то еМул дальше работает с LowId, хотя счётчик пакетов показывает, что
>>пакеты пошли через это правило. В чём грабли тут?
>
>Тут nat надо использовать, ipfw fwd не достаточно.
>Пример дла 865-го порта:
>/sbin/natd -dynamic -redirect_port tcp 192.168.0.55:865 865 -redirect_port udp 192.168.0.55:865 865 -n tun0
>
>
>Ну и ipfw подправить, чтоб на этот порт соединения пропускал.

А что-то он не даёт мне это сделать, пишет: Unable to bind socket. : Address already in use


"FreeBSD eMule port forwarding"
Отправлено dev , 22-Июн-04 12:36 
>>>Возникает вопрос, а другие юзеры смогут тогда юзать
>>>ЕМул, ведь они тоже используют этот же порт? Не полетят ли
>>>их пакеты ко мне на машину?
>>
>>Можно разных мулов настроить на разные порты, тогда проблем не будет.
>>
>>>Но почему-то еМул дальше работает с LowId, хотя счётчик пакетов показывает, что
>>>пакеты пошли через это правило. В чём грабли тут?
>>
>>Тут nat надо использовать, ipfw fwd не достаточно.
>>Пример дла 865-го порта:
>>/sbin/natd -dynamic -redirect_port tcp 192.168.0.55:865 865 -redirect_port udp 192.168.0.55:865 865 -n tun0
>>
>>
>>Ну и ipfw подправить, чтоб на этот порт соединения пропускал.
>
>А что-то он не даёт мне это сделать, пишет: Unable to bind
>socket. : Address already in use

Ну значит у тебя уже запущен один natd


"FreeBSD eMule port forwarding"
Отправлено NetKnight , 22-Июн-04 13:22 
>>>>Возникает вопрос, а другие юзеры смогут тогда юзать
>>>>ЕМул, ведь они тоже используют этот же порт? Не полетят ли
>>>>их пакеты ко мне на машину?
>>>
>>>Можно разных мулов настроить на разные порты, тогда проблем не будет.
>>>
>>>>Но почему-то еМул дальше работает с LowId, хотя счётчик пакетов показывает, что
>>>>пакеты пошли через это правило. В чём грабли тут?
>>>
>>>Тут nat надо использовать, ipfw fwd не достаточно.
>>>Пример дла 865-го порта:
>>>/sbin/natd -dynamic -redirect_port tcp 192.168.0.55:865 865 -redirect_port udp 192.168.0.55:865 865 -n tun0
>>>
>>>
>>>Ну и ipfw подправить, чтоб на этот порт соединения пропускал.
>>
>>А что-то он не даёт мне это сделать, пишет: Unable to bind
>>socket. : Address already in use
>
>Ну значит у тебя уже запущен один natd

Конечно запущен, у меня этот сервак сетку по нату раскидывает.. Или я должен его запустить с дополнительными параметрами форвардинга?


"FreeBSD eMule port forwarding"
Отправлено INM , 22-Июн-04 13:30 
natd можно запускать с определенными параметрами вчастности с номером порта

/usr/sbin/natd -p номер_порта

# man natd


"FreeBSD eMule port forwarding"
Отправлено dev , 22-Июн-04 16:35 
>Или я должен его запустить с дополнительными параметрами форвардинга?

Да


"FreeBSD eMule port forwarding"
Отправлено NetKnight , 23-Июн-04 03:23 
>>Или я должен его запустить с дополнительными параметрами форвардинга?
>
>Да

Что-то в манах я не нашёл способа перезапустить нат. Пишут только о том, что можно править в конфигах rc.conf, но как его перезапустить не перезагружая сервер?


"FreeBSD eMule port forwarding"
Отправлено dev , 23-Июн-04 15:54 
>Что-то в манах я не нашёл способа перезапустить нат. Пишут только о
>том, что можно править в конфигах rc.conf, но как его перезапустить
>не перезагружая сервер?

Убить (умирает он несколько минут, подожди) и запустить заново.


"FreeBSD eMule port forwarding"
Отправлено NetKnight , 23-Июн-04 18:54 
>>Что-то в манах я не нашёл способа перезапустить нат. Пишут только о
>>том, что можно править в конфигах rc.conf, но как его перезапустить
>>не перезагружая сервер?
>
>Убить (умирает он несколько минут, подожди) и запустить заново.

Всмысле убить процесс? А как посмотреть статус и вообще с какими параметрами он запущен?


"FreeBSD eMule port forwarding"
Отправлено dev , 23-Июн-04 18:59 
>Всмысле убить процесс?

kill :)

>А как посмотреть статус и вообще с какими параметрами
>он запущен?

ps ax | grep natd


"FreeBSD eMule port forwarding"
Отправлено thedeath , 21-Ноя-04 15:16 
;-) Угу .. нашел братьев по разуму

вобщем имею FreeBSD 4.8 STABLE торчит во внешку (xl0),
имею Win2k, emule имеет серый ip (192,168,101,2).

Запускаю НАТ:
/sbin/natd -f /etc/natd.mule.conf -n xl0

Конфиг НАТа:
root@licey17:/etc# cat /etc/natd.mule.conf
use_sockets yes
same_ports yes
unregistered_only yes
redirect_port tcp 192.168.101.2:4662 4662
redirect_port udp 192.168.101.2:4672 4672
redirect_port tcp 192.168.101.2:4711 4711
redirect_port tcp 192.168.101.2:4444 4444
redirect_port udp 192.168.101.2:4444 4444

в ipfw указываю так:
${fwcmd} add divert natd all from 192.168.101.2 to any out xmit xl0
${fwcmd} add divert natd tcp from any to ${внешний ip} 4662,4711,4444 in recv xl0
${fwcmd} add divert natd udp from any to ${внешний ip} 4711,4444 in recv ${natd_interface}

блокирующих правил вроде как нет.

В итоге - входящие соединения на внешний ip на любой из вышеупомянутых портов не проходят ..
Более того на правилах
${fwcmd} add divert natd tcp from any to ${внешний ip} 4662,4711,4444 in recv xl0
${fwcmd} add divert natd udp from any to ${внешний ip} 4711,4444 in recv ${natd_interface}
вообще ниодного пакета не проходит