Форум программистов, компьютерный форум, киберфорум
Сети и средства коммуникаций
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/58: Рейтинг темы: голосов - 58, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 24.09.2009
Сообщений: 6
1

удаленный рабочий стол через инет и шлюз на freebsd

24.09.2009, 10:48. Показов 10775. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть сетка(Win XP), контроллер домена(win 2003), шлюз через который идет инет(freeBsd).
Так же есть один географически удаленный комп на Win Xp. и с этого компа надо получить доступ к рабочему столу компа из домена.
сразу скажу я во FreeBsd ни бум-бум, умею только в сквиде открыть доступ в инет и в /etc/rules открыть порты для всяких клиент-банков...

rules это как я понимаю фаервол, а для удаленного рабочего стола нужен порт форвардинг для 3389.
как его настроить? гуглил, на форуме искал...

radmin и др сторонний софт не рассмотриваю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2009, 10:48
Ответы с готовыми решениями:

Удалённый рабочий стол через инет...
Доброе время суток) Ребят,подскажите пожалуйста,как ПРАВИЛЬНО настроить подключение к удалённому...

Удалённый рабочий стол через VPN
Добрый день. Пишет чайник. Хочу настроить себе безопасную работу с удалённым рабочим столом через...

Удаленный рабочий стол через интернет
Доброго времени суток:) Такой вопрос. в офисе стоит 2 системных блока,на одном win 7,на другом...

Подключение к серверу через удаленный рабочий стол
Не могу понять почему не могу подключиться через удаленный рабочий стол если адрес 2-х серверов к...

11
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
25.09.2009, 09:59 2
Файла /etc/rules изначально нет в FreeBSD - это было добавлено.
В FreeBSD есть несколько разных firewall, настраиваются все по-разному.
Сначала нужно выяснить какой именно firewall используется, потом сделать проброс порта 3389.
radmin ничем не поможет - если правила firewall написаны правильно, то зайти снаружи не получится

Кстати есть другой вариант.
Пусть компьютер с WinXP называется C1, а внутренний комп называется C2.
C помощью putty делается туннель с C1 с локального адреса 127.0.0.2:3389 через ssh на сервере FreeBSD на С2 по его адресу и порту 3389.
После прокладки туннеля на компе C1 запускаем Remote Desktop и указываем адрес 127.0.0.2:3389.
И оказываемся на самом деле на компе C2.
Разумеется с компьютера C1 должен быть открыт доступ на SSH на FreeBSD.

Добавлено через 47 секунд
Посмотреть какой firewall можно в файле /etc/rc.conf (или rc.conf.local)
Все основные настройки делаются в этом файле.
0
0 / 0 / 0
Регистрация: 24.09.2009
Сообщений: 6
25.09.2009, 15:05  [ТС] 3
1. как сделать ssh туннель?
2. как сделать переброс портов?

в rc.conf соответственно указан /etc/rules...
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
25.09.2009, 15:29 4
в rc.conf соответственно указан /etc/rules...
Что там именно указано ?
Есть три разных firewall - они все разные.
Вообщем покажи /etc/rc.conf & /etc/rules
Если не страшно

1. как сделать ssh туннель?
На компьютере C1 не должен быть включен Remote Desktop как сервис !!!
putty -> new session -> Connection -> SSH -> Tunnels -> ...
Настройки можно сохранить и использовать только вызов putty.

2. как сделать переброс портов?
Это зависит от используемого firewall.
0
0 / 0 / 0
Регистрация: 24.09.2009
Сообщений: 6
28.09.2009, 10:11  [ТС] 5
rc.conf
Код
sshd_enable="YES"
usbd_enable="YES"
hostname="domain.ru"
saver="logo"
named_enable="YES"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="/etc/rules"
defaultrouter="<внешний ip фрюхи>"
#ifconfig_re0="DHCP"
ifconfig_re0="inet <внешний ip фрюхи> netmask 255.255.255.0"
ifconfig_re1="inet <внутренний ip фрюхи> netmask 255.255.255.0"
ifconfig_re1_alias0="inet 192.168.102.1 netmask 255.255.255.0"
natd_enable="YES"
natd_interface="re0"
squid_enable="YES"

