Não Estou Conseguindo Liberar a VPN no Iptables

1. Não Estou Conseguindo Liberar a VPN no Iptables

Andre chagas ramos
andre_ramos

(usa openSUSE)

Enviado em 06/12/2010 - 10:51h

Karos amigos!


Estou com duvidas sobre regras para liberar meu firewall para eu acessar a vpn de um cliente.

meu cenário e o seguinte:

tenho minha rede interna que preciso acessar uma VPN de um Servidor de um parceiro nosso. ou seja preciso liberar meu firewall para eu conseguir ter este acesso

o tipo de VPN que utilizo seria pptp com a porta 1723

mas não sei como ficaria a regra, pois sou meigo em firewall

segue meu scrip de firewall

agradeço os colegar desde já

#!/bin/bash

IPTABLES=/usr/sbin/iptables
NETWORK=eth1
WEB=eth0

iniciar () {

# Limpando as regras
$IPTABLES -F
$IPTABLES -Z
$IPTABLES -t nat -F
$IPTABLES -t mangle -F

# Compatilhamento da conexao
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "Ativando compatilhamento!"

# Politicas de acesso geral
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# Compartilhamento da internet para a rede interna
$IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Manter conexoes ja estabelecidas para nao parar
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -m state --state INVALID -j DROP

# Bloqueia pacotes intencionamente mal-formados
$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

# Evitando SYN_Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Bloqueia traceroute
$IPTABLES -A INPUT -p udp --dport 33435:33525 -j DROP
# Protecoes contra ataques
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A INPUT -i $NETWORK -s ! 192.168.0.0/24 -j DROP

# Carregamento de Modulos
modprobe ip_nat_ftp
modprobe iptable_nat
modprobe ip_tables
modprobe ip_conntrack
modprobe ipt_MASQUERADE
modprobe ip_conntrack_ftp

# Aceita todo o trafego vindo do loopback e indo pro loopback
$IPTABLES -t filter -A INPUT -i lo -j ACCEPT

# Redirecionando o trafego para a porta 3128
$IPTABLES -t nat -A PREROUTING -i $NETWORK -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128
#$IPTABLES -t nat -A PREROUTING -i $NETWORK -p tcp -d ! 200.201.174.207 --dport 443 -j REDIRECT --to-port 3128
$IPTABLES -A INPUT -i eth1 -j ACCEPT

## Redirecionamento de porta 3389 para o Servidor Conecta
PTABLES -I FORWARD -p tcp --dport 3389 -j ACCEPT
$IPTABLES -t nat -I PREROUTING -p tcp -i eth0 --dport 3389 -j DNAT --to-destination 192.168.0.202:3389

# liberar OpenVPN Porta 5000
$IPTABLES -A FORWARD -p tcp --dport 5000 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 5000 -j ACCEPT

# Liberar o MSN
$IPTABLES -A FORWARD -s 192.168.0.221/24 -p tcp --dport 1863 -j ACCEPT # HUMBERTO
$IPTABLES -A FORWARD -s 192.168.0.221/24 -d loginnet.passport.com -j ACCEPT # HUMBERTO

# Bloquear o MSN
$IPTABLES -A FORWARD -s 192.168.0.0/24 -p tcp --dport 1863 -j REJECT
$IPTABLES -A FORWARD -s 192.168.0.0/24 -d loginnet.passport.com -j REJECT

# Bloquear IPS de sites proibidos
$IPTABLES -I FORWARD -s 192.168.0.0/24 -d 74.208.12.174 -j DROP # koolim.com
$IPTABLES -I FORWARD -s 192.168.0.0/24 -d 210.17.215.19 -j DROP #imunitive.com
$IPTABLES -I FORWARD -s 192.168.0.0/24 -d 64.13.161.58 -j DROP # imo.im
$IPTABLES -I FORWARD -s 192.168.0.0/24 -d 64.13.161.61 -j DROP # imo.im

# Regras para liberar o outlook
$IPTABLES -A FORWARD -p udp -s 192.168.0.0/24 -d 200.175.182.139 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 200.175.182.139 --sport 53 -d 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 192.168.0.0/24 -d 200.175.5.139 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 200.175.5.139 --sport 53 -d 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 25 -j ACCEPT # SMTP
$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 587 -j ACCEPT # SMTP
$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 110 -j ACCEPT # POP3

# Regras para liberar o FTP
$IPTABLES -A INPUT -i $NETWORK -p tcp -s 192.168.0.0/24 --dport 20 -j ACCEPT # FTP
$IPTABLES -A INPUT -i $NETWORK -p tcp -s 192.168.0.0/24 --dport 21 -j ACCEPT # FTP

# INPUT # Pacotes que entram na rede
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 22 -j ACCEPT # SSH
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 80 -j ACCEPT # HTTP
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 443 -j ACCEPT # HTTPS
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 3389 -j ACCEPT # Conexão Remota

# FORWARD # Pacotes que circulam na rede
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 22 -j ACCEPT # SSH
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 8333 -j ACCEPT # HTTP
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 443 -j ACCEPT # HTTPS
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 3389 -j ACCEPT # Conexão Remota
$IPTABLES -A FORWARD -i $NETWORK -s 192.168.0.0/24 -j ACCEPT

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

echo "Firewall Ativado"
}

parar(){

echo "Regras de firewall e compartilhamento desativados"
iptables -F
iptables -t nat -F
iptables -t mangle -F
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar;;
*)echo "Use os paramentros start ou stop"
esac




  


2. Re: Não Estou Conseguindo Liberar a VPN no Iptables

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 06/12/2010 - 11:03h

Libere assim:

# FORWARD # Pacotes que circulam na rede
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 1723 -j ACCEPT # VPN

