Direcionar porta 3389(Terminal Service) [RESOLVIDO]

1. Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Maison K. Sakamoto
sneeps.ninja

(usa Debian)

Enviado em 29/05/2013 - 17:27h

Amigos, agradeço desde já a sua atenção.
Eu tenho um servidor que com esta regra do iptables faz exatamente o que preciso:(só que na internet doméstica)
iptables -t nat -A PREROUTING -d 10.0.0.200 -p tcp --dport 3389 -j DNAT --to 192.168.1.139:3389

Resumindo quero fazer um prerounting do ip da minha placa de rede que esta com internet direcionar a porta 3389 para outro servidor o 192.168.1.139 também na porta 3389.

Só que isso só funciona na minha internet doméstica, quando tento fazer a mesma coisa na minha internet dedicada não rola.

o cenário atual do meu servidor é esse:
eth0: 192.168.1.200 (ip para acessar a minha rede interna)
eth1: 189.58.100.148 (ip valido, ip real aquele que posso acessar de qualquer rede com internet)
eth2: 10.0.0.200 (ip para acessar a internet domestica)

-1º Tenho o default gateway 10.0.0.1 onde faço o compartilhamento de internet para a rede interna 192.168.1.0/24
-2º Na eth1 eu recebo conexoes http, ou seja tenho um apache e um tomcat rodando aqui e uso as seguintes configurações de ip route:
ip route add 189.58.100.0/24 dev eth1 table site
ip route add default dev eth1 via 189.58.100.145 table site
ip rule add from 189.58.100.148 lookup site
ip route flush cached
Essa configuração se faz necessario pois quero usar o link dedicado exclusivamente para atender os acessos http a este servidor
-3º Além dos acessos http no link dedicado, quero acessar meu servidor que esta com o ip 192.168.1.139 via TS, mas para acessar de fora da rede interna ou seja através do ip real 189.58.100.148 entao preciso de uma regra para direcionar tudo o que chegar nesse ip com a porta 3389 enviar para o ip 192.168.1.139 na mesma porta.

Se fosse internet domestica eu faria isso direto no modem, direcionar o DMZ p/ ip 192.168.1.139 é ja esta resolvido, mas quero fazer isso com o ip pago ai do meu provedor, dai eu nao tenho outra opçao, ou tenho?




  


2. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/05/2013 - 20:28h

iptables -t nat -A PREROUTING -p tcp -d 189.58.100.148 --dport 3389 -j DNAT --to 192.168.1.139:3389
iptables -A FORWARD -p tcp -d 192.168.1.139 --dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.139 --sport 3389 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.139 --sport 3389 -o eth1 -j MASQUERADE

# iptables -nvL

