Решено: проброс RDP через шлюз

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

lejak
Сообщения: 119

Решено: проброс RDP через шлюз

Сообщение lejak »

прошустрил форум по тегу "проброс rdp", попробовал все правила айпитейблс, ничего не работает.

есть сервер mandriva server 5.1

eth0 82.199.113.x
br0 192.168.0.1

есть сервер windows 2008 на виртуальнке
192.168.0.4

находясь в локалке рдп работает, находясь вне сети не могу, соотвественно надо делать проброс

делаю эти правила
(находясь в локалке)
в рдп вбиваю 82.199.113.x
коннект есть, а вот находясь вне сети получаю шиш с маслом

Код:

iptables -t nat -I PREROUTING --dst 82.199.113.x -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.4:3389 iptables -t nat -I POSTROUTING -p tcp --dst 192.168.0.4 --dport 3389 -j SNAT --to-source 82.199.113.x iptables -I FORWARD -i br0 --dst 192.168.0.4 -j ACCEPT


пожалуйста помогите :(

вот весь айпитеблс

Код:

# Generated by iptables-save v1.4.2 on Wed Apr 6 13:52:44 2011 *raw :PREROUTING ACCEPT [1932159:939611713] :OUTPUT ACCEPT [538786:359128902] COMMIT # Completed on Wed Apr 6 13:52:44 2011 # Generated by iptables-save v1.4.2 on Wed Apr 6 13:52:44 2011 *nat :eth0_masq - [0:0] :PREROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :loc_dnat - [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -i vnet1 -j loc_dnat -A PREROUTING -i ppp+ -j loc_dnat -A PREROUTING -i br0 -j loc_dnat -A PREROUTING -i eth1 -j loc_dnat -A PREROUTING -i gre0 -j loc_dnat -A PREROUTING -i vnet0 -j loc_dnat -A POSTROUTING -o eth0 -j eth0_masq -A POSTROUTING -s 192.168.0.0/24 -o br0 -j MASQUERADE -A OUTPUT -p tcp -m tcp -m owner --dport 80 --uid-owner squid -j RETURN -A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 -A eth0_masq -s 192.168.0.0/24 -j MASQUERADE -A eth0_masq -s 192.168.0.0/24 -j MASQUERADE -A loc_dnat -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 COMMIT # Completed on Wed Apr 6 13:52:44 2011 # Generated by iptables-save v1.4.2 on Wed Apr 6 13:52:44 2011 *mangle :PREROUTING ACCEPT [1932159:939611713] :INPUT ACCEPT [468376:285537408] :FORWARD ACCEPT [1467381:654510423] :OUTPUT ACCEPT [538786:359128902] :POSTROUTING ACCEPT [2006227:1013653305] :tcfor - [0:0] :tcout - [0:0] :tcpost - [0:0] :tcpre - [0:0] -A PREROUTING -j tcpre -A FORWARD -j tcfor -A OUTPUT -j tcout -A POSTROUTING -j tcpost COMMIT # Completed on Wed Apr 6 13:52:44 2011 # Generated by iptables-save v1.4.2 on Wed Apr 6 13:52:44 2011 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] :Drop - [0:0] :Ifw - [0:0] :Reject - [0:0] :all2fw - [0:0] :all2loc - [0:0] :all2net - [0:0] :all2vpn - [0:0] :br0_fwd - [0:0] :br0_in - [0:0] :br0_out - [0:0] :dropBcast - [0:0] :dropInvalid - [0:0] :dropNotSyn - [0:0] :dynamic - [0:0] :eth0_fwd - [0:0] :eth0_in - [0:0] :eth0_out - [0:0] :eth1_fwd - [0:0] :eth1_in - [0:0] :eth1_out - [0:0] :fw2all - [0:0] :fw2fw - [0:0] :fw2loc - [0:0] :fw2net - [0:0] :fw2vpn - [0:0] :gre0_fwd - [0:0] :gre0_in - [0:0] :gre0_out - [0:0] :loc2all - [0:0] :loc2fw - [0:0] :loc2net - [0:0] :loc2vpn - [0:0] :logdrop - [0:0] :logreject - [0:0] :net2fw - [0:0] :net2loc - [0:0] :net2vpn - [0:0] :ppp+_fwd - [0:0] :ppp+_in - [0:0] :ppp+_out - [0:0] :reject - [0:0] :shorewall - [0:0] :smurfs - [0:0] :vnet0_fwd - [0:0] :vnet0_in - [0:0] :vnet0_out - [0:0] :vnet1_fwd - [0:0] :vnet1_in - [0:0] :vnet1_out - [0:0] :vpn2all - [0:0] :vpn2fw - [0:0] :vpn2loc - [0:0] :vpn2net - [0:0] -A INPUT -j Ifw -A INPUT -i eth0 -j eth0_in -A INPUT -i vnet1 -j vnet1_in -A INPUT -i vnet0 -j vnet0_in -A INPUT -i gre0 -j gre0_in -A INPUT -i eth1 -j eth1_in -A INPUT -i br0 -j br0_in -A INPUT -i ppp+ -j ppp+_in -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -j Reject -A INPUT -j LOG --log-prefix "Shorewall:INPUT:REJECT:" --log-level 6 -A INPUT -j reject -A INPUT -i eth0 -p tcp -m tcp --dport 1723 -j ACCEPT -A INPUT -i eth0 -p gre -j ACCEPT -A FORWARD -d 192.168.0.4/32 -i eth1 -j ACCEPT -A FORWARD -i eth0 -j eth0_fwd -A FORWARD -i vnet1 -j vnet1_fwd -A FORWARD -i vnet0 -j vnet0_fwd -A FORWARD -i gre0 -j gre0_fwd -A FORWARD -i eth1 -j eth1_fwd -A FORWARD -i br0 -j br0_fwd -A FORWARD -i ppp+ -j ppp+_fwd -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -j Reject -A FORWARD -j LOG --log-prefix "Shorewall:FORWARD:REJECT:" --log-level 6 -A FORWARD -j reject -A FORWARD -i ppp+ -j ACCEPT -A OUTPUT -o eth0 -j eth0_out -A OUTPUT -o vnet1 -j vnet1_out -A OUTPUT -o vnet0 -j vnet0_out -A OUTPUT -o gre0 -j gre0_out -A OUTPUT -o eth1 -j eth1_out -A OUTPUT -o br0 -j br0_out -A OUTPUT -o ppp+ -j ppp+_out -A OUTPUT -o lo -j fw2fw -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -j Reject -A OUTPUT -j LOG --log-prefix "Shorewall:OUTPUT:REJECT:" --log-level 6 -A OUTPUT -j reject -A OUTPUT -s 82.199.113.2/32 -o eth0 -p tcp -m tcp --sport 1723 -j ACCEPT -A OUTPUT -s 82.199.113.2/32 -o eth0 -p gre -j ACCEPT -A Drop -p tcp -m tcp --dport 113 -j reject -A Drop -j dropBcast -A Drop -p icmp -m icmp --icmp-type 3/4 -j ACCEPT -A Drop -p icmp -m icmp --icmp-type 11 -j ACCEPT -A Drop -j dropInvalid -A Drop -p udp -m multiport --dports 135,445 -j DROP -A Drop -p udp -m udp --dport 137:139 -j DROP -A Drop -p udp -m udp --sport 137 --dport 1024:65535 -j DROP -A Drop -p tcp -m multiport --dports 135,139,445 -j DROP -A Drop -p udp -m udp --dport 1900 -j DROP -A Drop -p tcp -j dropNotSyn -A Drop -p udp -m udp --sport 53 -j DROP -A Ifw -m set --set ifw_wl src -j RETURN -A Ifw -m set --set ifw_bl src -j DROP -A Ifw -m state --state INVALID,NEW -m psd --psd-weight-threshold 10 --psd-delay-threshold 10000 --psd-lo-ports-weight 2 --psd-hi-ports-weight 1 -j IFWLOG --log-prefix "SCAN" -A Ifw -p udp -m state --state NEW -m udp --dport 53 -j IFWLOG --log-prefix "NEW" -A Ifw -p tcp -m state --state NEW -m tcp --dport 53 -j IFWLOG --log-prefix "NEW" -A Ifw -p tcp -m state --state NEW -m tcp --dport 22 -j IFWLOG --log-prefix "NEW" -A Ifw -p tcp -m state --state NEW -m tcp --dport 25 -j IFWLOG --log-prefix "NEW" -A Ifw -p tcp -m state --state NEW -m tcp --dport 109 -j IFWLOG --log-prefix "NEW" -A Ifw -p tcp -m state --state NEW -m tcp --dport 110 -j IFWLOG --log-prefix "NEW" -A Ifw -p tcp -m state --state NEW -m tcp --dport 143 -j IFWLOG --log-prefix "NEW" -A Ifw -p tcp -m state --state NEW -m tcp --dport 10000 -j IFWLOG --log-prefix "NEW" -A Reject -p tcp -m tcp --dport 113 -j reject -A Reject -j dropBcast -A Reject -p icmp -m icmp --icmp-type 3/4 -j ACCEPT -A Reject -p icmp -m icmp --icmp-type 11 -j ACCEPT -A Reject -j dropInvalid -A Reject -p udp -m multiport --dports 135,445 -j reject -A Reject -p udp -m udp --dport 137:139 -j reject -A Reject -p udp -m udp --sport 137 --dport 1024:65535 -j reject -A Reject -p tcp -m multiport --dports 135,139,445 -j reject -A Reject -p udp -m udp --dport 1900 -j DROP -A Reject -p tcp -j dropNotSyn -A Reject -p udp -m udp --sport 53 -j DROP -A all2fw -m state --state RELATED,ESTABLISHED -j ACCEPT -A all2fw -j Reject -A all2fw -j LOG --log-prefix "Shorewall:all2fw:REJECT:" --log-level 6 -A all2fw -j reject -A all2loc -m state --state RELATED,ESTABLISHED -j ACCEPT -A all2loc -j Reject -A all2loc -j LOG --log-prefix "Shorewall:all2loc:REJECT:" --log-level 6 -A all2loc -j reject -A all2net -m state --state RELATED,ESTABLISHED -j ACCEPT -A all2net -j Reject -A all2net -j LOG --log-prefix "Shorewall:all2net:REJECT:" --log-level 6 -A all2net -j reject -A all2vpn -m state --state RELATED,ESTABLISHED -j ACCEPT -A all2vpn -j Reject -A all2vpn -j LOG --log-prefix "Shorewall:all2vpn:REJECT:" --log-level 6 -A all2vpn -j reject -A br0_fwd -m state --state INVALID,NEW -j dynamic -A br0_fwd -o eth0 -j loc2net -A br0_fwd -o vnet1 -j ACCEPT -A br0_fwd -o ppp+ -j ACCEPT -A br0_fwd -o br0 -j ACCEPT -A br0_fwd -o eth1 -j ACCEPT -A br0_fwd -o gre0 -j ACCEPT -A br0_fwd -o vnet0 -j ACCEPT -A br0_in -m state --state INVALID,NEW -j dynamic -A br0_in -j loc2fw -A br0_out -j fw2loc -A dropBcast -m addrtype --dst-type BROADCAST -j DROP -A dropBcast -d 224.0.0.0/4 -j DROP -A dropInvalid -m state --state INVALID -j DROP -A dropNotSyn -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j DROP -A eth0_fwd -m state --state INVALID,NEW -j dynamic -A eth0_fwd -o vnet1 -j net2loc -A eth0_fwd -o ppp+ -j net2loc -A eth0_fwd -o br0 -j net2loc -A eth0_fwd -o eth1 -j net2loc -A eth0_fwd -o gre0 -j net2loc -A eth0_fwd -o vnet0 -j net2loc -A eth0_in -m state --state INVALID,NEW -j dynamic -A eth0_in -j net2fw -A eth0_out -j fw2net -A eth1_fwd -m state --state INVALID,NEW -j dynamic -A eth1_fwd -o eth0 -j loc2net -A eth1_fwd -o vnet1 -j ACCEPT -A eth1_fwd -o ppp+ -j ACCEPT -A eth1_fwd -o br0 -j ACCEPT -A eth1_fwd -o gre0 -j ACCEPT -A eth1_fwd -o vnet0 -j ACCEPT -A eth1_in -m state --state INVALID,NEW -j dynamic -A eth1_in -j loc2fw -A eth1_out -j fw2loc -A fw2all -m state --state RELATED,ESTABLISHED -j ACCEPT -A fw2all -j Reject -A fw2all -j LOG --log-prefix "Shorewall:fw2all:REJECT:" --log-level 6 -A fw2all -j reject -A fw2fw -m state --state RELATED,ESTABLISHED -j ACCEPT -A fw2fw -p tcp -m tcp --dport 3128 -j ACCEPT -A fw2fw -j ACCEPT -A fw2loc -m state --state RELATED,ESTABLISHED -j ACCEPT -A fw2loc -j ACCEPT -A fw2net -m state --state RELATED,ESTABLISHED -j ACCEPT -A fw2net -p tcp -m tcp --dport 80 -m owner --uid-owner squid -j ACCEPT -A fw2net -p gre -j ACCEPT -A fw2net -j ACCEPT -A fw2vpn -m state --state RELATED,ESTABLISHED -j ACCEPT -A fw2vpn -p tcp -m tcp --sport 1723 --dport 1723 -j ACCEPT -A fw2vpn -j Reject -A fw2vpn -j LOG --log-prefix "Shorewall:fw2vpn:REJECT:" --log-level 6 -A fw2vpn -j reject -A gre0_fwd -m state --state INVALID,NEW -j dynamic -A gre0_fwd -o eth0 -j loc2net -A gre0_fwd -o vnet1 -j ACCEPT -A gre0_fwd -o ppp+ -j ACCEPT -A gre0_fwd -o br0 -j ACCEPT -A gre0_fwd -o eth1 -j ACCEPT -A gre0_fwd -o vnet0 -j ACCEPT -A gre0_in -m state --state INVALID,NEW -j dynamic -A gre0_in -j loc2fw -A gre0_out -j fw2loc -A loc2all -m state --state RELATED,ESTABLISHED -j ACCEPT -A loc2all -j Reject -A loc2all -j LOG --log-prefix "Shorewall:loc2all:REJECT:" --log-level 6 -A loc2all -j reject -A loc2fw -m state --state RELATED,ESTABLISHED -j ACCEPT -A loc2fw -p tcp -m tcp --dport 3128 -j ACCEPT -A loc2fw -j ACCEPT -A loc2net -m state --state RELATED,ESTABLISHED -j ACCEPT -A loc2net -j ACCEPT -A loc2vpn -m state --state RELATED,ESTABLISHED -j ACCEPT -A loc2vpn -p tcp -m tcp --sport 1723 --dport 1723 -j ACCEPT -A loc2vpn -j Reject -A loc2vpn -j LOG --log-prefix "Shorewall:loc2vpn:REJECT:" --log-level 6 -A loc2vpn -j reject -A logdrop -j DROP -A logreject -j reject -A net2fw -m state --state RELATED,ESTABLISHED -j ACCEPT -A net2fw -p udp -m udp --dport 53 -j ACCEPT -A net2fw -p tcp -m multiport --dports 53,22,25,109,110,143,10000 -j ACCEPT -A net2fw -p icmp -m icmp --icmp-type 8 -j ACCEPT -A net2fw -p tcp -m tcp --sport 1723 --dport 1723 -j ACCEPT -A net2fw -p gre -j ACCEPT -A net2fw -p tcp -m tcp --dport 1723 -j ACCEPT -A net2fw -j Drop -A net2fw -j LOG --log-prefix "Shorewall:net2fw:DROP:" --log-level 6 -A net2fw -j DROP -A net2loc -m state --state RELATED,ESTABLISHED -j ACCEPT -A net2loc -p tcp -m tcp --sport 1723 --dport 1723 -j ACCEPT -A net2loc -j Drop -A net2loc -j LOG --log-prefix "Shorewall:net2loc:DROP:" --log-level 6 -A net2loc -j DROP -A net2vpn -m state --state RELATED,ESTABLISHED -j ACCEPT -A net2vpn -p tcp -m tcp --sport 1723 --dport 1723 -j ACCEPT -A net2vpn -j Drop -A net2vpn -j LOG --log-prefix "Shorewall:net2vpn:DROP:" --log-level 6 -A net2vpn -j DROP -A ppp+_fwd -m state --state INVALID,NEW -j dynamic -A ppp+_fwd -o eth0 -j loc2net -A ppp+_fwd -o vnet1 -j ACCEPT -A ppp+_fwd -o br0 -j ACCEPT -A ppp+_fwd -o eth1 -j ACCEPT -A ppp+_fwd -o gre0 -j ACCEPT -A ppp+_fwd -o vnet0 -j ACCEPT -A ppp+_in -m state --state INVALID,NEW -j dynamic -A ppp+_in -j loc2fw -A ppp+_out -j fw2loc -A reject -m addrtype --src-type BROADCAST -j DROP -A reject -s 224.0.0.0/4 -j DROP -A reject -p igmp -j DROP -A reject -p tcp -j REJECT --reject-with tcp-reset -A reject -p udp -j REJECT --reject-with icmp-port-unreachable -A reject -p icmp -j REJECT --reject-with icmp-host-unreachable -A reject -j REJECT --reject-with icmp-host-prohibited -A smurfs -s 0.0.0.0/32 -j RETURN -A smurfs -m addrtype --src-type BROADCAST -j LOG --log-prefix "Shorewall:smurfs:DROP:" --log-level 6 -A smurfs -m addrtype --src-type BROADCAST -j DROP -A smurfs -s 224.0.0.0/4 -j LOG --log-prefix "Shorewall:smurfs:DROP:" --log-level 6 -A smurfs -s 224.0.0.0/4 -j DROP -A vnet0_fwd -m state --state INVALID,NEW -j dynamic -A vnet0_fwd -o eth0 -j loc2net -A vnet0_fwd -o vnet1 -j ACCEPT -A vnet0_fwd -o ppp+ -j ACCEPT -A vnet0_fwd -o br0 -j ACCEPT -A vnet0_fwd -o eth1 -j ACCEPT -A vnet0_fwd -o gre0 -j ACCEPT -A vnet0_in -m state --state INVALID,NEW -j dynamic -A vnet0_in -j loc2fw -A vnet0_out -j fw2loc -A vnet1_fwd -m state --state INVALID,NEW -j dynamic -A vnet1_fwd -o eth0 -j loc2net -A vnet1_fwd -o ppp+ -j ACCEPT -A vnet1_fwd -o br0 -j ACCEPT -A vnet1_fwd -o eth1 -j ACCEPT -A vnet1_fwd -o gre0 -j ACCEPT -A vnet1_fwd -o vnet0 -j ACCEPT -A vnet1_in -m state --state INVALID,NEW -j dynamic -A vnet1_in -j loc2fw -A vnet1_out -j fw2loc -A vpn2all -m state --state RELATED,ESTABLISHED -j ACCEPT -A vpn2all -j Reject -A vpn2all -j LOG --log-prefix "Shorewall:vpn2all:REJECT:" --log-level 6 -A vpn2all -j reject -A vpn2fw -m state --state RELATED,ESTABLISHED -j ACCEPT -A vpn2fw -p tcp -m tcp --sport 1723 --dport 1723 -j ACCEPT -A vpn2fw -j Reject -A vpn2fw -j LOG --log-prefix "Shorewall:vpn2fw:REJECT:" --log-level 6 -A vpn2fw -j reject -A vpn2loc -m state --state RELATED,ESTABLISHED -j ACCEPT -A vpn2loc -p tcp -m tcp --sport 1723 --dport 1723 -j ACCEPT -A vpn2loc -j Reject -A vpn2loc -j LOG --log-prefix "Shorewall:vpn2loc:REJECT:" --log-level 6 -A vpn2loc -j reject -A vpn2net -m state --state RELATED,ESTABLISHED -j ACCEPT -A vpn2net -p tcp -m tcp --sport 1723 --dport 1723 -j ACCEPT -A vpn2net -j Reject -A vpn2net -j LOG --log-prefix "Shorewall:vpn2net:REJECT:" --log-level 6 -A vpn2net -j reject COMMIT # Completed on Wed Apr 6 13:52:44 2011

Спасибо сказали:
reji
Сообщения: 81

Re: Решено: проброс RDP через шлюз

Сообщение reji »

Необходимо разрешить входящее соединение из Интернета. Т.е. добавить правило в цепочку INPUT таблицы filter.

Следующие правила, по-моему, излишни:

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

iptables -t nat -I POSTROUTING -p tcp --dst 192.168.0.4 --dport 3389 -j SNAT --to-source 82.199.113.x
iptables -I FORWARD -i br0 --dst 192.168.0.4 -j ACCEPT
Спасибо сказали:
lejak
Сообщения: 119

Re: Решено: проброс RDP через шлюз

Сообщение lejak »

iptables -A INPUT -i eth0 -p tcp --destination-port 3389 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 82.199.113.x --dport 3389 -j DNAT --to-destination 192.168.0.4

сделал это, не помогло :(


делаю

# iptables -vnL|grep 3389
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3389
как понимаю меня не куда не пробрасывает?
Спасибо сказали:
lejak
Сообщения: 119

Re: Решено: проброс RDP через шлюз

Сообщение lejak »

iptables -A INPUT -i eth0 -p tcp --destination-port 3389 -j ACCEPT
iptables -t nat -I PREROUTING --dst 82.199.113.x -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.4:3389
iptables -t nat -I POSTROUTING -p tcp --dst 192.168.0.4 --dport 3389 -j SNAT --to-source 82.199.113.x
iptables -I FORWARD -i eth0 --dst 192.168.0.4 -j ACCEPT

заработало, где 82.199.113.x внешний сервера
eth0 внешний интерфейс
Спасибо сказали:
leksstav
Сообщения: 331

Re: Решено: проброс RDP через шлюз

Сообщение leksstav »

lejak писал(а):
07.04.2011 01:23
iptables -A INPUT -i eth0 -p tcp --destination-port 3389 -j ACCEPT
iptables -t nat -I PREROUTING --dst 82.199.113.x -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.4:3389
iptables -t nat -I POSTROUTING -p tcp --dst 192.168.0.4 --dport 3389 -j SNAT --to-source 82.199.113.x
iptables -I FORWARD -i eth0 --dst 192.168.0.4 -j ACCEPT

заработало, где 82.199.113.x внешний сервера
eth0 внешний интерфейс



Для этих целей хорошо применяется приблуда rinetd ! Просто удобно !
Спасибо сказали: