No modo TUN, a sub-rede que fornece IPs para os clientes VPN é "virtual" no servidor VPN. O modo TUN funciona na camada 3 e não há camada 2 para essa sub-rede. O OpenVPN usa mecanismos próprios para colocar o tráfego direcionado ao ip da VPN de um cliente para o túnel correto (para que ele atinja o cliente). Por causa disso, não há possibilidade de misturar clientes vpn e máquinas locais nesta mesma sub-rede (cliente vpn). Eles precisam estar sempre em sub-redes diferentes e precisam ser alcançados em ambas as direções pelo roteamento.
Portanto, a menos que você tenha regras locais de firewall, seus clientes vpn conectados via tun devem ser capazes de alcançar todos os destinos para os quais a configuração de roteamento no servidor openvpn tem um caminho e há um caminho de volta. O último ponto é mais importante. Em cada máquina local à qual você deseja se conectar, deve existir um caminho para a sub-rede do cliente vpn. O servidor VPN deve ser conhecido como o gateway para esta sub-rede na configuração de roteamento local.
are there alternatives to this setup that people have used to facilitate mobile device access?
Não há bons. Existe um cliente OpenVPN na Play Store, que emula a camada 2 não disponível na API da VPN, que funciona em alguns (a maioria?) Casos. Mas isso é meio que um hack e os desenvolvedores do cliente oficial decidiram contra .
Could we setup a OVPN server on one of the VMs that is now connecting via TAP as a client, and use TUN there to allow access in to that one machine?
Sim. Você precisaria ser capaz de se conectar a este servidor OpenVPN de qualquer lugar onde queira usar o túnel TUN-VPN. Então, provavelmente você precisaria de um ip público roteado. Se esse for o caso, o roteamento local na máquina não deve causar problemas.