J'ai deux ordinateurs sur le même LAN :
-
ancien : macOS High Sierra + Server.app
-
nouveau : macOS Mojave + Server.app
Les deux ont le pare-feu d'application désactivé
Lorsque j'exécute nc -l 8082
sur l'un, je peux me connecter depuis l'autre en utilisant un client telnet, dans les deux sens. Je peux également me connecter depuis d'autres Mac sur le réseau local.
Mais lorsqu'il est connecté depuis l'extérieur, l'ordinateur High Sierra accepte les connexions réseau, tandis que l'ordinateur Mojave ne le fait pas.
En d'autres termes, j'ai configuré le NAT du routeur et le pare-feu du routeur pour accepter le port 8082 et le diriger vers ancien, l'ancien ordinateur est disponible pour les connexions. Je vois le trafic (NAT et fw) dans le journal sur le routeur (j'ai activé la journalisation sur la règle NAT et la règle de pare-feu autorisée) :
Dec 28 03:48:21 ubntrouter kernel: [WAN_IN-40-A]IN=eth1 OUT=switch0 MAC=24:a4:3c:b3:ae:0a:02:1d:b5:ca:a9:4b:08:00 SRC=[clientexterieur] DST=[ancien:privateip] LEN=60 TOS=0x10 PREC=0x00 TTL=55 ID=18302 DF PROTO=TCP SPT=35900 DPT=8082 WINDOW=29200 RES=0x00 SYN URGP=0
Dec 28 03:48:21 ubntrouter kernel: [NAT-2-DNAT] IN=eth1 OUT= MAC=24:a4:3c:b3:ae:0a:02:1d:b5:ca:a9:4b:08:00 SRC=[clientexterieur] DST=[publicip] LEN=60 TOS=0x10 PREC=0x00 TTL=56 ID=18302 DF PROTO=TCP SPT=35900 DPT=8082 WINDOW=29200 RES=0x00 SYN URGP=0
Mais lorsque je fais exactement la même chose avec le nouvel ordinateur, je reçois 'Connexion refusée'. Je vois toujours la même tentative de trafic (à l'exception de l'IP interne privée bien sûr) dans le journal du routeur, cependant :
Dec 28 03:49:24 ubntrouter kernel: [WAN_IN-40-A]IN=eth1 OUT=switch0 MAC=24:a4:3c:b3:ae:0a:02:1d:b5:ca:a9:4b:08:00 SRC=[clientexterieur] DST=[nouveau:privateip] LEN=60 TOS=0x10 PREC=0x00 TTL=55 ID=53334 DF PROTO=TCP SPT=35946 DPT=8082 WINDOW=29200 RES=0x00 SYN URGP=0
Dec 28 03:49:24 ubntrouter kernel: [NAT-2-DNAT] IN=eth1 OUT= MAC=24:a4:3c:b3:ae:0a:02:1d:b5:ca:a9:4b:08:00 SRC=[clientexterieur] DST=[publicip] LEN=60 TOS=0x10 PREC=0x00 TTL=56 ID=53334 DF PROTO=TCP SPT=35946 DPT=8082 WINDOW=29200 RES=0x00 SYN URGP=0
Après de nombreuses heures de chasse aux erreurs, de vérifications et de re-vérifications, je dois maintenant conclure avec prudence que la différence se situe entre High Sierra et Mojave. D'une manière ou d'une autre, HighSierra accepte le trafic réseau, tandis que Mojave le bloque. Je soupçonne des mesures de sécurité d'Apple, acceptant le trafic de la plage IP locale mais pas lorsqu'il provient de l'extérieur de cette plage IP.
En supposant que c'est le cas. Qu'est-ce qui pourrait causer cela (le pare-feu de l'application est désactivé) et comment puis-je le résoudre afin de pouvoir réellement offrir un service depuis mon Mac vers le monde extérieur ?
0 votes
Essayez de désactiver le pare-feu avec la commande
pfctl -d
et de faire la connexion. Faites-nous savoir ce qu'il se passe...