Страница 1 из 3

rdp через freebsd на win

Добавлено: 2009-01-20 10:30:01
c4sin
Привет всем. Вот потребовалось подключиться домашнего компа к рабочим серверам. в качестве шлюза используется Freebsd7, нужно подключиться к windows 2003 который стоит за шлюзам. Но как это сделать не знаю, можете подсказать либо скинуть статейки какме почитать по этому поводу

Re: rdp через freebsd на win

Добавлено: 2009-01-20 10:54:36
Larin
c4sin писал(а):Привет всем. Вот потребовалось подключиться домашнего компа к рабочим серверам. в качестве шлюза используется Freebsd7, нужно подключиться к windows 2003 который стоит за шлюзам. Но как это сделать не знаю, можете подсказать либо скинуть статейки какме почитать по этому поводу
у тя там natd?
если да, то в /etc/rc.conf
natd_flags="-redirect_port tcp ip_win_srv:3389 3389"

Re: rdp через freebsd на win

Добавлено: 2009-01-20 11:29:51
c4sin
natd нету, стоит pf

Re: rdp через freebsd на win

Добавлено: 2009-01-20 11:40:30
Larin
c4sin писал(а):natd нету, стоит pf
скинь правила pf сюда.
вот тут можно почитать
http://house.hcn-strela.ru/BSDCert/BSDA ... nf-forward

Re: rdp через freebsd на win

Добавлено: 2009-01-20 11:46:12
c4sin

Код: Выделить всё

#Opisivaem tabl IP kotorim otkryt dostup http
table <http_hosts> const { 192.168.0.134, 192.168.0.1 }
#Opisivaem tabl IP kotorim otkryt dostup ftp
#table <ftp_hosts> const { 192.168.0.29 }
#Opisivaem tabl IP kotorim otryt dostup k statistike
table <stat_user> const { 192.168.0.134, 192.168.0.76 }
#Opisivaem gruppi portov
both = "{ tcp, udp }"                                   #Dlya pravil s dvoinimi
www_services = "{ http, https }"                        #Porti dlya Web
ftp_ports = "{ ftp-data, ftp, ftps-data, ftps, auth }"  #Porti dlya ftp
mail_ports = "{ pop3, pop3s, smtp, imap, imaps }"       #Porti dlya pochti
squid_ports = "{ 80, 81, 82, 83, 88, 8000, 8001, 8002, 8080, 8081 }"    #Chto pu

#Opisivaem interface
ext_if="bce0"                                           #Vneshniy interface
ext_ip="xxxxxxxxxx"                                   #Vneshniy IP
int_if="bce1"                                          #Vnutrenniy interface
int_ip="192.168.0.201"                                    #Vnutrenniy IP
lan_net="192.168.0.0/24"                                #Vnutrennyaya lokalka

#Opcii PF
set block-policy drop                                   #Otbrasivat levie paketi
set skip on lo0                                         #Ne filtrovat localhost (127.0.0.1)

# NAT
nat on $ext_if from $lan_net to any -> ($ext_if)
rdr on $int_if proto tcp from any to !$int_if:network port $squid_ports -> 127.0.0.1 port 3128

#Redirectim HTTP zaprosi na squid

#

########
# Rules start ####################################################################
###############
#pass all                                               #Razreshaem vse. Zakommentirovat pocle nastroyiki
block in all                                            #Raskommentirovat posle nastroiki dostupov iz lokalki
#block in quick on $int_if proto tcp from $int_if:network to any port 25 no state
#pass in quick on $ext_if proto tcp from any to any port 22 keep state

#Razreshaem ishod s ext_if
pass out on $ext_if from $ext_ip to any keep state
#
##############################################
# Pravila dostupa iz lokalki k etomu serveru ####################################
##############################################
pass in on $int_if inet proto tcp from <stat_user> to $int_ip port 80 keep state
#Razreshaem DNS zaprosi k etomu serveru
pass in on $int_if inet proto $both from $int_if:network to $int_ip port 53 keep state
#Razreshaem SSH dostup iz lokalki
pass on $int_if inet proto tcp from any to any port 22 keep state
#
##########################################
##########################################
# Pravila dlya dostupa iz lokalki v inet ########################################
##########################################
#Blokiruem http na vse IP
#block inet proto tcp from $int_if:network to any port $www_services
#Razreshaem http dlya IP opisannyh v tablice
pass in on $int_if inet proto tcp from <http_hosts> to any port $www_services keep state
#Razreshaem ICQ
pass in on $int_if inet proto tcp from $int_if:network to any port 5190 keep state
#Razreshaem pochtu
pass in on $int_if inet proto $both from $int_if:network to any port $mail_ports keep state
#Razreshaem Bank_klient
#pass in on $int_if inet proto tcp from <http_hosts> to (IPaddr i port banka) keep state
#Rubim icmp (ping) na naruzhnom interface
block in on $ext_if proto icmp from any to $ext_ip
#
#######################################
# Razreshaem ICMP (ping) i traceroute ###########################################
#######################################
#Razreshaem ICMP
pass proto icmp from any to any
#Otkrivaem porti dlya traceroute(8): "base+nhops*nqueries-1" (33434+64*3-1)
pass out inet proto udp from any to any port 33433 >< 33626 keep state
#
################
# End of rules ##################################################################
################



Re: rdp через freebsd на win

Добавлено: 2009-01-20 11:58:31
suspender
Ещё можно прокинуть порт с помощью ssh (тут есть где то статья)
Или замутить VPN (тут пресс статей на эту тему, самое простое, имхо - PoPToP).

Re: rdp через freebsd на win

Добавлено: 2009-01-20 12:00:43
c4sin
да я читал на счет vpn, а без vpn никак не перебросить?

Re: rdp через freebsd на win

Добавлено: 2009-01-20 12:01:30
manefesto
rinetd посмотри в портах

Re: rdp через freebsd на win

Добавлено: 2009-01-20 13:01:56
c4sin
поставил rinetd
создал конфиг

Код: Выделить всё

внешний_ип 3389 внутрений_ип 3389
запустил

эффекта ноль, не коннектиться удаленный рабочий стол

Re: rdp через freebsd на win

Добавлено: 2009-01-20 13:21:08
c4sin
пробывал сменить порты
вообщем когда пытаюс подключиться на нужный порт он долго висит после по тайм ауту отрубается

Re: rdp через freebsd на win

Добавлено: 2009-01-20 13:36:04
InventoR
а tcpdump что при этом говорит?

Re: rdp через freebsd на win

Добавлено: 2009-01-20 13:52:09
c4sin
не могу уследить что там в tcpdump
там строчек 100 в секунду идут

Re: rdp через freebsd на win

Добавлено: 2009-01-20 14:29:14
paradox
port 3389 укажите в опциях tcpdump а

Re: rdp через freebsd на win

Добавлено: 2009-01-20 14:40:00
c4sin
хотел щас запустить rinetd и вот что дал выдавать

Код: Выделить всё

rinetd: couldn't bind to address внешний_ип port 3389

Re: rdp через freebsd на win

Добавлено: 2009-01-20 14:43:41
paradox

Код: Выделить всё

sockstat -4

Re: rdp через freebsd на win

Добавлено: 2009-01-20 15:17:16
c4sin
вообщем настроил через радмин, все норм пашет а вот через удаленный рабочий стол не хочет
tcpdump port 3389 ничего не показывает

Re: rdp через freebsd на win

Добавлено: 2009-01-20 15:59:26
manefesto
тут два варианта...либо сам раскуриваешь...либо тебе отвечают и ты делаешь...

Re: rdp через freebsd на win

Добавлено: 2009-01-20 16:16:48
c4sin
говорите что делать, попробуем

Re: rdp через freebsd на win

Добавлено: 2009-01-20 16:22:36
InventoR
застрелиться

Re: rdp через freebsd на win

Добавлено: 2009-01-20 16:31:44
c4sin
гыыыыыыыыыыыы

я об этом тоже подумал

ладно куда глянуть, какие логи выложить, почему mstsc висит и отрубается по тайм-ауту, а радмин нормально редиректит

Re: rdp через freebsd на win

Добавлено: 2009-01-20 19:11:18
InventoR
p.s. у меня natd, не парюсь, подключаюсь к любому компу на который настроен редирект порта.
значит все что надо это только пробросить порт.
почему у тебя не работает? посмотри внимательней.

Re: rdp через freebsd на win

Добавлено: 2009-01-21 21:33:07
maradona
тоже использую PF для проброса вот абсолютно рабочее правило только порты поменять:

Код: Выделить всё

rdr pass on $ext_if inet proto {tcp, udp} from any to ($ext_if) port 5000 -> 192.168.1.179
еще 2 обязательных условия:
1 - должен быть НАт наружу с локалки в которую делается проброс
2 - у машин к которым делается проьрош дефалт гетевей должен быть шлюз через который делается проброс.

Re: rdp через freebsd на win

Добавлено: 2009-01-22 12:22:50
princeps
А у тебя удаленный рабочий стол разрешен на виндовом серваке? Из локалки можно подцепиться к нему?

Re: rdp через freebsd на win

Добавлено: 2009-01-22 13:30:35
Camryt
Windows часть:
1. Разрешить удаленное подключение к серверу.
2. Назначить пользователей которым это возможно (админы могут по умолчанию).

FreeBSD + PF часть:

1. Редирект + НАТ
...

$ext_if -- внешний инрефейс (у меня эта строка имеет вид : $ext_if = dc0 )
$adm_port_ext -- номер порта для подключения извне к машине с FreeBSD ( например 9988 )
$admsrv -- IP адрес Windows Server внутри локальной сети
$adm_port -- порт удаленного администрирования Windows Server = 3389
...

rdr on $ext_if proto tcp from any to $ext_if port $adm_port_ext tag EXTADM -> $admsrv port $adm_port
nat on $ext_if inet proto tcp from any to $int_net tagged EXTADM -> ($ext_if)

2. Разрешаем прохождение пакетов

pass in on $ext_if inet proto tcp from any to $admsrv port $adm_port flags S/SA keep state

Re: rdp через freebsd на win

Добавлено: 2009-02-26 22:59:07
dushkosoft
Larin писал(а):
c4sin писал(а):Привет всем. Вот потребовалось подключиться домашнего компа к рабочим серверам. в качестве шлюза используется Freebsd7, нужно подключиться к windows 2003 который стоит за шлюзам. Но как это сделать не знаю, можете подсказать либо скинуть статейки какме почитать по этому поводу
у тя там natd?
если да, то в /etc/rc.conf
natd_flags="-redirect_port tcp ip_win_srv:3389 3389"
этого будет достаточно? попробовал не заработало

пс: на видовой машине все выставлено!