[CentOS-es] VPN lan to lan - OPENVPN + CENTOS + no conectan redes lan

paulcriollo en gmail.com paulcriollo en gmail.com
Dom Mayo 30 04:19:34 UTC 2010


Les saludo y la vez les comento una configuracion de una vpn lan to lan, me
falta una parte, pero no encuentro la falla, puede que alguien conozca la
solucion le agradecere el aporte.

TENGO DOS REDES REMOTAS
RED1 CON UNA CONEXION DE SPEEDY BUSSINESS E IP PUBLICA
esta red tiene un server con firewall + proxy transparente
eth0 :: 192.168.1.100
eth1 :: 192.168.10.0/24
esta red cuenta con una ip publica, ademas en el mismo router le puse la
regla de nat para desde afuera llegar al server que tiene la vpn, osea:
direccione el pto. 1194 hacia el ip de la eth0 de mi server

en el mismo server firewall + proxy, tambien configure el openvpn

la configuracion del openvpn la lleve a cabo sin problemas siguiendo muchos
manuales comunes que hay en internet

el proxy transparente trabaja OK y las estaciones entran a internet sin
problemas

por ejemplo una pc cliente seria: 192.168.10.2/255.255.255.0     gateway
192.168.10.1

AQUI LES COLOCO EL MODELO DE MI ARCHIVO DE CONFIGURACION DEL SERVIDOR VPN,
los archivos crt y key del server funcionan sin problemas

###### ARCHIVO /etc/openvpn/vpn1.conf --- ARCHIVO DE CONFIGURACION DEL
SERVER VPN
port 1194
proto udp
dev tun
ca ca.crt
cert vpn1.crt
key vpn1.key
dh dh1024.pem

###### Direcciones que se asignaran a los clientes, el server es .1
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#Ruta para que los clientes alcancen la red local del server (10.0/24)
push "route 192.168.10.0 255.255.255.0"
client-config-dir ccd
route 192.168.20.0 255.255.255.0
client-to-client
push "route 192.168.20.0 255.255.255.0"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 4
ADEMAS TAMBIEN EN EL ARCHIVO
/etc/openvpn/ccd/vpn2

LE AGREGYE ESTE COMANDO --- NECESITO LLEGAR A LA RED 192.168.20.0/24 EN EL
OTRO LADO
iroute 192.168.20.0 255.255.255.0

TAMBIEN LE AGREGUE UN SCRIPT PARA CREAR RUTAS

/sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.10.1
/sbin/route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.1
/sbin/route add -net 10.8.0.0 netmask 255.255.255.255 gw 192.168.10.1
Y EL SCRIPT DE MIS REGLAS DE IPTABLES EN ESTE SERVIDOR ES



echo -n Aplicando Reglas de Firewall...
iptables=/sbin/iptables
## LIMPIEZA TOTAL DE LAS REGLAS ACTUALES
#### PARA QUE SE CARGUEN ESTAS NUEVAS REGLAS
############################################
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
#### DECLARACION DE VARIABLES
#### LO HACEMOS PARA TENER ORDEN Y CLARIDAD
LAN=192.168.10.0/24
NUBE=0.0.0.0/0
WAN="192.168.1.100"
## DECLARANDO LAS POLITICAS PRINCIPALES DEL FIREWALL
#### AQUI SE DECIDE SI SERA ABIERTO Y CERRADO
#### YA DEPENDE DEL ADMINISTRADOR
#### EN ESTE CASO ESTAMOS ABRIENDO TODOS LOS PUERTOS Y CERRAMOS LOS QUE
DESEAMOS
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
## CARGA FORZADA DE MODULOS IMPORTANTES
### A VECES EN ALGUNOS SISTEMAS NO ESTAN CARGADOS
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
## POLITICAS POR DEFECTO POR LA VPN
iptables -F FORWARD





iptables -P FORWARD ACCEPT

iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -o tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -A INPUT -i tap0 -j ACCEPT
iptables -A FORWARD -i tap0 -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.20.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -o eth0 -j MASQUERADE
## SE AUMENTAN EL NUMERO DE CONEXIONES SEGUIDAS
echo 65535 > /proc/sys/net/ipv4/ip_conntrack_max
## SE IGNORAN LOS ERRORES DEL ICMP
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
## SE HABILITA EL FORWARD DE LOS PAQUETES
echo 1 > /proc/sys/net/ipv4/ip_forward
## SE HABILITA LA PROTECCION CONTRA LOS SYN FLOODS
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
## SE QUITAN LOS REGISTROS DE BROADCAST EN /var/log/messages
iptables -t mangle -I PREROUTING -j DROP -d 224.0.0.0/8
## SE CONECTA LA LAN CON EL PROXY TRANSPARENTE
#### YA NO ES NECESARIO COLOCAR EN LOS NAVEGADORES LO DEL PROXY
iptables -t nat -A PREROUTING -i eth1 -p tcp -s $LAN -d $NUBE --dport 80 -j
REDIRECT --to-port 3128
###### MANEJO DE PUERTO ESPECIAL PARA LAS VPNS - OPENVPN
iptables -A INPUT -i eth0 -p tcp --dport 1194 -j ACCEPT
##### ENMASCARAMOS LAS CONEXIONES DE LOS DNS ENTERNOS, MSN Y OTROS PARA
TODAS
iptables -t nat -A POSTROUTING -p tcp -s $LAN -d $NUBE --dport 53 -j
MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s $LAN -d $NUBE --dport 53 -j
MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s $LAN -d $NUBE --dport 5190 -j
MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s $LAN -d $NUBE --dport 5190 -j
MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s $LAN -d $NUBE --dport 1863 -j
MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s $LAN -d $NUBE --dport 1863 -j
MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s $LAN -d $NUBE --dport 1024:65535 -j
MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s $LAN -d $NUBE --dport 1024:65535 -j
MASQUERADE
#### YA HACIENDO EL NAT EN LA V
iptables -t nat -A POSTROUTING -s $LAN -d $NUBE -j SNAT --to-source $WAN
# /root/cbq.init stats | more
iptables -t nat -L -n




######################################################################################################
######################################################################################################

CONFIGURACION DEL SERVER2 EN EL OTRO LOCAL

 RED2 CON UNA CONEXION DE SPEEDY CLASS SIN IP PUBLICA
esta red tiene un server con firewall + proxy transparente
eth0 :: 192.168.1.101
eth1 :: 192.168.20.0/24

en el mismo server firewall + proxy, tambien configure el openvpn

el proxy transparente trabaja OK y las estaciones entran a internet sin
problemas

por ejemplo una pc cliente seria: 192.168.20.2/255.255.255.0     gateway
192.168.20.1

AQUI LES COLOCO EL MODELO DE MI ARCHIVO DE CONFIGURACION DEL SERVIDOR VPN2,
los archivos crt y key del server funcionan sin problemas --   vim
/etc/openvpn/vpn2.conf



client

dev tun

proto udp

remote 190.41.110.99 1194

resolv-retry infinite

nobind   ####### PARA QUE ME SIRVE ESTE COMANDO ALGUIEN LO PUEDE ACLARAR



#Las dos siguientes opciones no van en windows

user nobody

group nobody



persist-key

persist-tun

ca ca.crt

cert vpn2.crt

key vpn2.key

comp-lzo

verb 4


TAMBIEN CREE UN SCRIPT DE RUTAS

/sbin/route add -net 10.8.0.0 netmask 255.255.255.255 gw 192.168.20.1

/sbin/route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.1

/sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.20.1



 MI SCRIPT DE FIREWALL DE ESTA RED



echo -n Aplicando Reglas de Firewall...



iptables=/sbin/iptables



## LIMPIEZA TOTAL DE LAS REGLAS ACTUALES

#### PARA QUE SE CARGUEN ESTAS NUEVAS REGLAS

############################################

iptables -F

iptables -X

iptables -Z

iptables -t nat -F



#### DECLARACION DE VARIABLES

#### LO HACEMOS PARA TENER ORDEN Y CLARIDAD

LAN=192.168.20.0/24

NUBE=0.0.0.0/0

WAN="192.168.1.101"



## DECLARANDO LAS POLITICAS PRINCIPALES DEL FIREWALL

#### AQUI SE DECIDE SI SERA ABIERTO Y CERRADO

#### YA DEPENDE DEL ADMINISTRADOR

#### EN ESTE CASO ESTAMOS ABRIENDO TODOS LOS PUERTOS Y CERRAMOS LOS QUE
DESEAMOS

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT



## CARGA FORZADA DE MODULOS IMPORTANTES

### A VECES EN ALGUNOS SISTEMAS NO ESTAN CARGADOS

modprobe iptable_nat

modprobe ip_nat_ftp

modprobe ip_conntrack_ftp



## POLITICAS POR DEFECTO POR LA VPN

iptables -F FORWARD

iptables -P FORWARD ACCEPT



iptables -A INPUT -i tun0 -j ACCEPT

iptables -A FORWARD -i tun0 -j ACCEPT

iptables -A FORWARD -o tun0 -j ACCEPT

iptables -A OUTPUT -o tun0 -j ACCEPT

iptables -A INPUT -i tap0 -j ACCEPT

iptables -A FORWARD -i tap0 -j ACCEPT

iptables -A INPUT -p udp --dport 1194 -j ACCEPT



iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE



iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE





## SE AUMENTAN EL NUMERO DE CONEXIONES SEGUIDAS

echo 65535 > /proc/sys/net/ipv4/ip_conntrack_max



## SE IGNORAN LOS ERRORES DEL ICMP

echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses



## SE HABILITA EL FORWARD DE LOS PAQUETES

echo 1 > /proc/sys/net/ipv4/ip_forward



## SE HABILITA LA PROTECCION CONTRA LOS SYN FLOODS

echo 1 > /proc/sys/net/ipv4/tcp_syncookies



## SE QUITAN LOS REGISTROS DE BROADCAST EN /var/log/messages

iptables -t mangle -I PREROUTING -j DROP -d 224.0.0.0/8



## SE CONECTA LA LAN CON EL PROXY TRANSPARENTE

#### YA NO ES NECESARIO COLOCAR EN LOS NAVEGADORES LO DEL PROXY

iptables -t nat -A PREROUTING -i eth1 -p tcp -s $LAN -d $NUBE --dport 80 -j
REDIRECT --to-port 3128



###### MANEJO DE PUERTO ESPECIAL PARA LAS VPNS - OPENVPN

iptables -A INPUT -i eth0 -p tcp --dport 1194 -j ACCEPT





##### ENMASCARAMOS LAS CONEXIONES DE LOS DNS ENTERNOS, MSN Y OTROS PARA
TODAS LAS VES Y VLANS

iptables -t nat -A POSTROUTING -p tcp -s $LAN -d $NUBE --dport 53 -j
MASQUERADE

iptables -t nat -A POSTROUTING -p udp -s $LAN -d $NUBE --dport 53 -j
MASQUERADE

iptables -t nat -A POSTROUTING -p tcp -s $LAN -d $NUBE --dport 5190 -j
MASQUERADE

iptables -t nat -A POSTROUTING -p udp -s $LAN -d $NUBE --dport 5190 -j
MASQUERADE

iptables -t nat -A POSTROUTING -p tcp -s $LAN -d $NUBE --dport 1863 -j
MASQUERADE

iptables -t nat -A POSTROUTING -p udp -s $LAN -d $NUBE --dport 1863 -j
MASQUERADE

iptables -t nat -A POSTROUTING -p tcp -s $LAN -d $NUBE --dport 1024:65535 -j
MASQUERADE

iptables -t nat -A POSTROUTING -p udp -s $LAN -d $NUBE --dport 1024:65535 -j
MASQUERADE



#### YA HACIENDO EL NAT EN LA V

iptables -t nat -A POSTROUTING -s $LAN -d $NUBE -j SNAT --to-source $WAN



# /root/cbq.init stats | more

iptables -t nat -L –n



 EN CADA SERVER LEVANTA el dev tun0 sin problemas

EN EL SERVER2 SE LE ASIGNA UNA IP 10.8.0.6 en el dev tun0

YA QUE EL dev tun0 DEL SERVER1 tiene asignado 10.8.0.1



entre la red 10.8.0.0/24 puedo hacer ping sin problemas, PERO ENTRE LOS
SERVERS NO PUEDO HACER PING NI A LA 192.168.10.1 NI A LA 192.168.20.1, COMO
CONSECUENCIA UNA ESTACION DE LA RED1 NO PUEDE HACER PING A UNA PC DE LA RED2
Y VICEVERSA



DONDE ESTA LA FALLA



HAY QUE HACER ALGO EN EL ROUTER DEL SPEEDY CLASS DE LA RED2 O NO



DESDE LA RED2 QUIERO ACCEDER A UN SISTEMA QUE LO RTIENE UNA PC DE LA RED1,
ESE ES MI OBJETIVO PERO NO LOGRO.



ESPERO SUS COMENTARIOS



ATT.



PAUL CRIOLLO
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://lists.centos.org/pipermail/centos-es/attachments/20100529/42759351/attachment-0001.html 


Más información sobre la lista de distribución CentOS-es