Na minha opinião, o NETMAP é, na verdade, uma maneira bastante válida de garantir que as redes não colidam. Muitos roteadores usam o mesmo espaço de endereço privado e, às vezes, não há como alterar uma configuração de uma rede que você não possui (por exemplo, em um cibercafé, WLAN público). Sim, você poderia alterar sua própria rede para usar um espaço de endereço bastante incomum, mas alguns provedores distribuem equipamentos bloqueados sem nenhuma maneira de alterar isso, o que exigiria que você adicionasse mais equipamentos de rede. Ah, e às vezes é muito conveniente digitar 10.0.0.x em vez de, por exemplo, 192.168.214.x.
TL; DR: Embora não seja aconselhável em configurações profissionais, o NETMAP pode ser útil.
Aqui está um exemplo que me permite usar 10.0.0.x em ambos os lados e ainda conectar via OpenVPN. Em vez de enviar a rota real para os clientes, você usa uma sub-rede incomum:
OpenVPN
push "route 10.11.12.0 255.255.255.0"
NETMAP
iptables -t nat -A PREROUTING -d 10.11.12.0/24 -j NETMAP --to 10.0.0.0/24
NAT de origem (supondo que você esteja usando a sub-rede 10.8.0.0/24 padrão do OpenVPN)
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j SNAT --to-source PUBLICIP
Isso funciona muito bem, mesmo com a substituição do gateway padrão. Pode ficar confuso se você estiver usando seu próprio DNS:
push "dhcp-option DNS 10.11.12.1"
Isso porque, embora você possa acessar o servidor DNS (que está no 10.0.0.1), ele retorna endereços baseados em sua sub-rede, não no NETMAPed. Pode haver maneiras de contornar isso. Estou pensando nas visões do BIND, por exemplo, não sei se o Samba é capaz de algo assim.