rules:
Код
# localhost
add allow all from any to any via lo0

# icmp to me
add skipto 65050 icmp from any to any
add skipto 65050 icmp from any to me

# dns
add skipto 65050 tcp from 192.168.0.0/16 to me 53
add skipto 65050 udp from 192.168.0.0/16 to any 53
add skipto 65050 udp from any to 192.168.0.0/16 53

# ssh to me
add skipto 65050 all from 192.168.0.0/24 to me 22
add skipto 65050 all from <внешний ip дочерней орг.>/18 to me 22
add skipto 65050 all from <внешний ip дочерней орг.> to me 22
add skipto 65050 all from <внешний ip дочерней орг.>/23 to me 22

add skipto 65050 all from <внешний ip дочерней орг.> to me

# e-mail pop i smtp ports
add skipto 65050 all from any to any 110,2525

# дальне куча правил типа
add skipto 65050 tcp from 192.168.0.20 to <Внешнйи ip сервера клиент-банка> 1352


# www to me
#add skipto 65050 all from any to me 80,443

# squid
add skipto 65050 all from 192.168.0.0/24 to me 3128
#add skipto 65050 all from any to 192.168.0.35

# for 192.168.0.0/24
#add skipto 65050 all from 192.168.0.0/24 to me via sis0 in
#add skipto 65050 all from 192.168.0.0/24 to any
#add skipto 65050 all from any to 192.168.0.0/24

# for 192.168.1.0/24
#add skipto 65050 all from 192.168.1.0/24 to me via rl1 in
#add deny all from 192.168.1.0/24 to 192.168.0.0/24
#add skipto 65050 all from 192.168.1.0/24 to any
#add skipto 65050 all from any to 192.168.1.0/24

# i to any
add skipto 65050 all from me to any

# Upper ports
add skipto 65050 tcp from any to any 1024-65535 established
add skipto 65050 udp from any to any 1024-65535

add 65000 deny log all from any to any

# For all
add 65050 count all from any to any

add 65200 divert natd all from any to any via re0
add 65250 pass all from any to any
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
28.09.2009, 10:54 6
hostname="domain.ru"
тут должен быть именно hostname, а не домен.
Должно быть что-то типа compname.domain.ru
firewall_enable="YES"
firewall_type="/etc/rules"
Это ipfw, правила подгружаются из файла /etc/rules

Добавлено через 7 минут
Редирект портов делается через демон natd: man natd
Конфиг у него - /etc/natd.conf

add 65200 divert natd all from any to any via re0
Вот это правило заворачивает пакеты на обработку демону natd.
Правила сделаны коряво.
Вообще заворот пакетов на natd - это обычно первое правило в списке !

И кстати - какая версия FreeBSD ?

Добавлено через 4 минуты
Если никаких доп. настроек для natd не делалось, то файл /etc/natd.conf может отсутствовать.
Его нужно создать и написать туда правило для проброса:

#/etc/natd.conf:
log
deny_incoming
verbose

redirect_port tcp 192.168.102.100:3389 3389
0
0 / 0 / 0
Регистрация: 24.09.2009
Сообщений: 6
28.09.2009, 14:46  [ТС] 7
файла natd.conf действительно не было, я его созлал, написал, что выше было предложено(с нужным айпишником естественно), но ничего не заработало."клиенту не удалось подключиться к удаленному компьютеру"

версия FreeBSD 6.3

если строчку "add 65200 divert natd all from any to any via re0" поставить в начало может помоч? правила для клиент-банков тогда в нем не надо будет прописывать?
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
28.09.2009, 18:35 8
1) Нужно разрешить в правилах /etc/rules на этот порт заход с удаленного компа !
Правила перезагрузить.

