Usando Raspberry PI como enrutador OpenVPN para Asterisk

Usando Raspberry PI como enrutador OpenVPN para Asterisk

Así que llevo bastante tiempo golpeándome la cabeza con esto.

Tengo la siguiente configuración:

  • Servidor OpenVPN, IP 1.2.3.1
  • Servidor Asterisk, conectado al servidor OpenVPN, IP 1.2.3.3
  • Raspberry PI, interfaz local 192.168.0.17, conectada a OpenVPN IP 1.2.3.6
  • Teléfono IP en la misma red local que Raspberry PI, ip local 192.168.0.81

Las redes se configuran de la siguiente manera:

  • La conexión local en Raspberry es eth0
  • Raspberry tiene una interfaz virtual adicional eth0:1 con ip 192.168.0.91
  • La conexión OpenVPN en Raspberry es tun0
  • El teléfono tiene una IP local 192.168.0.81 y una puerta de enlace configurada en 192.168.0.91 (frambuesa)

En Raspberry, iptables es el siguiente:

#Empty all routing tables
sudo iptables -t nat -F
sudo iptables -F

#Masquerade all traffic leaving tun0 as if coming from 1.2.3.6
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

#redirect all traffic coming from eth0:1 to tun0
sudo iptables -A FORWARD -i eth0:1 -o tun0 -j ACCEPT

#redirect all traffic coming from tun0 to eth0:1
sudo iptables -A FORWARD -i tun0 -o eth0:1 -j ACCEPT

#Modify all packets coming to tun0 to forward then to the IP telephone
sudo iptables -t nat -A PREROUTING -i tun0 -j DNAT --to-destination 192.168.0.81

Entonces, puedo llamar y recibir llamadas (tengo otra computadora portátil que está conectada directamente al servidor VPN y usa Zoiper para realizar pruebas). Puedo llamar al teléfono y desde el teléfono y el audio del teléfono a la computadora portátil funciona, pero no hay ningún audio entrante en el teléfono.

¿Qué estoy haciendo mal?

ACTUALIZAR

También probé lo siguiente

  1. El teléfono tiene configuraciones 192.168.200.1 / 255.255.255.0, conectado a Raspberry que tiene 192.168.200.2 / 255.255.255.0 (la IP de Raspberry es la puerta de enlace al teléfono)

  2. Raspberry pi con tun ip 10.34.87.2 (conectado a wifi usando wlan0, luego a vpn).

  3. IPTables sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

  4. En el servidor VPN (10.34.87.1)

route add 192.168.200.0/24 10.34.87.2

NOTA: iptables no tiene la mascarada. Ahora logré enrutar el tráfico desde 192.168.200.1 -> 10.34.87.1 (servidor vpn), pero no al revés.

¿Algunas ideas?

Respuesta1

¿Es el enmascaramiento un requisito? de lo contrario, como sus teléfonos tienen Pi como puerta de enlace predeterminada, pueden llegar al servidor sin esfuerzo adicional, solo asegúrese de que el servidor pueda comunicarse con los teléfonos, agregue una ruta en el servidor (si es necesario) para 192.168.0.0/ 24 (adaptarlo según sea necesario) a través del Pi.

información relacionada