Lorsque vous utilisez deux interfaces réseau sous macOS pour vous connecter à différents réseaux, il est généralement impossible d'accéder simultanément aux réseaux internes et externes du système. Cela est dû au fait que l'ordinateur ne sait pas quels segments de réseau appartiennent définitivement au réseau interne.
Définir l'ordre de service des interfaces réseau
Allez dans Préférences Système - Réseau - Définir l'ordre de service et faites glisser pour ajuster la priorité des réseaux. Placez l'interface réseau connectée au réseau externe au-dessus de celle connectée au réseau interne. Cela permettra un accès normal au réseau externe.
Définir les segments de réseau appropriés pour l'interface réseau interne
Obtenez l'adresse de passerelle pour l'interface réseau interne. Le réseau interne utilise généralement des adresses IP fixes. Quelle que soit la méthode utilisée, vous pouvez trouver l'adresse du routeur dans les paramètres réseau - interface avancée. Cette adresse sera utilisée dans l'étape suivante pour configurer la passerelle.
Configurer les segments de réseau internes
Pour permettre l'accès au réseau interne, configurez des routes statiques locales et ajoutez les segments de réseau pointant vers la passerelle du réseau interne appropriée.
Ajouter:
sudo route add -net 10.0.0.0 -netmask 255.255.0.0 10.0.2.1
sudo route add -net 30.1.0.0 -netmask 255.255.0.0 10.0.2.1
Supprimer:
sudo route delete -net 10.0.0.0 -netmask 255.255.0.0 10.0.2.1
sudo route delete -net 30.1.0.0 -netmask 255.255.0.0 10.0.2.1
Le paramètre 'net' correspond à l'IP du segment de réseau, 'netmask' est le masque de sous-réseau. La dernière adresse IP est la passerelle du réseau interne, qui est l'adresse IP du routeur obtenue à l'étape précédente.
Tester la connectivité entre les réseaux internes et externes
Avant de tester si les réseaux internes et externes sont connectés, veuillez éviter d'utiliser un navigateur web pour le test. Cela est principalement dû au fait que les navigateurs web mettent souvent en cache les résultats de la résolution des noms de domaine, ce qui peut ne pas fournir de résultats en temps réel. De plus, la résolution des noms de domaine dans le réseau interne échoue généralement. Les raisons spécifiques seront expliquées ci-dessous.
Utilisez la commande ping pour pinger les adresses appropriées pour les réseaux internes et externes. Ce résultat peut déterminer si les deux réseaux peuvent être accédés simultanément avec succès.
# Afficher la table de routage actuelle
netstat -rn
# Obtenir la route par défaut
route get 0.0.0.0
Sur les domaines de réseau internes et la résolution DNS interne
Si le serveur DNS interne ne résout pas les adresses réseau externes, il n'est pas possible de résoudre automatiquement les domaines de réseau internes et externes uniquement par des paramètres.
Sous macOS, il n'est pas possible d'ajouter des adresses de serveurs DNS internes et externes pour résoudre les adresses réseau internes vers l'interface réseau externe. Une méthode pratique consiste d'abord à désactiver l'interface réseau externe, à entrer en mode réseau interne pur, à pinger le nom de domaine du réseau interne pour obtenir l'adresse IP interne, puis à l'écrire dans le fichier Hosts pour une résolution locale.
Tester les résultats de la résolution DNS
Vous pouvez utiliser la commande nslookup avec le nom de domaine pour vérifier quel serveur DNS est actuellement utilisé pour la résolution des noms de domaine.