2) Мало написать в natd.conf - нужно будет еще natd перезапустить.

3) Больше ничего не трогай если работает !
А то сломается, а ты и не знаешь как починить

4) Смотреть траффик можно с помощью tcpdump

tcpdump -i "внешний_интерфейс" -p -n -s128 'host ip-клиента and port 3389'

В смысле ты хоть увидишь идет вообще траффик или нет

Добавлено через 3 минуты
Куда-нибудь в конец, но выше правила 65050 вставить:
Код
add skipto 65050 tcp from <ip_клиента> to <внешний_ip_freebsd> 3389 via re0 in
0
0 / 0 / 0
Регистрация: 24.09.2009
Сообщений: 6
29.09.2009, 11:36  [ТС] 9
пункт 2 я решаю радикально ребутом фрюхи)

когда я поставил правило ...divert natd... в самое начало, то инет у всех отрубился и ssh перестал работать. ну понятно, что это потому что все перенаправлялось на natd, а он не пропускал. так это получается все эти правила надо дублировать в natd?

потом я поставил это правило в конце но перед правилом для клиентского ip... инет появился но rdp всеровно не работает, и tcpdump ничего не показывает.(tcpdump -i "re0" -p -n -s128 'host 192.168.0.24 and port 3389')

еще я попробывал решить другую свою проблему для которой нужен порт форвардинг - это торренты. повторил все тоже самое но для своего ip и порта торрент-клиента, и тоже ничего не заработало.

Привожу свои текущие конфиги
rules
Код
# localhost
add allow all from any to any via lo0

# icmp to me
add skipto 65050 icmp from any to any
add skipto 65050 icmp from any to me

# dns
add skipto 65050 tcp from 192.168.0.0/16 to me 53
add skipto 65050 udp from 192.168.0.0/16 to any 53
add skipto 65050 udp from any to 192.168.0.0/16 53

# ssh to me
add skipto 65050 all from 192.168.0.0/24 to me 22
add skipto 65050 all from 89.253.192.0/18 to me 22
add skipto 65050 all from 62.118.60.226 to me 22
add skipto 65050 all from 84.252.138.0/23 to me 22

add skipto 65050 all from 62.205.165.113 to me

# e-mail pop i smtp ports
add skipto 65050 all from any to any 110,2525


# Дальше правила клиент-банков и др софта:
add skipto 65050 tcp from 192.168.0.9 to <ip сервера клиент-банка> 3345,5690,4477,4455
#.......................


# www to me
#add skipto 65050 all from any to me 80,443

# squid
add skipto 65050 all from 192.168.0.0/24 to me 3128
#add skipto 65050 all from any to 192.168.0.35

# for 192.168.0.0/24
#add skipto 65050 all from 192.168.0.0/24 to me via sis0 in
#add skipto 65050 all from 192.168.0.0/24 to any
#add skipto 65050 all from any to 192.168.0.0/24

# for 192.168.1.0/24
#add skipto 65050 all from 192.168.1.0/24 to me via rl1 in
#add deny all from 192.168.1.0/24 to 192.168.0.0/24
#add skipto 65050 all from 192.168.1.0/24 to any
#add skipto 65050 all from any to 192.168.1.0/24


# i to any
add skipto 65050 all from me to any

# Upper ports
add skipto 65050 tcp from any to any 1024-65535 established
add skipto 65050 udp from any to any 1024-65535

add 65000 deny log all from any to any

# For all
add 65050 count all from any to any


add 65200 divert natd all from any to any via re0

########################## TEST ##########################
# torrent
add skipto 65050 all from 192.168.0.134 51920 to <внешний ip фрюхи> via re0 in
add skipto 65050 all from any to 192.168.0.134 51920

