Roteamento VPN para hosts com vários endereços IP [fechados]


7

Eu uso o Mikrotik RouterOS como roteador NAT. Alguns hosts atrás do roteador também têm uma conexão direta com a Internet e esses hosts têm uma rota padrão para o gateway do ISP em vez do RouterOS. Eu configurei um servidor OpenVPN no modo tun em um desses hosts com ip público. O problema é que os clientes VPN não podem se comunicar com hosts que possuem um IP público porque eles têm uma rota padrão para o ISP. Posso colocar uma rota estática no RouterOS, mas não tenho controle sobre o roteador do meu ISP. Portanto, os pacotes enviados ao cliente VPN são enviados ao link WAN em vez do servidor VPN. Que opções eu tenho?

conjunto DHCP privado 172.16.10.0/24, gateway 172.16.10.1 (RouterOS)

Conjunto OpenVPN 172.16.11.0/24

  1. modo de toque, muita sobrecarga
  2. modo tun, pool VPN dentro do pool DHCP e proxy-ARP do servidor OpenVPN para o pool VPN na LAN
  3. modo tun, adicione uma rota estática para o pool OpenVPN em todos os hosts com um IP público. Isso não escala bem, muito trabalho em um ambiente misto
  4. IPv6. O problema é que muitos aplicativos do Windows (por exemplo, produtos VMware) têm pouco suporte para IPv6. Todos os hosts têm conectividade IPv6, mas os clientes VPN podem ter dificuldade em obter o IPv6.

Eu sei que provavelmente deveria colocar tudo atrás do firewall. Farei isso depois de obter um Juniper SRX. Não tenho IPs públicos suficientes para cada host. E o RouterOS / pfSense não é adequado para um ambiente com IPs públicos / privados mistos. Eu tenho que admitir que esse é um projeto ruim, qualquer caminho de migração sem gastar muito? Não é produção, apenas uma rede doméstica um pouco complicada.

Agradeço sua opinião.

Edit1 (Resposta à resposta do JelmerS): Isso é factível, mas não escala muito bem como mencionei no OP. No ambiente, tenho diferentes sabores de dispositivos BSD, Linux, Windows e autônomos sem shell (por exemplo, impressora, dispositivos de monitoramento de rede, telefone). Tentarei as opções 33 e 121 do DHCP, sem saber se elas são suportadas em diferentes dispositivos.

Edit2 (resposta à resposta de Joseph Drane): 1. Atualmente, os hosts com um IP público têm um link para a LAN do RouterOS e outro para o ISP (ignorar o RouterOS)

  1. Existe alguma justificativa para fazer NAT estático? Parece desnecessário (penalidade de desempenho pesado)

  2. O firewall que estou procurando pode funcionar bem no modo transparente. O DHCP / NAT pode ser totalmente executado por outra caixa. Mas a maioria dos firewalls que usei não suporta / funciona bem no modo transparente e é difícil de solucionar (falta de visibilidade)

Edit3: O RouterOS é executado no ESXi. Existem outros sistemas operacionais convidados. O ambiente é misturado com hosts físicos / virtuais. Eu tenho interfaces NIC suficientes na caixa ESXi. Quero a flexibilidade para permitir que os hosts alternem facilmente entre endereços públicos / privados.

Respostas:


3

As rotas são sempre escolhidas em ordem de especificidade. Digamos que um host tenha uma rota para 10.0.0.0/8 pelo roteador A e 10.0.1.0/24 pelo roteador B. Assim que desejar enviar um pacote para 10.0.1.1, ele preferirá o roteador B ao invés do roteador A. route é a rota menos específica que você pode ter. Qualquer outra rota que você adicionar será preferida a uma rota padrão. Portanto, a resposta é simples: adicione uma rota específica ao pool de DHCP VPN através do roteador Mikrotik. Não se esqueça de tornar as rotas persistentes, para que elas sobrevivam a uma reinicialização. Considerando que o seu pool DHCP é 10.0.1.0/24e seu Mikrotik tem IP 1.1.1.1e está conectado eth0, aqui está o comando para o Windows:

route add -p 10.0.1.0 MASK 255.255.255.0 1.1.1.1

Para Linux, uma rota persistente é adicionada editando o /etc/sysconfig/network-scripts/route-eth0arquivo para definir rotas estáticas para a eth0interface.

GATEWAY0=1.1.1.1
NETMASK0=255.255.255.0 
ADDRESS0=10.0.1.0

2

Portanto, como você já sabe, hosts com endereços IP públicos atribuídos não são bons. Estou referenciando seu comentário sobre colocar um firewall na frente.

Eu usaria seu roteador, adicionaria outra interface para uma rede DMZ. Essa rede DMZ usaria endereços IP privados, não públicos.

Então, dentro do seu roteador, basta enviar NAT ao público para esse endereço IP privado.

Configuração tão atual: [internet] ----> RouterOS -----> Host com IP público

Nova configuração / configuração: [Internet] ---> RouterOS <---> IP público NAT 60.70.80.90 <--to--> 192.168.100.90 ----> Host com IP privado 192.168.100.90

Então agora você pode simplesmente colocar uma rota para a sub-rede / rede 192.168.100.90 que será a sub-rede / rede DMZ.

Você pode fazer algumas coisas legais com as Tabelas IP no que diz respeito a ter um firewall "improvisado", mas eu não sou o cara que ajuda com isso. Eu sou um cara da Cisco.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.