Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Подключение через RDP из интернета  (Прочитано 1351 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн delmy00

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Здравствуйте. Стоит XUBUNTU 12.04 на ней прозрачный Squid смотрит одной сетевой в локалку второй в Интерьнет IP белый. В локальной сети Windows server 2008R2 с поднятой службой терминалов. Из локалки к нему подключаются пользователи без проблем. Требуется сделать удаленное рабочее место, чтобы можно было подключиться к 2008R2 из интернета. В автозапуске стоял скрипт нагуглившись добавил в него проброс порта 3389:
#!/bin/sh
# squid server IP
SQUID_SERVER="192.168.2.250"
# Interface connected to Internet
INTERNET="eth2"
# IP Internet
IP_INTERNET="x.x.x.x"
# Interface connected to LAN
LAN_IN="eth1"
# Squid port
SQUID_PORT="3128"
#RDP port
RDP_PORT="3389"
#RDP Server
RDP_SERVER="192.168.2.2"

# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp

echo 1 > /proc/sys/net/ipv4/ip_forward

# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#Разрешеаем подключение через X11VNC
iptables -A INPUT -p tcp -m tcp --dport 5900 -j ACCEPT

# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT

# set this system as a router for Rest of LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT

#Разрешаем RDP подключение
iptables -t nat -A PREROUTING -p tcp -d  $IP_INTERNET --dport $RDP_PORT -j DNAT --to-destination $RDP_SERVER:$RDP_PORT
iptables -A FORWARD -i $INTERNET -o $LAN_IN -d $RDP_SERVER -p tcp --dport $RDP_PORT -j ACCEPT
iptables -t nat -A POSTROUTING -d $RDP_SERVER -p tcp -m tcp --dport $RDP_PORT -j SNAT --to-source $IP_INTERNET

# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT

# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT

# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP
В результате:
root@deimos:~# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:5900
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere           
LOG        all  --  anywhere             anywhere             LOG level warning
DROP       all  --  anywhere             anywhere           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     tcp  --  anywhere             aqua                 tcp dpt:3389

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     all  --  anywhere             anywhere       

root@deimos:~# iptables -S
-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5900 -j ACCEPT
-A INPUT -i eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -j LOG
-A INPUT -j DROP
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -d 192.168.2.2/32 -i eth2 -o eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
Но при попыке из интернета подключиться через RDP к своему IP выдает, что удаленный компьютер отключен. В чём ошибка?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Подключение через RDP из интернета
« Ответ #1 : 11 Марта 2015, 16:23:14 »
Зачем ЭТО?
Цитировать
iptables -t nat -A POSTROUTING -d $RDP_SERVER -p tcp -m tcp --dport $RDP_PORT -j SNAT --to-source $IP_INTERNET

Зачем всякую хрень показывать, когда есть iptables-save

Зачем
iptables -A INPUT -j DROP
когда есть
iptables -P INPUT DROP
А это что делает?
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT

Оффлайн delmy00

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Подключение через RDP из интернета
« Ответ #2 : 12 Марта 2015, 08:44:01 »
fisher74,
Досталось это хозяйство по наследству, а я пытаюсь править под вновь сложившиеся обстоятельства:). Удалил всё лишнее, на что Вы указали, и вот результат iptables-save:
root@deimos:~# iptables-save
# Generated by iptables-save v1.4.12 on Thu Mar 12 08:07:22 2015
*mangle
:PREROUTING ACCEPT [95267:76996502]
:INPUT ACCEPT [61845:64483076]
:FORWARD ACCEPT [33417:12513086]
:OUTPUT ACCEPT [63834:63356420]
:POSTROUTING ACCEPT [97252:75869584]
COMMIT
# Completed on Thu Mar 12 08:07:22 2015
# Generated by iptables-save v1.4.12 on Thu Mar 12 08:07:22 2015
*nat
:PREROUTING ACCEPT [4776:349648]
:INPUT ACCEPT [1316:85998]
:OUTPUT ACCEPT [1028:66355]
:POSTROUTING ACCEPT [55:5607]
-A PREROUTING -d 5.149.150.93/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.2.2:3389
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.250:3128
-A POSTROUTING -o eth2 -j MASQUERADE
-A POSTROUTING -d 192.168.2.2/32 -p tcp -m tcp --dport 3389 -j SNAT --to-source 5.149.150.93
COMMIT
# Completed on Thu Mar 12 08:07:22 2015
# Generated by iptables-save v1.4.12 on Thu Mar 12 08:07:22 2015
*filter
:INPUT DROP [1984:129505]
:FORWARD ACCEPT [18115:11186993]
:OUTPUT ACCEPT [25851:2600133]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5900 -j ACCEPT
-A INPUT -i eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -j LOG
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -d 192.168.2.2/32 -i eth2 -o eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
COMMIT
# Completed on Thu Mar 12 08:07:22 2015
При попытке подключиться через RDP из интернета результат прежний. :( На клиенте IP выдается DHCP провайдера. В RDP-клиенте я, насколько понимаю, указываю только 5.149.150.93?

Оффлайн delmy00

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Подключение через RDP из интернета
« Ответ #3 : 13 Марта 2015, 12:05:50 »
попытался изменить правила на:
(Нажмите, чтобы показать/скрыть)
На клиенте пытаюсь подключиться к 5.149.150.93:50000, результат прежний не подключается. Где я ошибся? подскажите пожалуйста.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Подключение через RDP из интернета
« Ответ #4 : 13 Марта 2015, 13:02:38 »
Цитировать
-A POSTROUTING -d 192.168.2.2/32 -p tcp -m tcp --dport 3389 -j SNAT --to-source 5.149.150.93
если уж так хочется, то
-A POSTROUTING -d 192.168.2.2/32 -p tcp -m tcp --dport 3389 -j SNAT --to-source 192.168.2.1
-A FORWARD -d 192.168.2.2/32 -i eth2 -o eth1 -p tcp -m tcp --dport 50000 -j ACCEPTникогда не сработает. Так как поcле PREROUTING dport будет другим. Лучше пока уберите вообще

Оффлайн delmy00

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Подключение через RDP из интернета
« Ответ #5 : 16 Марта 2015, 12:04:21 »
Ура за-ра-ботала-а-а-а!!! :D.
(Нажмите, чтобы показать/скрыть)
fisher74,
Огромное спасибище, Вы гений. С одного взгляда нашли ошибку, а я неделю бился ап стену.
Может пригодится кому-нибудь полный скрипт для прокси сервера squid, Web-сервера и возможности подключиться через RDP из интернета к компьютеру за прокси:
(Нажмите, чтобы показать/скрыть)
на счет избыточности может чего и лишнего есть в скрипте, но все работает :)
« Последнее редактирование: 16 Марта 2015, 12:42:54 от delmy00 »

Оффлайн loshko

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Подключение через RDP из интернета
« Ответ #6 : 17 Июля 2015, 20:48:12 »
Спасибо за совет!

 

Страница сгенерирована за 0.021 секунд. Запросов: 21.