J'ai basculé vers macOS Sierra et je ne parviens pas à faire fonctionner la redirection de port pour localhost (http et https) en utilisant l'interface en boucle lo0. J'utilise pf et je suis les instructions existantes pour El Capitan mais sans succès :
https://apple.stackexchange.com/a/230331/81267, http://blog.brianjohn.com/forwarding-ports-in-os-x-el-capitan.html
Essentiellement, j'ajoute ifconfig :
sudo ifconfig lo0 10.0.0.1 alias
Ensuite, je crée un fichier d'ancrages pf
: /etc/pf.anchors/myorganization
rdr pass on lo0 inet proto tcp from any to 10.0.0.1 port = 80 -> 127.0.0.1 port 3000
rdr pass on lo0 inet proto tcp from any to 10.0.0.1 port = 443 -> 127.0.0.1 port 7000
J'ajoute une référence à ce fichier dans pf.conf (j'ai dû désactiver puis réactiver SIP pour faire cela) :
rdr-anchor "myorganization"
...
load anchor "myorganization" from "/etc/pf.anchors/myorganization"
Je teste les ancres :
sudo pfctl -vnf /etc/pf.anchors/myorganization
et le résultat semble bon :
...
RÈGLES DE TRADUCTION :
nat-anchor "com.apple/*" all
rdr-anchor "com.apple/*" all
rdr-anchor "myorganization" all
...
Je les ai activés :
sudo pfctl -evf /etc/pf.conf
J'ai ajouté localhost
à mon /etc/hosts
127.0.0.1 localhost
Mais lorsque je navigue vers http://localhost
j'obtiens ERR_CONNECTION_REFUSED
. Si je navigue vers http://localhost:3000
le site fonctionne bien.
Mise à jour J'ai activé le journalisation de pf et essayé sans l'alias 10.0.0.1 :
rdr pass log (all) on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 3000
rdr pass log (all) on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 7000
Et la première fois que j'accède à http://localhost, je vois le journal :
00:00:00.000000 rule 4294967295/8(ip-option): pass in on en0: (tos 0x0, ttl 1, id 59674, offset 0, flags [none], proto IGMP (2), length 32, options (RA))
192.168.0.106 > 224.0.1.60: igmp v2 report 224.0.1.60
00:00:00.204784 rule 4294967295/8(ip-option): pass in on en0: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
192.168.0.3 > 224.0.0.252: igmp v2 report 224.0.0.252
00:00:00.093232 rule 4294967295/8(ip-option): pass out on en0: (tos 0x0, ttl 1, id 11047, offset 0, flags [none], proto IGMP (2), length 32, options (RA))
192.168.0.77 > 224.0.0.251: igmp v2 report 224.0.0.251
00:00:00.111608 rule 4294967295/8(ip-option): pass in on en0: (tos 0x0, ttl 1, id 60629, offset 0, flags [none], proto IGMP (2), length 32, options (RA))
192.168.0.106 > 239.255.255.250: igmp v2 report 239.255.255.250
00:00:00.102426 rule 4294967295/8(ip-option): pass in on en0: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 32, options (RA))
192.168.0.3 > 224.0.0.251: igmp v2 report 224.0.0.251
00:00:00.000120 rule 4294967295/8(ip-option): pass in on en0: (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 48, options (RA))
192.168.0.3 > 224.0.0.22: igmp v3 report, 2 group record(s) [gaddr 224.0.0.251 is_ex, 0 source(s)] [gaddr 224.0.0.252 is_ex, 0 source(s)]
Les visites ultérieures à localhost n'ajoutent rien aux journaux et je vois que l'interface en boucle lo0 n'apparaît pas dans ce journal, juste en0 (Ethernet), donc je ne suis pas convaincu que cette sortie de journal soit pertinente pour le problème. J'ai également essayé d'ajouter en0 et en1 au fichier /etc/pf.anchors/myorganization
mais les résultats sont les mêmes.
0 votes
Veuillez ajouter des détails car, telle que la question est posée actuellement, elle n'a pas beaucoup de sens. Ajouter une deuxième adresse IP à lo0 ne résout pas nécessairement localhost vers cette adresse IP. Alors, quel est le but de l'alias 10.0.0.1 ? Une sorte de docker ?
0 votes
Essentiellement, cette question demande comment configurer le transfert de port. Je cherche des réponses sur comment faire cela.
0 votes
En entrant 10.0.0.1:80/443 dans le navigateur, une requête sera redirigée vers 127.0.0.1:3000/7000 ! Mais je doute que cela fonctionne avec localhost:80/443 puisque localhost est lié à 127.0.0.1 et non à 10.0.0.1.
0 votes
Que suggérez-vous que je fasse pour que localhost fonctionne ?
0 votes
RE: 10.0.0.1 - cette ligne était quelque chose que j'ai trouvé ici serverfault.com/questions/102416/… et que j'ai supposé être utile. J'ai essayé la même chose sans l'alias 10.0.0.1 mais avec les mêmes résultats