![]() |
Перенаправление портов во FreeBSD
Всем доброе время суток! Большое спасибо за консультацию в моих предыдущих топиках, очень помогло! Теперь у меня вот такая задача: имеется сервер фрибсд у которого имеется выход в интернет и внешний айпи, все остальные машины выходят в инет через него как через прокси. Кроме него есть другой сервер, на котором установлена виндовс сервер 2003, но он, разумеется, не имеет отдельного внешнего айпи-адреса. Бывают такие ситуации, что на работе происходит какая-нибудь хрень в послерабочее время, а то и в выходной день, в общем когда я дома. Из дома могу соединиться с сервером только через внешний айпи. Подскажите пожалуйста, как на фрибсд сделать перенаправление, чтоб соединяясь, допустим, через удаленный рабочий стол по внешнему айпи, я соединялся со вторым сервером, на котором стоит винда? Всем заранее большое спасибо!
|
Какой из реализаций NAT пользуетесь (я так понимаю, под "как через прокси" имелся в виду именно NAT)? pf, ipnat, ipfw+natd, kernel ipfw-nat? У них у всех есть механизмы перенаправления портов, соответственно RTFM.
А впрочем, можно перенаправлять универсальным и простым в настройке rinetd. |
|
Ну я полный чайник в фрибсд, знаю что NAT используется, но какой именно я не знаю, подскажите как это посмотреть, я посмотрю и отпишусь сразу.
|
|
что в /etc/rc.conf ?
|
Ребят, короче с rinetd разобрался, по локалке перенаправление работает, а вот из дома все равно не получилось зайти по внешнему айпишнику, выдает ошибку. Я писал в конфиге так: внешний_айпи_сервака_фрибсд 3389 внутренний_айпи_сервака_винды 3389. Может надо использовать не 3389 а другой порт? только какой? или айпишники как-то по другому надо прописать?
|
угу и твою ошибку все должны телепатировать....
|
тю, ну ошибка обычная "Невозможно связаться с удаленным компьютером, возможно он отключен или не поддерживает удаленное соединение", по-моему других ошибок удаленный рабочий стол и не выдает если не может сконнектиться
|
JaRule,
На Брандмауэре FreeBSD порт 3389 открыли ??? |
когда делаю коннект на своем рабочем компе, который находится в локальной сети с серваком фрибсд, все работает, набираю внешний айпи - он коннектится, а когда из дома набираю - выдает ошибку указанную выше. Я думаю, если б тот порт был закрыт у меня б и с рабочего компа не получался бы коннект...
|
из дома:
telnet $external_ip 3389 |
Цитата:
|
а как посмотреть настройки брэндмауэра? какой там конфигурационный файл? И, кстати на сам сервак фрибсд через putty я из дома спокойно захожу по внешнему айпи.
|
Покажите что у Вас rc.conf написано.
|
все, я сам посмотрел этот файл, нашел в нем ссылку на файл настроек файервола, туда зашел, там строки вида
add 49 allow ip from any to any via lo0 add 50 allow ip from any to any via lo0 from (какой-то айпишник) короче несоклько подобных строк, там с айпишник ана айпишник и т.д., в конце add 54 allow gre from any to any add 55 allow ip from any to any via gif0 в конце закомментированная строка # add 65000 allow all from any to any эту строку разкомментировал, файл сохранил, но все равно не помогло. Может надо перезапустить файервол? |
ipfw list покажите
|
в каком файле он находится? бо по поиску налшось очень много файлов с именем ipfw
|
Это команда.
|
00030 allow ip from 109.167.33.0/24 to any
00032 allow ip from any to 109.167.33.0/24 00038 allow ip from 77.222.138.182 to any 00039 allow ip from any to 77.222.138.182 00040 allow tcp from any to any dst-port 22 00041 allow tcp from any 22 to any 00042 allow ip from any to any via gif0 00043 allow esp from 194.125.249.166 to any 00044 allow esp from any to 194.125.249.166 00045 allow icmp from any to any 00046 allow tcp from any 80,21,20,443 to me 00047 allow tcp from me to any dst-port 80,21,20,443 00048 allow udp from me to any dst-port 53 00049 allow ip from any to any via lo0 00049 allow udp from any 53 to any 00050 allow ip from 89.162.155.154 to any 00050 allow ip from 89.162.155.154 to any 00051 allow ip from any to 89.162.155.154 00051 allow ip from any to 89.162.155.154 00052 allow ip from 194.125.249.166 to any 00052 allow esp from 89.162.155.154 to any 00053 allow ip from any to 194.125.249.166 00053 allow esp from any to 89.162.155.154 00054 allow gre from any to any 00055 allow ip from any to any via gif0 00080 allow ip from any to any via rl1 00100 allow ip from any to any via lo0 00200 deny ip from any to 127.0.0.0/8 00229 deny log logamount 200 ip from any to any 00300 deny ip from 127.0.0.0/8 to any 65535 deny ip from any to any |
Цитата:
|
а где находится и как называется файл в котором весь этот список? Че-то не могу найти, все файлы с именем ipfw - это скрипты, в файле firewall.conf есть тока то что я приводил выше, списка этого (ipfw list) там нет...
|
Цитата:
|
firewall_type="/etc/firewall.conf", а в файле /etc/firewall.conf есть только то, что я писал пару сообщений назад
это все что есть в файле /firewall.conf add 49 allow ip from any to any via lo0 add 50 allow ip from 89.162.155.154 to any add 51 allow ip from any to 89.162.155.154 add 52 allow ip from 194.125.249.166 to any add 53 allow ip from any to 194.125.249.166 add 54 allow gre from any to any add 55 allow ip from any to any via gif0 #add 65000 allow all from any to any |
Покажите вывод команды cat /etc/rc.conf | grep firewall
|
firewall_enable="YES"
firewall_type="/etc/firewall.conf" |
Цитата:
Цитата:
|
да! Я уже сто раз его открывал, даже через разные SSH-клиенты, но ничего другого там нет!
|
:D
ну как видите он не совсем соответствует выводу команды ipfw list. Возможно правила добавлялись из командной строки. а можете привести пример содержимого всего /etc/rc.conf ? |
defaultrouter="193.110.74.*"
gateway_enable="YES" ifconfig_rl0="193.110.74.* netmask 255.255.255.252" ifconfig_rl1="192.168.38.6 netmask 255.255.255.0" firewall_enable="YES" firewall_type="/etc/firewall.conf" hostname="don" keymap="ua.koi8-u" linux_enable="YES" moused_enable="YES" moused_flags="3" moused_port="/dev/psm0" moused_type="auto" sshd_enable="YES" ipsec_enable="YES" ipsec_file="/etc/ipsec.conf" racoon_enable="YES" |
JaRule,
А вы систему давно перезагружали?? Покажите вывод history | grep ipfw. Пропишите следующее правило файрвола: ipfw add 150 allow ip from any to 193.110.74.* dst-port 3389 где 193.110.74.* - ip адрес сетевой смотрящей в интернет. |
Цитата:
Цитата:
Цитата:
|
Цитата:
|
все, правило файервола я добавил, в списке ipfw list оно присутсвует. Надо теперь перезагружать сервак? Есть ли возможность сделать чтоб оно вошло в силу без перезагрузки?
|
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
вобщем, все сделал, но не работает(( может это правило добавить последним в списке?
|
для ipfw последним в списке идет правило "по умолчанию".
не работает что? порт не открылся или по РДП на сервер не коннектит? Если первое, то как проверяли? Если второе, то убедится что выполняется первое условие (порт открыт) и затем смотреть как настроен rinetd. Кстати, м.б. на 2003 сервере тоже фаервол настроен? |
Как проверить открыт ли порт? На 2003-м файрвол я вроде бы отключал... Через комп с локалки все работает, с внешки нет. Более того, с сервером фрибсд через SSH-клиент я так же спокойно соединяюсь с внешнки... А вот с внешки на 2003, не хочет и хоть убей, мне уже начинает казаться что это в принципе невозможно
|
Цитата:
http://nmap.org/download.html |
Цитата:
Цитата:
1 Выкладываете настройки rinetd и правил ipfw. 2. Пробросить порты с помощью ipf, добавив правила. Примерно они будут выглядеть так: Код:
nat 1 config log if $ext_if log same_ports redirect_port tcp ip_server_2003:3389 3389 |
JaRule,
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
|
JaRule,
Пропишите еще одно правило: ipfw add 160 allow ip from 193.110.74.* to any src-port 3389 где 193.110.74.* - ip внешней сетевой. |
УРА-УРА-УРА!!!! Получилось!!! Большое спасибо!!!!
|
Время: 09:28. |
Время: 09:28.
© OSzone.net 2001-