Chain INPUT (policy DROP 5 packets, 397 bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.139 tcp dpt:3389
0 0 ACCEPT tcp -- * * 192.168.1.139 0.0.0.0/0 tcp spt:3389

Chain OUTPUT (policy ACCEPT 3 packets, 181 bytes)
pkts bytes target prot opt in out source destination


# iptables -nvL -t nat

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- * * 0.0.0.0/0 189.58.100.148 tcp dpt:3389 to:192.168.1.139:3389

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 1 packets, 60 bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 1 packets, 60 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE tcp -- * eth1 192.168.1.139 0.0.0.0/0 tcp spt:3389



3. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Maison K. Sakamoto
sneeps.ninja

(usa Debian)

Enviado em 31/05/2013 - 07:33h

amarildosertorio escreveu:

iptables -t nat -A PREROUTING -p tcp -d 189.58.100.148 --dport 3389 -j DNAT --to 192.168.1.139:3389
iptables -A FORWARD -p tcp -d 192.168.1.139 --dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.139 --sport 3389 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.139 --sport 3389 -o eth1 -j MASQUERADE

# iptables -nvL

Chain INPUT (policy DROP 5 packets, 397 bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.139 tcp dpt:3389
0 0 ACCEPT tcp -- * * 192.168.1.139 0.0.0.0/0 tcp spt:3389

Chain OUTPUT (policy ACCEPT 3 packets, 181 bytes)
pkts bytes target prot opt in out source destination


# iptables -nvL -t nat

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- * * 0.0.0.0/0 189.58.100.148 tcp dpt:3389 to:192.168.1.139:3389

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 1 packets, 60 bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 1 packets, 60 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE tcp -- * eth1 192.168.1.139 0.0.0.0/0 tcp spt:3389


Oi amarildo, desculpa a demora, mas sabe como é o feriado né...rsrsr
Estou agora na empresa e vou testar essas regras agora mesmo... da só 1 minuto que já lhe informo os resultados


4. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Maison K. Sakamoto
sneeps.ninja

(usa Debian)

Enviado em 31/05/2013 - 07:56h

Amarildo, será que alguma outro regra minha esta impedindo o direcionamento da uma olhada no meu firewall:
firewall_start(){

# Aceitar pacotes das redes ( -s=source origem | -d=destino )
iptables -A INPUT -s 189.58.100.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -d 189.58.100.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -d 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -d 10.0.0.0/255.255.255.0 -j ACCEPT

# icmp
#iptables -A INPUT -p icmp -j ACCEPT

# SSH
iptables -A INPUT -p tcp --sport 22 -j ACCEPT

# MYSQL
iptables -A INPUT -p tcp --sport 3306 -j ACCEPT

# SVN - Versionamento do NetBeans
iptables -A INPUT -p tcp --sport 8443 -j ACCEPT

# HTTP para serem acessados neste servidor
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# Rotear a rede externa(internet)
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth2 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# Acessar o servidor 192.168.1.139 atraves do ts(porta 3389) via modem gvt
#iptables -t nat -A PREROUTING -d 10.0.0.200 -p tcp --dport 3389 -j DNAT --to 192.168.1.139:3389
iptables -t nat -A PREROUTING -p tcp -d 189.58.100.148 --dport 3389 -j DNAT --to 192.168.1.139:3389
iptables -A FORWARD -p tcp -d 192.168.1.139 --dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.139 --sport 3389 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.139 --sport 3389 -o eth1 -j MASQUERADE

##aceitar loopback
iptables -A INPUT -p TCP --syn -s 127.0.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

#BLOQUEIO DE QUALQUER OUTRA CONEXAO QUE NAO ESTEJA LISTADA ACIMA
iptables -A INPUT -p tcp --syn -j DROP

}

firewall_stop(){
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
}



5. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/05/2013 - 09:12h

Iaê velhinho!

Passando o olho aparentemente está di boa. Faz o seguinte... Deixe um tcpdump escutando essa porta no servidor e execute uma conexão externa. Veja se os pacotes estão passando pelo iptables.

# tcpdump port 3389 -i eth1

http://www.vivaolinux.com.br/dica/Comando-tcpdump-exemplos-de-uso
http://www.vivaolinux.com.br/dica/tcpdump-Monitorando-conexoes
http://www.pedropereira.net/como-usar-o-tcpdump/


6. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Maison K. Sakamoto
sneeps.ninja

(usa Debian)

Enviado em 31/05/2013 - 09:40h

Então deixei escutando na porta 3389 e deu esse resultado:
tcpdump -i eth1 port 3389 -v
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
08:33:23.728958 IP (tos 0x28, ttl 121, id 4747, offset 0, flags [DF], proto TCP (6), length 56)
201-41-167-240.fozit701.e.brasiltelecom.net.br.49841 > btrtransportes.static.gvt.net.br.3389: Flags [S], cksum 0x3c9d (correct), seq 94262941, win 8192, options [mss 1452,sackOK,TS val 61226176 ecr 0], length 0
08:33:26.724597 IP (tos 0x28, ttl 121, id 4768, offset 0, flags [DF], proto TCP (6), length 56)
201-41-167-240.fozit701.e.brasiltelecom.net.br.49841 > btrtransportes.static.gvt.net.br.3389: Flags [S], cksum 0x3b71 (correct), seq 94262941, win 8192, options [mss 1452,sackOK,TS val 61226476 ecr 0], length 0
08:33:32.723861 IP (tos 0x28, ttl 121, id 4825, offset 0, flags [DF], proto TCP (6), length 56)
201-41-167-240.fozit701.e.brasiltelecom.net.br.49841 > btrtransportes.static.gvt.net.br.3389: Flags [S], cksum 0x3919 (correct), seq 94262941, win 8192, options [mss 1452,sackOK,TS val 61227076 ecr 0], length 0

os pacotes ta chegando, agora o porque não ta direcionando?

será que pode ter alguma haver com o ip route?
eu fiz minha eth1 receber as conexões do 189.58.100.148 assim:
#!/bin/bash
# USADO PARA CRIAR UM GATEWAY SEPARADO(NAO O PADRAO) PARA ENTAR E SAIR ATRAVES DO LINK DEDICADO
ip route add 189.58.100.0/24 dev eth1 table site
ip route add 192.168.1.0/24 dev eth0 table site
ip route add default dev eth1 via 189.58.100.145 table site
ip rule add from 189.5

porque tenho como gateway padrao o 10.0.0.1 (com o ip na eth2=>10.0.0.200)


7. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/05/2013 - 10:13h

LAN1="192.168.1.0/24"
LAN2="189.58.100.0/24"

############## LIBERA COMUNICACAO ENTRE LANS ###########################

iptables -t filter -A FORWARD -s $LAN1 -d $LAN2 -j ACCEPT
iptables -t filter -A FORWARD -s $LAN2 -d $LAN1 -j ACCEPT

######################### CONEXAO ESTABELECIDA #########################

iptables -t filter -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -t filter -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED


8. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Maison K. Sakamoto
sneeps.ninja

(usa Debian)

Enviado em 31/05/2013 - 10:29h

amarildosertorio escreveu:

LAN1="192.168.1.0/24"
LAN2="189.58.100.0/24"

############## LIBERA COMUNICACAO ENTRE LANS ###########################

iptables -t filter -A FORWARD -s $LAN1 -d $LAN2 -j ACCEPT
iptables -t filter -A FORWARD -s $LAN2 -d $LAN1 -j ACCEPT

######################### CONEXAO ESTABELECIDA #########################

iptables -t filter -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -t filter -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED


Coloquei essas regras também e nada....

firewall_start(){

# Aceitar pacotes das redes ( -s=source origem | -d=destino )
iptables -A INPUT -s 189.58.100.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -d 189.58.100.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -d 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -d 10.0.0.0/255.255.255.0 -j ACCEPT

# icmp
#iptables -A INPUT -p icmp -j ACCEPT

# SSH
iptables -A INPUT -p tcp --sport 22 -j ACCEPT

# Rotear a rede externa(internet)
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth2 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# Acessar o servidor 192.168.1.139 atraves do ts(porta 3389) via modem gvt
iptables -t filter -A FORWARD -s 192.168.1.0/24 -d 189.58.100.0/24 -j ACCEPT
iptables -t filter -A FORWARD -s 189.58.100.0/24 -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.1.139 --dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.139 --sport 3389 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.139 --sport 3389 -o eth1 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -d 189.58.100.148 --dport 3389 -j DNAT --to 192.168.1.139:3389

##aceitar loopback
iptables -A INPUT -p TCP --syn -s 127.0.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

#BLOQUEIO DE QUALQUER OUTRA CONEXAO QUE NAO ESTEJA LISTADA ACIMA
iptables -A INPUT -p tcp --syn -j DROP



9. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/05/2013 - 10:48h

Posta ai...

# route

# iptables -nvL

# iptables -nvL -t nat


10. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Maison K. Sakamoto
sneeps.ninja

(usa Debian)

Enviado em 31/05/2013 - 10:59h

amarildosertorio escreveu:

Posta ai...

# route

# iptables -nvL

# iptables -nvL -t nat


route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.255.255.0 U 0 0 0 eth2
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
189.58.100.0 * 255.255.255.0 U 0 0 0 eth1
default 10.0.0.1 0.0.0.0 UG 0 0 0 eth2

iptables -nvL
Chain INPUT (policy ACCEPT 33 packets, 10824 bytes)
pkts bytes target prot opt in out source destination
18 4320 ACCEPT all -- * * 189.58.100.0/24 0.0.0.0/0
1946 124K ACCEPT all -- * * 0.0.0.0/0 189.58.100.0/24
2819 259K ACCEPT all -- * * 192.168.1.0/24 0.0.0.0/0
0 0 ACCEPT all -- * * 0.0.0.0/0 192.168.1.0/24
0 0 ACCEPT all -- * * 10.0.0.0/24 0.0.0.0/0
4 449 ACCEPT all -- * * 0.0.0.0/0 10.0.0.0/24
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:3306
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:8443
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 127.0.0.0/24 0.0.0.0/0 tcp flags:0x17/0x02
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 192.168.1.0/24 189.58.100.0/24
0 0 ACCEPT all -- * * 189.58.100.0/24 192.168.1.0/24
11 584 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.139 tcp dpt:3389
0 0 ACCEPT tcp -- * * 192.168.1.139 0.0.0.0/0 tcp spt:3389

Chain OUTPUT (policy ACCEPT 1889 packets, 139K bytes)
pkts bytes target prot opt in out source destination


iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 281 packets, 44564 bytes)
pkts bytes target prot opt in out source destination
4 212 DNAT tcp -- * * 0.0.0.0/0 189.58.100.148 tcp dpt:3389 to:192.168.1.139:3389

Chain POSTROUTING (policy ACCEPT 8 packets, 480 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * eth2 192.168.1.0/24 0.0.0.0/0
0 0 MASQUERADE all -- * eth1 192.168.1.0/24 0.0.0.0/0
0 0 MASQUERADE all -- * eth1 0.0.0.0/0 0.0.0.0/0
0 0 MASQUERADE tcp -- * eth1 192.168.1.139 0.0.0.0/0 tcp spt:3389

Chain OUTPUT (policy ACCEPT 4 packets, 268 bytes)
pkts bytes target prot opt in out source destination




11. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/05/2013 - 12:16h

Tu criou as Tabelas de roteamento com iproute né? Estou muito enrolado aqui no trampo! Estou meio sem tempo para analisar, mas creio que você terá que fazer marcação nos pacotes.

Dica => Configure seu iptables para gerar logs e facilitar a analise.


12. Re: Direcionar porta 3389(Terminal Service) [RESOLVIDO]

Maison K. Sakamoto
sneeps.ninja

(usa Debian)

Enviado em 31/05/2013 - 13:35h

amarildosertorio escreveu:

Tu criou as Tabelas de roteamento com iproute né? Estou muito enrolado aqui no trampo! Estou meio sem tempo para analisar, mas creio que você terá que fazer marcação nos pacotes.

Dica => Configure seu iptables para gerar logs e facilitar a analise.


iproute também precisei usar, Ok vou fazer isso vou ver como faz o log no iptables e te mostro o resultado depois então, obrigado pela ajuda



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts