![]() |
Radmin через port mapping
Ситуация: с удаленной машины требуется подключиться к машине, находящейся за шлюзом. Пошел путем перенаправления портов.
Серверная часть на локальной машине установлена, на удаленной установлен клиент. В ipfw.rules добавлены следующие строчки: $cmd add allow tcp from any to any 4899 $cmd add allow tcp from any 4899 to any $cmd add 100 fwd 192.168.111.88,4899 tcp from any to me 4899 Разрешается движение по порту 4899, потом делается перенаправление с внешнего интерфейса, на локальный адрес. При подключении выскакивает окно "Нельзя подсоединиться к серверу". Пробовал также с одной локальной машины через внешний интерфейс подключиться к другой. Та же история. Где я ошибся? |
Приведите вывод команды ipfw show после попытки соединения из внешней сети.
|
Код:
00100 381 36780 allow tcp from any to me 22 |
Возможно, проблема в Nat? Если не ошибаюсь, при рабочем Nat немного другой конфиг идет?
|
Попробуйте прописать в natd.conf:
redirect_port tcp <внешний ip> 4899 4899 и закоментируйте правило с fwd. |
Цитата:
В команжной строке задаю: # natd -redirect_port tcp x.x.x.x:4899 4899 Ошибка - "aliasing adress not given". Пробую так: #natd -redirect_port tcp x.x.x.x:4899 192.168.111.9:4899 Ошибка - "aliasing adress not given". Кстати, ip, имхо, нужно внутренний задавать. |
Сорри ошибся, конечно ip сервака где установлен Radmin.
|
Ошибка та же. Alias adress - При чем он здесь?
|
Попробуйте вот так:
natd -s -m -u -n rl0 -redirect_port 192.168.111.9:4899 4899 |
Выдает ошибку: natd: Unable to bind divert socket.: Address already in use
Вот мой ipfw.rules: ipfw.rules #!/bin/sh cmd=/sbin/ipfw ln="192.168.111.0/24" inet_if_ip="x.x.x.x" inet_if="rl0" local_if="fxp0" local_if_ip="192.168.111.1" $cmd -q -f flush $cmd add allow all from any to any via lo0 $cmd add divert natd ip from any to any via $inet_if $cmd add allow tcp from any to any 4899 $cmd add allow tcp from any 4899 to any $cmd add allow tcp from any to 192.168.111.9 4899 in recv rl0 $cmd add allow tcp from any to 192.168.111.9 4899 out via fxp0 $cmd add allow ip from $inet_if_ip to any out xmit $inet_if $cmd add allow ip from any to $inet_if_ip in recv $inet_if $cmd add allow ip from any to $ln via $inet_if $cmd add allow ip from $ln to $local_if_ip in recv $local_if $cmd add allow ip from $local_if_ip to $ln out xmit $local_if $cmd add allow ip from $ln to any in recv $local_if $cmd add allow ip from any to $ln out xmit $local_if $cmd add allow ip from any to any via lo0 $cmd add deny ip from any to 127.0.0.0/8 $cmd add deny ip from 127.0.0.0/8 to any |
Завершите процесс natd и запустите команду что я приводил в предыдущем сообщении. Либо пропишите в rc.conf: natd_flags="-s -n rl0 -u -m -redirect_port 192.168.111.9:4899 4899" и перезапустите natd.
|
С этими настройками Nat не работает.
|
Мой рабочий пример для трафика RDP порт 3389:
rc.conf: natd_enable="YES" natd_interface="rl0" natd_flags="-f /etc/natd.conf" natd_program="/sbin/natd" natd.conf: same_ports yes use_sockets yes redirect_port tcp 192.168.0.190:3389 3389 Правила ipfw(rc.firewall): ipfw='/sbin/ipfw -q' ${ipfw} flush ${ipfw} add allow all from any to any via lo0 ${ipfw} add 10000 divert natd all from any to any via rl0 ${ipfw} add allow tcp from any to 192.168.0.190 3389 in recv rl0 ${ipfw} add allow tcp from any to 192.168.0.190 3389 out via rl1 .............. rl1 - внутренний интерфейс. Так все работает и NAT и redirect портов. |
Хм... Все сделал, как описано выше, создал natd.conf. Систему перегрузил полностью. Пишет - "невозможно подсоединиться к серверу".
|
Странно. Есть еще два параметра у меня в rc.conf (gateway_enable="YES",firewall_type="open") но врядли они влияют. Попробуйте следующие:
1. Оставьте на время тестирования 2 правила ipfw: ${ipfw} add divert natd all from any to any via <номер вашего интерфейса> ${ipfw} add allow ip from any to any 2. Запустите tcpdump на внешнем и внутреннем интерфесах и попробуйте соединиться через Radmin, увидите где пропадают пакеты: tcpdump -i <внешний интерфейс> dst port 4489 tcpdump -i <внутренний интерфейс> dst port 4489 И приведите ipconfig /all с машинки где установлен сервер RAdmin. |
Вот мой ipfw.rules:
Код:
ipfw.rules |
|
Цитата:
Цитата:
Цитата:
Реакции вообще никакой, будто и не коннекчусь на этот порт. |
|
Цитата:
Цитата:
|
Цитата:
|
Большой респект, сработало! Оставил все настройки, как были, какие были приведены Вами выше - все работает.
Не та фаза луны была, что ли. :-))) Последний вопрос в этой теме: понимаю, что хочу невозможного, но... возможен ли вариант работы через один порт на всю сетку или для каждого ip отдельный порт и свой редирект нужно создавать? |
Цитата:
|
Время: 18:16. |
Время: 18:16.
© OSzone.net 2001-