Servidor VPN para Mac OS X 10.8: ignore o tráfego VPN para LAN (roteando o tráfego LAN para a conexão secundária)

10

Tenho uma configuração estranha para um servidor VPN com o OS X Mountain Lion. Ele está sendo essencialmente usado como uma ponte para desviar o firewall da minha empresa para a conexão da extranet - certas coisas que nossa equipe precisa exigir acesso irrestrito ao exterior, e alterar as políticas de TI para permitir o tráfego através do firewall principal não é apenas uma opção.

A conexão da extranet é fornecida através de um roteador Wireless-N (vamos chamá-lo de Wi-Fi X). Meu servidor Mac Mini está configurado com a conexão com este roteador como a conexão principal, portanto, acesso irrestrito à Internet pelo roteador. As conexões com este dispositivo na sub-rede imediata são possíveis através da porta LAN, mas fora da sub-rede as coisas são menos confiáveis.

Consegui configurar o servidor VPN para fornecer endereços IP para clientes no intervalo 192.168.11.150-192.168.11.200 usando PPTP e L2TP, e consigo conectar-me à extranet através da VPN usando a VPN padrão do Mac OS X cliente nas Preferências do sistema, no entanto, sem surpresa, um endereço local (vamos chamá-lo internal.company.com) não retorna nada.

Tentei ignorar a limitação do servidor VPN configurando rotas nas configurações da VPN. Nossa empresa usa 13.xxx para todo o tráfego interno, em vez de 10.xxx, portanto, a tabela de roteamento tinha a seguinte aparência:

IP Address ---------- Subnet Mask ---------- Configuration
0.0.0.0               248.0.0.0              Private
8.0.0.0               252.0.0.0              Private
12.0.0.0              255.0.0.0              Private
13.0.0.0              255.0.0.0              Public
14.0.0.0              254.0.0.0              Private
16.0.0.0              240.0.0.0              Private
32.0.0.0              224.0.0.0              Private
64.0.0.0              192.0.0.0              Private
128.0.0.0             128.0.0.0              Private

Fiquei com a impressão de que, se nada fosse inserido aqui, todo o tráfego seria roteado através da VPN. Com algo digitado, apenas o tráfego especificamente marcado para passar pela VPN passaria pela VPN e todo o restante tráfego ficaria a cargo do cliente usando sua própria conexão padrão. É por isso que eu tive que marcar especificamente todas as sub-redes, exceto 13.xxx, como Privadas.

Minha suspeita é que, como não consigo acessar o servidor VPN de fora da sub-rede local, ele não está fazendo uma conexão com o servidor DNS principal e, portanto, não pode ser acessado na rede maior. Eu estou pensando que digitar nomes de host como internal.company.com não é devolvido ao cliente para resolver, porque o servidor não tem idéia de que o endereço IP cai no intervalo público, pois eu suspeito (provavelmente deveria fazer o teste de ping, mas não tem acesso a ele no momento) que não pode acessar o servidor DNS para descobrir algo sobre esse nome de host.

Parece-me que todas as minhas opções para resolver isso se resumem ao mesmo tipo de solução:

Descubra como acessar o DNS com a conexão secundária no servidor. Eu estou pensando que se eu puder fazer [algo] para fazer com que meu servidor reconheça que ele também deve verificar meu gateway local (digamos IP do servidor == 13.100.100.50 e IP do gateway == 13.100.100.1). A partir daí, o IP do gateway pode me dizer para encontrar o servidor DNS em 13.1.1.1 e me fornecer informações sobre minha rede interna. Estou muito confuso sobre esse caminho - realmente não tenho certeza se estou fazendo sentido.

Pensei em tentar fazer esse lado do cliente, mas isso também não faz sentido, pois isso acrescentaria tempo a cada instalação do lado do cliente. Além disso, parece mais lógico resolvê-lo no servidor - eu poderia me livrar completamente da minha tabela de roteamento ou mantê-la - acho que a única diferença seria que o tráfego interno também passaria pelo servidor - provavelmente uma carga desnecessária para o servidor. isto.

Alguma ajuda por aí? Ou estou acima da minha cabeça? O proxy de encaminhamento ou o proxy transparente também é uma opção para mim, embora eu não tenha idéia de como configurar qualquer um deles. (Eu sei, o Google é meu amigo.)

Dan Robson
fonte
talvez este outro post possa ser útil
Lorenzo Von Matterhorn

Respostas:

2

Bem, eu dou uma chance:

Não tenho certeza de como obter apenas algum tráfego, posso resolver seu problema, mas levaria uma pequena alteração na sua configuração. Estou assumindo que seu Mac tem duas interfaces de rede, vamos chamá-los de eth0 e eth1 :-)

assumiremos que eth0 está conectado à sua rede de trabalho e tem um endereço interno (rede de trabalho) 13.1.1.6, sub-rede 255.0.0.0.

também assumimos que o eth1 está conectado ao seu WiFi X e tem um endereço (rede eth1 <---> WiFi X) de 192.168.1.10, sub-rede 255.0.0.0, para simplificar as coisas.

Eu configurei servidores VPN no BSD e Linux, mas não no Mac, no entanto, o conceito ainda será o mesmo, você tem opções, listarei um:

1) Verifique se a tabela de roteamento no Mac possui uma entrada da seguinte maneira:

$>sudo route add 13.0.0.0/8 eth0

O que isso fará é garantir que qualquer tráfego que chegue pela interface WiFi X ou VPN destinada à rede da sua empresa (a rede 13) chegue lá. Sem isso, o Mac (que fornece a ponte) realmente não tem como saber como rotear o tráfego entre as duas interfaces e, por padrão, tentará enviá-lo para qualquer interface que seja o padrão, que é o WiFi X que você declarou.

Gostaria de desfazer o que você fez na tabela de roteamento VPN acima e tentar isso se não estiver (espero) já lá.

Se o procedimento acima não o fizer, atualize a tabela de roteamento e a lista de endereços IP do seu servidor VPN ou atualize com qualquer correção encontrada. Espero que isso aponte a direção certa.

MDMoore313
fonte