Na minha rede doméstica (10.0.1.0/24) tenho meus Macs e dispositivos iOS (os outros não importam). Os clientes de rede local ganham acesso IPv4 e IPv6 (nativo) por meio de um Airport Extreme (AEBS) conectado a um modem a cabo na Comcast (não tenho escolha melhor). Eu preciso de uma VPN para acessar alguns recursos de trabalho $ e seria conveniente se a VPN "apenas funcionasse" na tela que tenho à mão. Para evitar o gerenciamento de um cliente VPN em cada dispositivo, executo o OpenVPN no meu servidor (10.0.1.252).
Na conexão com a VPN, o servidor obtém as rotas estáticas típicas adicionadas e eu habilitei o encaminhamento e o NAT para que o tráfego de $ private_lan -> <vpn_netblocks>
seja corretamente roteado pelo NAT para o túnel da VPN (tun0). Meu recursor de DNS é executado nesse servidor e sabe encaminhar determinadas solicitações de DNS para os servidores DNS internos. Tudo funciona.
O último bit é fazer com que os clientes da LAN estejam cientes da VPN. Sua rota padrão é o AEBS (10.0.1.1). Isso é ideal porque o AEBS e o modem a cabo têm sua própria bateria, portanto a rede permanece várias horas após a falta de energia. Para que os clientes de rede local obtenham acesso VPN, eles precisam aprender sobre as rotas mais específicas disponíveis no servidor. No Mac OS, a adição manual de rotas estáticas como esta funciona:
route add 10.7.0.0/16 10.0.1.252
A questão é como informar automaticamente os dispositivos Mac e iOS que essas rotas estão disponíveis. Eu não posso adicionar rotas estáticas para o AEBS (eu ficaria feliz em ser provado errado!). Alterar a rota IPv4 padrão para apontar para o servidor é meu último recurso.
Eu tentei adicionar as rotas para dhcpd.conf como rotas estáticas (código de opção dhcp 121), conforme documentado no RFC 3442 . Aqui estão as partes relevantes do meu dhcpd.conf:
# options for static routes
option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;
subnet 10.0.1.0 netmask 255.255.255.0 {
option rfc3442-classless-static-routes 16, 10,7, 10,0,1,252;
option ms-classless-static-routes 16, 10,7, 10,0,1,252;
# needed b/c this overrides option routers
option rfc3442-classless-static-routes 0, 10,0,1,1;
option ms-classless-static-routes 0, 10,0,1,1;
}
As opções estão sendo servidos por dhcpd mas eles são ignorados pelo Mac OS X . Existe:
- Alguma outra opção DHCP que funcione?
- Se eu configurar o OSPF ou o RIP, ele "funcionará" apenas para dispositivos Mac e iOS?
- Algo como o Neighbor Discovery Protocol for IPv4?
Ponteiros para documentação que é conhecida por trabalhar é muito apreciada.
Atualizar
- Adicionado o dhcpd.conf mostrando minha configuração
- Adicionado link para a Apple Discussão citando nenhum suporte para RFC 3442