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

10

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

A conexão da extranet é fornecida por meio de um roteador Wireless-N (vamos chamá-lo de Wi-Fi X). Meu servidor Mac Mini é configurado com a conexão a este roteador como a conexão principal, portanto, acesso irrestrito à Internet através do roteador. As conexões a 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 a clientes no intervalo 192.168.11.150-192.168.11.200 usando PPTP e L2TP, e posso conectar-me à extranet através da VPN usando o Mac padrão O cliente VPN OS X nas Preferências do Sistema, no entanto, sem surpresa, um endereço local (vamos chamá-lo internal.company.com) não retorna nada.

Eu tentei ignorar a limitação do servidor VPN configurando rotas nas configurações de VPN. Nossa empresa usa 13.x.x.x para todo o tráfego interno, em vez de 10.x.x.x, portanto, a tabela de roteamento se parece com isso:

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 foi inserido aqui, todo o tráfego foi encaminhado através da VPN. Com algo inserido, somente o tráfego especificamente marcado para percorrer a VPN passaria pela VPN, e todo o tráfego restante seria de responsabilidade do cliente para acessar usando sua própria conexão padrão. É por isso que eu tinha que marcar especificamente cada sub-rede, exceto 13.x.x.x como Particular.

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 inserir nomes de host como internal.company.com não é chutado de volta para o cliente para resolver, porque o servidor não tem idéia de que o endereço IP cai no intervalo público, desde que eu suspeito (provavelmente deve testar o ping, mas não tem acesso a ele agora) que não é possível acessar o servidor DNS para descobrir qualquer coisa sobre esse nome de host.

Parece-me que todas as minhas opções para resolver tudo 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 sou capaz de fazer [algo] para obter o meu servidor para reconhecer que também deve verificar o meu gateway local (digamos IP do servidor == 13.100.100.50 e IP do gateway == 13.100.100.1). De lá, o IP do gateway pode me dizer para ir encontrar o Servidor DNS no 13.1.1.1 e me fornecer informações sobre a minha rede interna. Estou muito confuso sobre esse caminho - realmente não tenho certeza se estou fazendo sentido.

Eu pensei em tentar fazer isso do lado do cliente, mas isso não faz sentido, pois isso adicionaria tempo a cada configuraçã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 um fardo desnecessário isso.

Alguma ajuda por aí? Ou eu estou em cima da minha cabeça? O proxy de reencaminhamento ou o proxy transparente também é uma opção para mim, embora eu não tenha ideia de como configurá-los. (Eu sei, o Google é meu amigo.)

    
por Dan Robson 21.09.2012 / 00:58

1 resposta

2

Bem, dou uma chance:

Não tenho a certeza de como obter apenas algum tráfego para resolver o problema, mas seria necessário alterar um pouco a configuração. Estou assumindo que seu Mac tem duas interfaces de rede, vamos chamá-las de eth0 e eth1: -)

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

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

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

1) Verifique se a tabela de roteamento no Mac tem uma entrada como a seguir:

$>sudo route add 13.0.0.0/8 eth0

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

Eu iria desfazer o que você fez com a tabela de roteamento VPN acima e tente isso se não (espero) já existir.

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

    
por 11.01.2013 / 21:14