Talvez não funcione pq depende muito d como a sua rede está interligada.


3. Re: Não Estou Conseguindo Liberar a VPN no Iptables

Andre chagas ramos
andre_ramos

(usa openSUSE)

Enviado em 07/12/2010 - 09:34h

Karos amigos desculpe por demorar responder este topico! estava com algumas outras prioridade mas estou de volta!

teste as regras do renato mas não funcionou! abaixo vai as regras em que eu testei


$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 1723 -j ACCEPT #vpn
$IPTABLES -A FORWARD -p udp -s 192.168.0.0/24 --dport 1723 -j ACCEPT #vpn


$IPTABLES -A FORWARD -p 47 -s 200.225.91.57 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 200.225.91.57 --sport 1723 -j ACCEPT
$IPTABLES -A FORWARD -P tcp -s 200.225.91.57 --sport 1723 -j ACCEPT


#$IPTABLES -A FORWARD -s 192.168.0.0/24 -d 200.225.91.57 -j ACCEPT
#$IPTABLES -A FORWARD -s 200.225.91.57 -d 192.168.0.0/24 -j ACCEPT

$IPTABLES -t nat -A PREROUTING -p 47 -i eth0 -j DNAT --to 200.225.91.57
$IPTABLES -t nat -A PREROUTING -p udp -i eth0 --dport 1723 -j DNAT --to 200.225.91.57
$IPTABLES -t nat -A PREROUTING -p tcp -i eth0 --dport 1723 -j DNAT --to 200.225.91.57

$IPTABLES -t nat -A POSTROUTING -p udp -d 200.225.91.57 -j SNAT --to 192.168.0.246
$IPTABLES -t nat -A POSTROUTING -p tcp -d 200.225.91.57 -j SNAT --to 192.168.0.246
$IPTABLES -t nat -A POSTROUTING -p 47 -d 200.225.91.57 -j SNAT --to 192.168.0.246



4. Re: Não Estou Conseguindo Liberar a VPN no Iptables

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 07/12/2010 - 09:51h

Interessante...

Kra, olhando nos fóruns, percebi q VPN pra Windows é diferente pra Linux. Então vc tem q falar se é ligação d Linux pra Linux ou Linux pra Windows ou Windows pra Windows. Pois tanto um como o outro utilizam d protocolos diferentes (GRE e PPTP).


5. Re: Não Estou Conseguindo Liberar a VPN no Iptables

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 07/12/2010 - 09:58h

Kra, achei um fórum q explica direitim. D uma olhada abaixo, no comentário #9:

http://under-linux.org/f96/liberar-vpn-no-firewall-67122/index2.html




6. Re: Não Estou Conseguindo Liberar a VPN no Iptables

Andre chagas ramos
andre_ramos

(usa openSUSE)

Enviado em 07/12/2010 - 12:03h

Kara, eu ja tinha visto este link que me mandou, mas tentei essas regras e nada.

as informações que consegui são:
* o servidor VPN estam em windows

* preciso conectar o servidor VPN que esta fora da minha rede ou seja em outra empresa.

* a minha rede interna onde tenho maquinas windows e o meu firewal onde esta bloqueando, está em linux distribuição opensuse,

* a VPN utiliza a porta 1723

* a VPN e pptp




7. Re: Não Estou Conseguindo Liberar a VPN no Iptables

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 07/12/2010 - 13:50h

Estranho. Segundo os fóruns, quando é Windows o servidor VPN, o protocolo d conexão (além da porta 1723) é o GRE. Só não sei se isso é regra ou pode ser modificável. O certo msm d fazer é utilizar um sniffer na máquina pra saber o comportamento da VPN. Dae descobriremos quais portas ele utiliza e tals.


8. Re: Não Estou Conseguindo Liberar a VPN no Iptables

Felipe Agnelli Barbosa
no.molas

(usa FreeBSD)

Enviado em 08/12/2010 - 08:33h

Em que posição vc colocou a regra do Renato no script?, caso vc não tenha tentado, coloque essa regra logo após a definição sua de politicas das chains.


9. liberar vpn iptables

Joaquim Martins Junior
jocamartinsjr

(usa Ubuntu)

Enviado em 24/03/2013 - 13:29h

Prezados,

Sou novo no forum e estou com uma dúvida a respeita de vpn e iptables. Acho que estou com o mesmo problema em relação ao iptables

Acesso meu computador remotamente, e por isso, criei algumas regras de firewall para deixa-lo um pouco mais seguro. Entretanto, estas regras não permitem que a partir desse mesmo computador eu acesse o servidor vpn no meu trabalho. A conexão é estabelecida, mas não consigo acessa qualquer máquina da rede vpn, nem a requisição de usuário e senha do ssh aparece.

Abaixo segue o meus script iptables. O que falta ser liberado para que funcione completamente:



#limpando políticas e regras
iptables -X
iptables -F
iptables -Z

#configurando políticas padrões
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#libera conexao local
iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
iptables -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT

#manter conexões já estabelecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


# Libere as portas 53 UDP/TCP (DNS), 80 TCP (HTTP) e 443 TCP (HTTPS)
iptables -A OUTPUT -p tcp -m multiport --destination-ports 53,80,443 -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --destination-ports 53 -j ACCEPT

#libera vpn
iptables -I INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
iptables -I OUTPUT -p tcp -m tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p 47 -j ACCEPT
iptables -A OUTPUT -p 47 -j ACCEPT
###########


Faltou dizer que minha internet é NET VIRTUAL E que utilizo um roteador DLINK 524 e ip fixo na rede interna 192.xxx.x.xxx

Desde já agradeço a atenção e espero que alguem possa me ajudar.

att,
Joaquim

Editar Apagar








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts