VPN para offloading

Iniciado por Gotttlieb, 8 Febrero 2018, 22:30 PM

0 Miembros y 1 Visitante están viendo este tema.

Gotttlieb

Hola amigos!
Después de mucho tiempo sin pasarme demasiado, por fin me ha surgido una duda que claramente no logro solucionar con la ayuda de google ni demás puesto que realmente no se ni como plantearla correctamente.
Intentaré esforzarme.

Actualmente, dispongo de un servido físico remoto en el cual tengo instalado un Proxmox y diversas máquinas virtuales.
Mi idea, era conectar ese servidor a la red local, para poder ejecutar tareas de computo pesadas sin tener que depender de un servidor local siempre encendida, asi que decidí montar una OpenVPN.


cat /etc/openvpn/server.conf

local 192.168.1.60
dev tun
proto tcp
port 1194
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server_xxxxxxxx.crt
key /etc/openvpn/easy-rsa/pki/private/server_xxxxxxx.key
dh /etc/openvpn/easy-rsa/pki/dhxxxx.pem
topology subnet
server 10.8.0.0 255.255.255.0
# server and remote endpoints
ifconfig 10.8.0.1 10.8.0.2
# Add route to Client routing table for the OpenVPN Server
push "route 10.8.0.0 255.255.255.0"
# your local subnet
push "route 192.168.1.0 255.255.255.0"
# Set your primary domain name server address for clients
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
# Override the Client default gateway by using 0.0.0.0/1 and
# 128.0.0.0/1 rather than 0.0.0.0/0. This has the benefit of
# overriding but not wiping out the original default gateway.
push "redirect-gateway def1"
client-to-client
keepalive 10 120
remote-cert-tls client
tls-version-min 1.2
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0
cipher AES-256-CBC
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
crl-verify /etc/openvpn/crl.pem
status /var/log/openvpn-status.log 20
status-version 3
log /var/log/openvpn.log
verb 1
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
# Generated for use by PiVPN.io


root@xxxxx:~# ip route
default via 192.168.1.1 dev eth0
default via 192.168.1.1 dev eth0  metric 202
10.8.0.0/24 dev tun0  proto kernel  scope link  src 10.8.0.1
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.60  metric 202
192.168.1.60 via 127.0.0.1 dev lo  metric 202
192.168.42.0/24 dev wlan0  proto kernel  scope link  src 192.168.42.1


Mi problema es que aunque mi servidor remoto (Centos 7)si puede connectar a la VPN correctamente, pero no puede comunicarse ni con la red interna, ni reseolver dns.

Tambien intenté montar otra diferente en mi Router OpenWRT para permitir trafico no IP, pero creo que aun va peor, porque aunque conecta el server, no me llega a la red interna.


root@Linksys1900ACS:/# cat /etc/config/openvpn

config openvpn 'myvpn'
       option enabled '1'
       option verb '3'
       option proto 'udp'
       option port '1194'
       option dev 'tap'
       option mode 'server'
       option tls_server '1'
       list push 'route-gateway dhcp'
       list push 'redirect-gateway def1'
       option keepalive '10 120'
       option ca '/etc/openvpn/ca.crt'
       option cert '/etc/openvpn/my-server.crt'
       option key '/etc/openvpn/my-server.key'
       option dh '/etc/openvpn/dh2048.pem'


root@Linksys1900ACS:/# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         254.pool85-56-2 0.0.0.0         UG    0      0        0 eth0.832
10.8.0.0        192.168.1.60    255.255.255.255 UGH   0      0        0 br-lan
85.56.216.0     *               255.255.254.0   U     0      0        0 eth0.832
85.56.217.254   *               255.255.255.255 UH    0      0        0 eth0.832
192.168.1.0     *               255.255.255.0   U     0      0        0 br-lan


Espero que me podáis dar alguna idea de como solucionarlo. Con lo poco que se de redes me parece que seguramente será algo de rutas, pero no tengo mucha idea de networking.

Si me dejo alguna cosa, no dudéis en preguntar!
Muchas gracias por vuestro tiempo!



Slava_TZD

#1

dev tun
proto tcp
port 1194

ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server_xxxxxxxx.crt
key /etc/openvpn/easy-rsa/pki/private/server_xxxxxxx.key
dh /etc/openvpn/easy-rsa/pki/dhxxxx.pem

tls-auth /etc/openvpn/easy-rsa/pki/ta.key

server 10.8.0.0 255.255.255.0

push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"

keepalive 10 120

comp-lzo

user nobody
group nogroup

persist-key
persist-tun

status /var/log/openvpn-status.log 20
log /var/log/openvpn.log
verb 1
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf


Intenta con esa configuración, te he quitado mil cosas que probablemente no necesites eg crl? vas a querer revocar certificados? Tu sabrás lo que quieres hacer... deberías plantearte también cambiar de protocolo...Why TCP Over TCP Is A Bad Idea


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.

Gotttlieb

#2
Muchas gracias por tu ayuda, después de modificar el fichero de configuración, el servidor remoto se ha conectado correctamente a la VPN, pero he perdido la red desde SSH y sigo sin poder acceder a él desde la ip que le ha dado la vpn ( en este caso una 10.8.0.10)
Y tampoco puedo conectarme a internet, ni acceder a ningún servicio de mi LAN.

Lo más curioso, es que desde mi Andorid, que también tengo la VPN, funciona correctamente ( al menos la conexión a la red interna, ya que no tengo ningún servicio de red en el). Así que voy a montar un pequeño servicio de red en mi android y hago un update.

UPDATE:
Acabo de instalarme un servidor Apache en mi android, y tampoco funciona.


oot@edited1:~# tail -f /var/log/openvpn.log
Fri Feb  9 12:08:21 2018 TCP connection established with [AF_INET]xxx.xxx.xx.xxx:42971
Fri Feb  9 12:08:25 2018 xxx.xxx.xx.xxx:42971 [Edited_user] Peer Connection Initiated with [AF_INET]xxx.xxx.xx.xxx:42971
Fri Feb  9 12:08:25 2018 Edited_user/xxx.xxx.xx.xxx:42971 MULTI_sva: pool returned IPv4=10.8.0.6, IPv6=(Not enabled)
Fri Feb  9 12:08:26 2018 Edited_user/xxx.xxx.xx.xxx:42971 send_push_reply(): safe_cap=940
Fri Feb  9 12:21:50 2018 TCP connection established with [AF_INET]xx.xxx.xxx.xx:33430
Fri Feb  9 12:21:52 2018 xx.xxx.xxx.xx:33430 Connection reset, restarting [0]
Fri Feb  9 12:24:36 2018 TCP connection established with [AF_INET]xx.xxx.xxx.xx:57420
Fri Feb  9 12:24:39 2018 xx.xxx.xxx.xx:57420 [EditedName] Peer Connection Initiated with [AF_INET]xx.xxx.xxx.xx:57420
Fri Feb  9 12:24:39 2018 EditedName/xx.xxx.xxx.xx:57420 MULTI_sva: pool returned IPv4=10.8.0.10, IPv6=(Not enabled)
Fri Feb  9 12:24:41 2018 EditedName/xx.xx.xx.xx:57420 send_push_reply(): safe_cap=940
^C
root@edited1:~# curl 10.8.0.6:8000
^C
root@edited1:~# curl 10.8.0.6:8000
^C
root@edited1:~# telnet 10.8.0.6 8000
Trying 10.8.0.6...
^C
root@edited1:~# telnet 10.8.0.10 27
Trying 10.8.0.10...
^C
root@edited1:~# telnet 10.8.0.10 22
Trying 10.8.0.10...




Slava_TZD

#3
No entiendo muy bien tu topología y para colmo entendí mal el primer mensaje y por eso te edité la configuración...

Citardispongo de un servido físico remoto en el cual tengo instalado un Proxmox y diversas máquinas virtuales. Mi idea, era conectar ese servidor a la red local, para poder ejecutar tareas de computo pesadas sin tener que depender de un servidor local siempre encendida

CitarMi problema es que aunque mi servidor remoto (Centos 7)si puede connectar a la VPN correctamente, pero no puede comunicarse ni con la red interna, ni reseolver dns.

¿Tu quieres montarte una VPN en otro sitio y que el centos se conecte a ella? Si es eso tu problema no está en la VPN, es centos que no sabe que hacer con los paquetes que le llegan desde la interfaz de la VPN.

Masquerading Made Simple HOWTO


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.