VPN Windows 2003 Server com Firewall iptables em Debian [RESOLVIDO]

1. VPN Windows 2003 Server com Firewall iptables em Debian [RESOLVIDO]

Danilo do Val
danilodoval

(usa Debian)

Enviado em 29/03/2011 - 14:38h

Boa tarde Amigos,

Estou configurando um firewall iptables em Debian 5 que deve encaminhar as solicitações VPN, PPTP para um servidor Windows 2003 Server, apos varias pesquisas e testes consegui implementar o script para utilizar a VPN através da intranet, podem quando tento efetuar uma conexão externa (INTERNET) ocorre o Erro 800: A conexão remota não foi feita devido à falha nos túneis VPN tentados. O servidor VPN talves esteja inacessível. Se essa conexão estiver tentando usar um túnel L2TP/IPsec, os parâmetros de segurança necessários para a negociação de IPsec talvez não sejam configurados corretamente.

Atualmente as configurações do IPTABLES são as seguintes:

ptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat

# compartilhamento de internet

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# CARREGA OS MODULOS
modprobe iptable_nat
modprobe ip_nat_pptp
modprobe ip_conntrack
modprobe nf_conntrack_pptp
modprobe ip_gre

# libera conexoes para as portas 22 e 1723 vindas de fora
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1723 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1701 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A OUTPUT -p gre -j ACCEPT

# libera o trafego da rede interna
iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT

# regras para fazer o nat para ip interno na porta 1723
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1723 -j DNAT --to-dest 192.168.0.5
iptables -A FORWARD -p tcp -i eth0 --dport 1723 -d 192.168.0.5 -j ACCEPT

# regras para fazer o nat para ip externo na porta 1723
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1723 -j DNAT --to-dest 192.168.0.5
iptables -A FORWARD -p tcp -i eth1 --dport 1723 -d 192.168.0.5 -j ACCEPT

Onde eth0 é a rede local (intranet) e eth1 é a rede externa (internet).

Fiz um teste ligando a internet diretamente no Windows Server e funcionou corretamente.

Conto com ajuda de todos.

Obrigado


  


2. Re: VPN Windows 2003 Server com Firewall iptables em Debian [RESOLVIDO]

Danilo do Val
danilodoval

(usa Debian)

Enviado em 29/03/2011 - 16:49h

Esta regra:

# regras para fazer o nat para ip interno na porta 1723
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1723 -j DNAT --to-dest 192.168.0.5
iptables -A FORWARD -p tcp -i eth0 --dport 1723 -d 192.168.0.5 -j ACCEPT


Funciona muito bem, quando eu coloco na conexão o IP 192.168.0.1 o servidor retransmite a solicitação para o o ip 192.168.0.5, e posso acompanhar que a conexao é bem sucedida no atraves do servidor windows.

Porem a regra de acesso externo apresenta o erro 800


3. Re: VPN Windows 2003 Server com Firewall iptables em Debian [RESOLVIDO]

Fabio Soares Schmidt
fs.schmidt

(usa CentOS)

Enviado em 29/03/2011 - 18:54h

Olá amigo, vpn com pptp utiliza o protocolo GRE (ou protocolo 47, não confundir com porta), adicione a seguinte regra:

iptables -A INPUT -p gre -j ACCEPT
iptables -t nat -A PREROUTING -p gre -j DNAT --to 192.168.0.5




4. Re: VPN Windows 2003 Server com Firewall iptables em Debian [RESOLVIDO]

Danilo do Val
danilodoval

(usa Debian)

Enviado em 29/03/2011 - 20:56h

Amigo, coloquei o codigo abaixo...

# regras para fazer o nat para ip externo na porta 1723
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1723 -j DNAT --to-dest 192.168.0.5
iptables -A FORWARD -p tcp -i eth1 --dport 1723 -d 192.168.0.5 -j ACCEPT

iptables -A INPUT -p gre -j ACCEPT
iptables -t nat -A PREROUTING -p gre -j DNAT --to 192.168.0.5

Porem ocorreu o mesmo erro...


5. Re: VPN Windows 2003 Server com Firewall iptables em Debian [RESOLVIDO]

Danilo do Val
danilodoval

(usa Debian)

Enviado em 30/03/2011 - 13:25h

Amigos,

Apenas para tirar a duvida caso alguem passe pelo mesmo problema que eu, a dica do nosso amigo fs.schmidt esta correta, o problema final era que o gateway do servidor VPN era diferente do gateway linux, quando coloquei um sniffer no server percebi que o aplicativo devolvia a resposta para outro ip, um backup que temos na empresa, foi apenas remove-lo, alterar o gateway do server para o ip correto e vuala, tudo funcionando.

Obrigado!!!


6. VPN Windows 2003 Server com Firewall iptables em Debian

Alexandre Batista
alexsim_1

(usa Debian)

Enviado em 11/10/2011 - 22:55h

Olá meu caro tente isso comigo funcionou.

Configuração Iptables com acesso vpn

#Módulos IPTABLES
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe ipt_multiport
modprobe iptable_mangle
modprobe ipt_limit

##Zera todas as regras do iptables
iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -X
echo "Limpando Regras..........................[OK]"

# Definindo Politica Padrão
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
echo "Definindo Politica Padrão.................[OK]"

# Ativando Compartilhamento
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

############################ BLOQUEANDO ACESSO AO MSN ###################################

iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -s 192.168.1.0/24 -d loginnet.passport.com -j REJECT

########################### ROTEAMENTO DO PROXY #########################################

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8700
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j REDIRECT --to-port 8700
iptables -A INPUT -i eth1 -p tcp --dport 8700 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
echo "Ativando compartilhamento................[OK]"

########################## PREROUTERS PARA VPN #########################################

echo "Encaminha pacotes GRE para o servidor"
iptables -A FORWARD -p 47 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p 47 -j DNAT --to 192.168.1.100 # Windows Server 2003

echo "Ok"

echo "Encaminha pacotes vindos da 1701 UDP para o servidor"
iptables -A FORWARD -p udp --dport 1701 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1701 -j DNAT --to 192.168.1.100:1701

echo "Encaminha pacotes vindos da 1723 TCP para o servidor"
iptables -A FORWARD -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1723 -j DNAT --to 192.168.1.100:1723

echo "Encaminha pacotes vindos da 500 UDP para o servidor"
iptables -A FORWARD -p udp --dport 500 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 500 -j DNAT --to 192.168.1.100:500

echo "Encaminha pacotes vindos da 4500 UDP para o servidor"
iptables -A FORWARD -p udp --dport 4500 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 4500 -j DNAT --to 192.168.1.100:4500

echo "Ok"

Espero que te ajude.

Abraço...



7. Agradecimentos

Willian Romao Santos
leoninozone

(usa openSUSE)

Enviado em 18/02/2014 - 17:49h

Valeu mesmo alexsim... passou todos os macetes mastigadinhos!!!

Aqui na empresa estamos utilizando o SUSE 11, e fiquei 2 dias apanhando do firewall. Só até descobrir que esta instalado dois firewalls (SuSEfirewall2 e yast2-firewall).
Desinstalei o yast2-firewall e realizei o comando do iptables que você deixou para nós e funcionou na hora!

Maldito seja yast2-firewall!!!

Abçç

Att
Willian Romão