Автор Тема: Разрешить RDP  (Прочитано 2944 раз)

Оффлайн Lennon

  • Участник
  • *
  • Сообщений: 5
Разрешить RDP
« : 19.10.2012 12:13:43 »
Всем здравствуйте!
Недавно начал освоение linux на сервере. Появилась задача:
Есть пользователь, в инет ходит через squid. Появилась необходимость этому юзеру ходить по rdp на удаленный хост.
Как можно сделать, чтоб он продолжил ходить через squid, но и rdp наружу у него был открыт?
Заранее спасибо.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 162
    • Домашняя страница
Re: Разрешить RDP
« Ответ #1 : 19.10.2012 16:19:25 »
А какая разница? Через squid он ходит по HTTP(S), а по RDP его пускает NAT.
Андрей Черепанов (cas@)

Оффлайн Lennon

  • Участник
  • *
  • Сообщений: 5
Re: Разрешить RDP
« Ответ #2 : 19.10.2012 18:26:20 »
Нужно знать и вести статистику куда пользователи ходят в нете. Если же пользователь через NAT ходит, то не испытывает ограничений squid'а. Не хорошо с прямым инетом народу сидеть)

Оффлайн NickM

  • Участник
  • *
  • Сообщений: 945
Re: Разрешить RDP
« Ответ #3 : 20.10.2012 01:40:11 »
если все через прокси, то может быть так?

acl Safe_ports port <port>
...
http_access allow Safe_ports

Оффлайн Lennon

  • Участник
  • *
  • Сообщений: 5
Re: Разрешить RDP
« Ответ #4 : 21.10.2012 18:48:00 »
если все через прокси, то может быть так?

acl Safe_ports port <port>
...
http_access allow Safe_ports
RDP ж не заработает через http.
Нужно пользователя со статичным ip в лс пропустить через nat, но только через один порт rdp, ограничив все остальное
« Последнее редактирование: 21.10.2012 18:54:15 от Lennon »

Оффлайн speccyfan

  • Участник
  • *
  • Сообщений: 522
  • CCNA
    • speccyfan (Примеры различных конфигураций сетевых сервисов)
Re: Разрешить RDP
« Ответ #5 : 22.10.2012 16:11:48 »
как-то так:
iptables -t nat -A POSTROUTING -s 192.168.1.9/32 -d 86.57.255.97/32 -o ppp2 -p tcp -m tcp --dport 3389 -j MASQUERADEтут:
192.168.1.9 - это ip компа в локалке
86.57.255.97 - ip удаленного компа в инете с поднятым RDP сервером
ppp2 - это внешний интерфейс вашего прокси-сервера (у вас может быть другой, eth1 и т.п)

само собой форвардинг должен быть включен. И на компе 192.168.1.9 должен быть роут на 86.57.255.97, через ваш прокси (можно default route).
With best regards, Yury Konovalov aka 2:453/53

Оффлайн Lennon

  • Участник
  • *
  • Сообщений: 5
Re: Разрешить RDP
« Ответ #6 : 24.10.2012 18:28:00 »
Если при выполнении команды:
iptables -t nat -A POSTROUTING -s 192.168.1.9/32 -d 86.57.255.97/32 -o ppp2 -p tcp -m tcp --dport 3389 -j MASQUERADEошибок не пишется, в iptables ничего не добавляется, что это может быть?
Команду выполняю из под рута

Оффлайн speccyfan

  • Участник
  • *
  • Сообщений: 522
  • CCNA
    • speccyfan (Примеры различных конфигураций сетевых сервисов)
Re: Разрешить RDP
« Ответ #7 : 26.10.2012 12:09:12 »
что говорит iptables-save ?
With best regards, Yury Konovalov aka 2:453/53

Оффлайн Lennon

  • Участник
  • *
  • Сообщений: 5
Re: Разрешить RDP
« Ответ #8 : 26.10.2012 17:13:58 »
делаю
iptables -t nat -A POSTROUTING -s 10.0.3.9/32 -d 83.146.90.67/32 -o ppp2 -p tcp -m tcp --dport 3389 -j MASQUERADEделаю iptables-save:
# Generated by iptables-save v1.4.5 on Fri Oct 26 18:12:30 2012
*mangle
:PREROUTING ACCEPT [468870103:251592606599]
:INPUT ACCEPT [201241139:111845288286]
:FORWARD ACCEPT [267582589:139741988693]
:OUTPUT ACCEPT [179472301:134088899189]
:POSTROUTING ACCEPT [445685692:273727054167]
COMMIT
# Completed on Fri Oct 26 18:12:30 2012
# Generated by iptables-save v1.4.5 on Fri Oct 26 18:12:30 2012
*nat
:PREROUTING ACCEPT [44915934:3234349573]
:POSTROUTING ACCEPT [919356:58744529]
:OUTPUT ACCEPT [3442933:193991912]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.1.5:22
...
-A PREROUTING -i eth0 -p tcp -m tcp --dport 83 -j DNAT --to-destination 10.0.3.214:83
-A POSTROUTING -o eth0 -j SNAT --to-source 73.115.210.80
-A POSTROUTING -s 10.0.3.9/32 -d 83.146.90.67/32 -o eth0 -p tcp -m tcp --dport 3389 -j MASQUERADE
COMMIT
# Completed on Fri Oct 26 18:12:30 2012
# Generated by iptables-save v1.4.5 on Fri Oct 26 18:12:30 2012
*filter
:INPUT DROP [14821:877161]
:FORWARD DROP [19751:1372997]
:OUTPUT ACCEPT [30765:16403529]
:direct_clients - [0:0]
:services - [0:0]
:tcp_bad_packet - [0:0]
-A INPUT -p tcp -j tcp_bad_packet
-A INPUT -p gre -j ACCEPT
-A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
-A INPUT -s 10.0.0.0/16 -i lo -j ACCEPT
-A INPUT -s 10.0.0.0/16 -i eth1 -j ACCEPT
-A INPUT -d 224.0.0.0/8 -i eth0 -j DROP
-A INPUT -d 255.255.255.255/32 -i eth0 -j DROP
-A INPUT -i eth0 -p tcp -m multiport --dports 135:139,8190:8194,10869,29029 -j DROP
-A INPUT -i eth0 -p udp -m multiport --dports 67,68,135:139,8190:8194,10869,29029 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j services
-A INPUT -i eth0 -j LOG --log-prefix "FW INPUT DROP: " --log-level 7
-A FORWARD -p tcp -j tcp_bad_packet
-A FORWARD -i tun0 -j ACCEPT
-A FORWARD -d 10.0.1.5/32 -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
...
-A FORWARD -d 10.0.3.214/32 -i eth0 -p tcp -m tcp --dport 83 -j ACCEPT
-A FORWARD -j direct_clients
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -j LOG --log-prefix "FW FORWARD DROP: " --log-level 7
-A direct_clients -s 10.0.3.19/32 -j ACCEPT
...
-A direct_clients -s 10.0.3.209/32 -j ACCEPT
-A services -i eth0 -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
...
-A services -i eth0 -p tcp -m tcp --dport 83 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A tcp_bad_packet -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate NEW -j REJECT --reject-with tcp-reset
-A tcp_bad_packet -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j LOG --log-prefix "FW NEW NOT SYN: "
-A tcp_bad_packet -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j DROP
COMMIT
запускаю rc.fw
после этого iptables становится как до
iptables -t nat -A POSTROUTING -s 10.0.3.9/32 -d 83.146.90.67/32 -o ppp2 -p tcp -m tcp --dport 3389 -j MASQUERADEтекст rc.fw
#!/bin/sh

### ------------------------------------

# LO
LO_IF="lo"
LO_IP="127.0.0.1"
# LAN
LAN_IF="eth1"
LAN_IP="10.0.1.1"
LAN_NET="10.0.0.0/16"
# VPN PPTP
PPP_IF="ppp+"
# OpenVPN
OVPN="tun0"
# Internet
INET_IF="eth0"
INET_IP="73.115.210.80"

FW="/sbin/iptables"
FW_DIRECT="fw.direct"
FW_SERVICES='fw.services'

# INIT
$FW -P INPUT DROP
$FW -P OUTPUT ACCEPT
$FW -P FORWARD DROP
# CLEAR
for i in filter nat mangle; do
    $FW -t $i -F
    $FW -t $i -X
done
$FW -N direct_clients
$FW -N services

# SPECIAL
$FW -N tcp_bad_packet
$FW -A tcp_bad_packet -p tcp --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate NEW -j REJECT --reject-with tcp-reset
$FW -A tcp_bad_packet -p tcp ! --syn -m conntrack --ctstate NEW -j LOG --log-prefix "FW NEW NOT SYN: "
$FW -A tcp_bad_packet -p tcp ! --syn -m conntrack --ctstate NEW -j DROP

# DIRECT CLIENTS
for i in `grep -v ^# $FW_DIRECT|grep \.`; do
    $FW -A direct_clients -s $i -j ACCEPT

что не так делаю, подскажите

Оффлайн speccyfan

  • Участник
  • *
  • Сообщений: 522
  • CCNA
    • speccyfan (Примеры различных конфигураций сетевых сервисов)
Re: Разрешить RDP
« Ответ #9 : 30.10.2012 11:36:14 »
настройки iptables сохраняются командой:
iptables-save > /etc/sysconfig/iptablesЕсли  вы ничего не правите через какой-нибудь альтератор, то все сохранится.
With best regards, Yury Konovalov aka 2:453/53