Saludos!!
---------------------------------
1. Preparar host: Entramos en el proxmox por ssh:
Desde la consola del servidor Proxmox (como root) activamos el soporte TUN/TAP en el kernel
modprobe tun
comprobamos que esté activado
lsmod | grep tun
teniendo que ver una salida como esta:
tun 18815 1 vhost_net
Para que esto sea permanente, debemos poner que el módulo “tun” sea cargado en el inicio del servidor. Para ello usamos la siguiente orden:
echo tun >> /etc/modules
Podemos reiniciar Proxmox y ejecutar la orden anterior para verificar que se ha cargado el módulo al inicio.
Desde la consola del servidor Proxmox editamos el fichero
nano -w /etc/vz/vz.conf
y en la línea donde pone (sobre la linea 46)
## IPv4 iptables kernel modules to be enabled in CTs by default
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"
añadimos al final
ipt_state iptable_nat
dejamos esa línea como sigue:
IPTABLES="ipt_REJECT ipt_tos ipt_TOS ipt_LOG ip_conntrack ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ip_nat_ftp"
#IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat"
Con este paso hacemos accesible los módulos de “nat” y “state” de iptables a los VPS
Instalamos algunos módulos más en nuestro servidor Proxmox
modprobe ipt_mark
modprobe ipt_MARK
modprobe tun
Haciéndolos permanentes del mismo modo que hicimos en el paso 4.
echo ipt_mark >> /etc/modules
echo ipt_MARK >> /etc/modules
Damos permisos para que nuestra máquina virtual pueda hacer uso del dispositivo tun/tap
vzctl set 101 --devnodes net/tun:rw --save
En nuestro caso, como solo tenemos una máquina virtual, esta tiene el ID 101.
La salida del comando anterior deberá ser:
Setting devices
Saved parameters for CT 101
Permitimos a nuestro VPS abrir el interface TUN/TAP, asegurándonos primero que el VPS esté apagado.
vzctl set 101 --devices c:10:200:rw --save
vzctl stop 101
vzctl set 101 --capability net_admin:on --save
vzctl start 101
Creamos el dispositivo “tun net” en nuestra máquina virtual
vzctl exec 101 mkdir -p /dev/net
vzctl exec 101 mknod /dev/net/tun c 10 200
vzctl exec 101 chmod 600 /dev/net/tun
2. Cambiar tipo de red a veth desde el panel de proxmox:
- Eliminar la ip y guardar
- seleccionar veth y guardar
- seleccionar interfaz
3. Si no carga la red:
Editar /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=212.34.xx.xx
NETMASK=255.255.255.0
GATEWAY=212.34.xx.xx
ONBOOT=yes
HWADDR=xx:xx:xx:xx:xx:xx
BOOTPROTO=none
TYPE=Ethernet
Y editar /etc/sysconfig/network y cambiar GATEWAY por la correspondiente. Reiniciar demonio de red. Cambiar venet0:0 a eth0 en /usr/local/directadmin/conf/directadmin.conf si no peta DA
4. Instalar openvpn
4.1 Instalamos desde repositorio EPEL el openvpn.
[root@dlp ~]#
wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
[root@dlp ~]#
rpm --import RPM-GPG-KEY-EPEL-6
[root@dlp ~]#
rm -f RPM-GPG-KEY-EPEL-6
[root@dlp ~]#
vi /etc/yum.repos.d/epel.repo
# create new
[epel]
name=EPEL RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/
gpgcheck=1
enabled=0
# when you use the repository, input yum command like follows
[root@dlp ~]#
yum --enablerepo=epel install [package]
4.2 Generamos certificados para la conexión:
cp -R /usr/share/openvpn/easy-rsa/ /etc/openvpn
nano /etc/openvpn/easy-rsa/2.0/vars (Editamos lineas finales)
export KEY_COUNTRY="ES"
export KEY_PROVINCE="MA"
export KEY_CITY="Madrid"
export KEY_ORG="server.dominio.es"
export KEY_EMAIL="[email protected]"
Preparamos el terreno:
cd /etc/openvpn/easy-rsa/2.0/
source ./vars
./vars
./clean-all
./build-ca
./build-key-server server # certificado para el servidor
./build-key client1 # certidicado para el cliente, supuestamente uno por cada cliente
./build-dh # generar parametros Diffie Hellman (various stuff)
4.3 nos llevamos los certificados client y ca al equipo cliente para luego.
Además movemos estos certifiados a /etv/openvpn
ca.crt
ca.key
dh1024.pem
server.crt
server.key
4.4 Configuramos VPN
cp /usr/share/doc/openvpn-2.1.4/sample-config-files/server.conf /etc/openvpn/
cp /usr/share/doc/openvpn-2.1.4/sample-config-files/client.conf ~/
cd ~/
nano ~/client.conf
client
dev tun
proto udp
remote 212.34.xx.xx 1194
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3
Editamos /etc/openvpn/server.conf y descomentamos:
push "redirect-gateway def1 bypass-dhcp"
Editamos /etc/sysctl.conf y cambiamos:
net.ipv4.ip_forward = 0 a net.ipv4.ip_forward = 1
echo 1 > /proc/sys/net/ipv4/ip_forward
Añadimos reglas a iptables:
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 212.34.xx.xx # IP del equipo
Y además al rc.local para que carguen de inicio
4.5 instalamos dnsmasq
yum install dnsmasq
/etc/init.d/dnsmasq start
chkconfig dnsmasq on
Reinciamos para que coja el dnsmasq
Editar /etc/openvpn/server.conf
Y añadir
push "dhcp-option DNS 10.8.0.1"
Y listo: /etc/init.d/openvpn restart
5. Configurar openVPN Cliente:
Bajar:
client1.conf
certificados ca.crt client1.crt client1.key
Editar archivo client1.conf. cambiar la ruta de loscertificados a la real (para poner un \ hay que poner \\) y renombar el archivo a client1.ovpn.
Poner los archivos en "c:\\Program Files (x86)\\openVPN\\config"
Conectar y listo
----------------------------------------------------
Server.conf:
port 1194
proto udp
dev tun
#---- Seccion de llaves -----
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh1024.pem
#----------------------------
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status-servidorvpn-udp-1194.log
verb 8
push "dhcp-option DNS 10.8.0.1"
push "redirect-gateway def1 bypass-dhcp"
----------------------------------------------------
http://tipupdate.com/how-to-install-openvpn-on-centos-vps/