InicioLinuxservidor VPN en contenedor openvz

servidor VPN en contenedor openvz

LinuxFecha desconocida
un servidor vpn es una forma de conexion mas segura, funciona algo asi , "tratare de explicarlo con ejemplo", mi computador se conecta a un servidor vpn, entonces cada vez que abro una pagina, hablo por chat o envio y recivo informacion, no lo hago directamente a cada pagina o servicio, sino que tengo un intermediario que es el servidor vpn, si busco mi ip, me aparecera la ip del servidor vpn, este servidor se comunica con mi computador estableciendo una conexion encriptada, es bastante seguro, con la salvedad de que en este cybermundo todo es hackeable.


ahora este tuto lo hice para instalar el servidor en un contenedor openvz, lo dividí en dos partes, la primera es para ejecutara en el nodo principal del contenedor openvz, y la segunda ya es la instalacion en el contenedor, pero a travez del nodo principal igual. ambas partes son un script, asi la cosa es mas facil.

si no saben como ejecutar el script o cualquier duda, pregunten, voy a responder a penas pueda.

sistema operativo: centos 6.5
arquitectura: x64
kernel openvz:



-----------------------------------------------------------------------------------------

##################################################################
#Primera parte - Script 1

lsmod | grep tun
modprobe tun

read -p "N° ID del contenedor: " CTID

vzctl set $CTID --devnodes net/tun:rw --save

vzctl set $CTID --devices c:10:200:rw --save

#aki apagar el contenedor
vzctl stop $CTID

vzctl set $CTID --capability net_admin:on --save

vzctl set $CTID --netfilter full --save

#aki volver ha encender el contenedor
vzctl start $CTID

vzctl exec $CTID mkdir -p /dev/net

vzctl exec $CTID mknod /dev/net/tun c 10 200

vzctl exec $CTID chmod 600 /dev/net/tun

echo nano /vz/root/$CTID/root/2.sh



##################################################################
#Segunda parte "instalacion desde el nodo principal" - Script 2

FFF=-udp-1194.conf

read -p "Y ¿Cual es el nombre de ese host? " hosttt
read -p "Puerto[1194]: " puerto
read -p "Rango de IP para el puente vpn [192.168.37.0]: " ipipip
read -p "IP del contenedor [192.168.1.60]: " contenedorip


### ahora comienza la instalacion de openvpn en el contenedo

wget -O /etc/yum.repos.d/AL-Server.repo
http://www.alcancelibre.org/al/server/AL-Server.repo

yum -y install openvpn shorewall

cd /etc/openvpn/

cp /usr/share/easy-rsa/openssl-1.0.0.cnf ./
cp /usr/share/easy-rsa/whichopensslcnf ./
cp /usr/share/easy-rsa/pkitool ./
cp /usr/share/easy-rsa/vars ./

sed -i 's|export KEY_SIZE=1024|export KEY_SIZE=204' /etc/openvpn/vars

sed -i 's|export KEY_COUNTRY="US"|export KEY_COUNTRY="MX"|' /etc/openvpn/vars

source /etc/openvpn/./vars

sh /usr/share/easy-rsa/clean-all

sh /usr/share/easy-rsa/build-ca

sh /usr/share/easy-rsa/build-dh

sh /usr/share/easy-rsa/build-key-server server

sh /usr/share/easy-rsa/build-key cliente1

touch /etc/openvpn/$hosttt$FFF

echo "port $puerto" >> /etc/openvpn/$hosttt$FFF
echo "proto udp" >> /etc/openvpn/$hosttt$FFF
echo "dev tun" >> /etc/openvpn/$hosttt$FFF

echo "#----- Sección de firma y certificados -----" >> /etc/openvpn/$hosttt$FFF

echo "ca keys/ca.crt" >> /etc/openvpn/$hosttt$FFF
echo "cert keys/server.crt" >> /etc/openvpn/$hosttt$FFF
echo "key keys/server.key" >> /etc/openvpn/$hosttt$FFF
echo "dh keys/dh2048.pem" >> /etc/openvpn/$hosttt$FFF

echo "#----------------------------------------" >> /etc/openvpn/$hosttt$FFF

echo "server $ipipip 255.255.255.0" >> /etc/openvpn/$hosttt$FFF
echo "ifconfig-pool-persist ipp.txt" >> /etc/openvpn/$hosttt$FFF

echo 'push "redirect-gateway def1 bypass-dhcp"' >> /etc/openvpn/$hosttt$FFF

echo 'push "route 192.168.0.0 255.255.255.0"' >> /etc/openvpn/$hosttt$FFF

echo "keepalive 10 120" >> /etc/openvpn/$hosttt$FFF
echo "comp-lzo" >> /etc/openvpn/$hosttt$FFF
echo "persist-key" >> /etc/openvpn/$hosttt$FFF
echo "persist-tun" >> /etc/openvpn/$hosttt$FFF
echo "status openvpn-status-servidorvpn-udp-1194.log" >> /etc/openvpn/$hosttt$FFF
echo "verb 3" >> /etc/openvpn/$hosttt$FFF

restorecon -R /etc/openvpn/

touch /etc/openvpn/ipp.txt
touch /etc/openvpn/openvpn-status-servidorvpn-udp-1194.log

#service openvpn start

#ACTIVAR LOS FILTROS DE IPTABLES NECESARIOS
FAFA=/24

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

iptables -t nat -A POSTROUTING -s $ipipip$FAFA -o venet0 -j SNAT --to-source $contenedorip

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

service iptables save

service openvpn start

chkconfig openvpn on

#borrar sed -i 's|||' /etc/openvpn/vars


################################################
# Cada vez que se encienda la maquina virtual

#en el nodo principal, no el del contenedor.
#activar:
modprobe tun

#comprobar
lsmod | grep tun



#y en el contenedor activar :
service openvpn start

#y la nat:
iptables -t nat -A POSTROUTING -s 192.168.37.0/24 -o venet0 -j SNAT --to-source 192.168.1.83


################################################
#Crear clientes

#por cada cliente que se desee crear:
sh /usr/share/easy-rsa/build-key NombreCliente


#en el directorio /etc/openvpn/ , esto creara el:
NombreCliente.crt y NombreCliente.key

#copiar estos dos archivos y:
ca.crt

#estos tres son necesarios por cada cliente que se quiera conectar.

################################################
#Clientes en ubuntu

#en el contenedor donde esta instalado openvpn
#buscar el directorio /etc/openvpn/keys
cd /etc/openvpn/keys

#el cliente necesita estos archivos:
ca.crt cliente1.crt cliente1.key

#el cliente necesitará crear este otro:
nano cliente1-udp-1194.ovpn

## y en este archivo agregar ==>

client
dev tun
proto udp
remote 192.168.1.60 1194
float
resolv-retry infinite
nobind
persist-key
persist-tun
route 192.168.37.0 255.255.255.0
dhcp-option DNS 192.168.1.1
#------ SECCION DE LLAVES --------
ca /etc/openvpn/ca.crt
cert /etc/openvpn/cliente1.crt
key /etc/openvpn/cliente1.key
ns-cert-type server
#---------------------------------
comp-lzo
verb 3

# <==
#remote es la ip del servidor openvpn y despues va el puerto
Datos archivados del Taringa! original
0puntos
34visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

l
lalundonde🇦🇷
Usuario
Puntos0
Posts11
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.