#rdp na 192.168.0.24
add skipto 65050 tcp from 192.168.0.24 to <внешний ip фрюхи> 3389 via re0 in
add skipto 65050 tcp from any to 192.168.0.24 3389

##########################################################


add 65250 pass all from any to any
natd.conf
Код
log
deny_incoming
verbose

redirect_port tcp 192.168.0.24:3389 3389	#rdp
redirect_port tcp 192.168.0.134:51920 51920	#torrent
squid.conf
Код
cache_mem 256 MB

maximum_object_size_in_memory 16 KB

cache_dir ufs /usr/local/squid/cache 10240 32 512

cache_access_log /usr/local/squid/logs/access.log

cache_log /usr/local/squid/logs/cache.log

cache_store_log /usr/local/squid/logs/store.log

# emulate_httpd_log off

# mime_table /usr/local/etc/squid/mime.conf

pid_filename /usr/local/squid/logs/squid.pid

# debug_options ALL,1

ftp_user postmaster@<домен главного офиса>
#ftp_list_width 32
#ftp_passive on
# ftp_sanitycheck on
# ftp_telnet_protocol on

# check_hostnames on

# cache_dns_program /usr/local/libexec/squid/dnsserver
# dns_children 5
# dns_retransmit_interval 5 seconds
# dns_timeout 2 minutes

# diskd_program /usr/local/libexec/squid/diskd-daemon
# unlinkd_program /usr/local/libexec/squid/unlinkd

# pinger_program /usr/local/libexec/squid/pinger

# request_header_max_size 20 KB

#Suggested default:
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320


# quick_abort_min 16 KB
# quick_abort_max 16 KB
# quick_abort_pct 95


#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 2000 8443 4643 10000 20000
acl Safe_ports port 80                  # http
acl Safe_ports port 81                  # http
acl Safe_ports port 8080                # http
acl Safe_ports port 8081                # http
acl Safe_ports port 8001                # http
acl Safe_ports port 8002                # http
acl Safe_ports port 8008                # http
acl Safe_ports port 8888                # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

acl iam src 192.168.0.4

#acl net0 src 192.168.0.0/24
#acl net1 src 192.168.1.0/24

# follow_x_forwarded_for deny all
# acl_uses_indirect_client on
# delay_pool_uses_indirect_client on
# log_uses_indirect_client on



############################
#Pravila
############################
#FreeBSD
acl internet_access src 192.168.0.4

#Дальше куча аналогичных правил для клиентских компов

#######################################################################

#Recommended minimum configuration:
# Only allow cachemgr access from localhost
#http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports

http_access allow iam
http_access allow internet_access

http_access deny all

http_reply_access allow all
icp_access deny all
# htcp_access deny all
# htcp_clr_access deny all

# reply_header_max_size 20 KB

# reply_body_max_size 0 allow all

cache_mgr root@localhost

# cache_effective_user squid

# httpd_suppress_version_string off

visible_hostname sm3bsd.sm3.<домен главного офиса>

#       type 'squid -k rotate'.  The default is 10, which will rotate
logfile_rotate 2

append_domain .<домен главного офиса>

# memory_pools on
# memory_pools_limit 5 MB

# forwarded_for on

# icon_directory /usr/local/etc/squid/icons

error_directory /usr/local/etc/squid/errors/Russian-1251

#snmp_port 3401
#snmp_port 0

# snmp_access deny all

# snmp_incoming_address 0.0.0.0
# snmp_outgoing_address 255.255.255.255

coredump_dir /usr/local/squid/cache

# redirector_bypass off
и еще вопрос, в natd параметр verbose означает, что демона надо в ручную запускать?
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
29.09.2009, 14:11 10
то инет у всех отрубился и ssh перестал работать
Пункт 3 не прочитал видимо

tcpdump -i "re0" -p -n -s128 'host 192.168.0.24 and port 3389'
192.168.0.24 - это внешний IP клиента снаружи ?
tcpdump не будет ничего показывать, пока не пойдет траффик.
То есть ты должен либо сидеть за этим компом WinXP снаружи и пробовать RDP,
либо кто-то там должен пробовать, а ты должен смотреть на роутере что происходит.

в natd параметр verbose означает
man natd

Если ты хочешь смотреть траффик до 192.168.0.24:3389 на внутреннем интерфейсе,
то тебе в tcpdump нужно указать внутренний интерфейс, а не re0 !

Добавлено через 11 минут
Код
########################## TEST ##########################

#rdp na 192.168.0.24
add skipto 65050 tcp from 192.168.0.24 to <внешний ip фрюхи> 3389 via re0 in
add skipto 65050 tcp from any to 192.168.0.24 3389
Неправильно написал.
ip-клиента - это внешний IP-адрес клиента !!!

Вообще правила у тебя очень криво сделаны, может для отладки сразу максимально широкий вариант сделать:
Код
add pass tcp from внешний_ip_клиента 3389 to any
add pass tcp from 192.168.0.24 3389 to any
А потом уже найти минимально необходимый вариант.

Добавлено через 54 секунды
А лучше изучить pf и переписать все на pf.
pf умеет запоминать статы, с ними все намного проще и главное - безопаснее.
0
0 / 0 / 0
Регистрация: 24.09.2009
Сообщений: 6
29.09.2009, 14:36  [ТС] 11
я запутался с ip'шниками) внешний_ip_клиента это какой? c1 или с2? который удаленный комп? так его ip неизвестен... в том смысле что динамический. у него йотовский инет.

192.168.0.24 - это внутренний комп, на который идет подключение.
у удаленного компа, как я сказал ип динамический
и сейчас я пробую подключиться с другого внутреннего компа, через внешний ip фрюхи. этоже вроде всеровно, запрос выходит же поидее наружу к серваку провайдера, а оттуда обратно и уже стучится через фрюху.. так или я сильно ошибаюсь?
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
29.09.2009, 20:59 12
внешний_ip_клиента это какой?
Этот тот IP с которого идет запрос на твой роутер СНАРУЖИ.
То есть это C1, но он само может сидеть за NAT-ом.
Так вот - это его реальный IP.
у него йотовский инет
Йодовский ? Мастер Йода дает ему Internet ?
как я сказал ип динамический
Как правило все динамические IP сводятся к фиксированному IP NAT-сервера.
Выяснить легко - нужно зайти с этого компа сервер типа www.my-ip.com
Или просто зайти с этого компа по SSH на FreeBSD и посмотреть какой IP-ник напишет роутер.
и сейчас я пробую подключиться с другого внутреннего компа, через внешний ip фрюхи. этоже вроде всеровно, запрос выходит же поидее наружу к серваку провайдера, а оттуда обратно и уже стучится через фрюху.. так или я сильно ошибаюсь?
Просто офигенно ошибаешься.
Надо бы подучить матчасть
Просто как только твой запрос попадает в FreeBSD, то она тут же распознает что IP-ник назначения - это собственно IP роутера и есть и тут же забирает эти пакеты к себе. Никуда они не уходят наружу.
Изнутри нормально не проверить
0
29.09.2009, 20:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2009, 20:59
Помогаю со студенческими работами здесь

Медленная печать через удалённый рабочий стол
Пользователи работают с программой 1С через удалённый рабочий стол. Суть в том, что когда...

Подключение к 1с на сервере через удаленный рабочий стол
Доброго времени суток. Пожалуйста, ответьте на вопрос. При попытке создать подключение к удаленному...

Удалённый рабочий стол через прокси сервер
Бухгалтерские машины не могут подключиться через удаленный рабочий стол на сервер в др. городе -...

Hp 1132 и печать через удаленный рабочий стол
добрый день. имеется два компьютера с windows 7 x64, один подключается ко второму по rdp. также...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru