Eu tenho um mac executando o macOS 10.14 e ele está conectado a uma VPN (usando OpenVPN) com o gateway da VPN sendo o gateway/rota padrão para todo o tráfego de saída. Isso tem o efeito de que não consigo me conectar a nenhum serviço no meu mac a partir de um endereço IP externo arbitrário, mesmo que eu tenha configurado corretamente o encaminhamento de porta no meu roteador. (Outros sistemas da mesma rede local que o mac podem se conectar a seus serviços, no entanto.)
Existe alguma maneira de configurar as coisas para que uma conexão de entrada de um IP não local em uma porta específica seja roteada para o IP local / adaptador de rede física do meu mac, em vez de por meio da VPN?
Estou aberto a soluções que envolvam alterar algo na configuração do meu mac, talvez usando rotas estáticas ou pf, ou alterar a configuração do meu roteador. Por exemplo, se houver alguma maneira de configurar meu roteador para encaminhar o tráfego de entrada nesta porta para o meu mac, mas alterar o IP de origem dessa conexão para o IP do roteador, acho que isso resolverá o problema.
Isso é muito feio na minha opinião, mas sim, deve ser fácil de fazer. A conversão do IP de origem é feita com SNAT regular (mascaramento) que o roteador já usa para todos os pacotes de saída, apenas precisa ser aplicado ao tráfego de entrada desta vez.
Depende do seu roteador se a interface do usuário permitirá que você configure o SNAT para qualquer coisa além do tráfego de saída regular, mas qualquer coisa baseada em iptables (OpenWRT ou RouterOS) ou nftables ou pf terá a capacidade.
Uma resposta que implementa o roteamento específico da fonte via macOS
pf
geralmente seria uma solução melhor.Como alternativa, se o roteador (em vez do próprio macOS) fosse o cliente OpenVPN, você poderia aplicar as respostas existentes de "roteamento de política do Linux" a ele.