[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