Używam systemu OS X Mountain Lion na komputerze z lokalnym adresem IP 192.168.1.6 (jak podano zarówno przez narzędzie sieciowe, jak i ifconfig) i uruchamiam lokalny serwer programistyczny (Django) na porcie 8000, z którym chciałbym się połączyć z maszyny wirtualnej, na której działa system-gość na tym samym komputerze.Dlaczego mogę połączyć się z http://127.0.0.1:8000/, ale nie pod http://192.168.1.6/
W systemie operacyjnym (tj. OS X działającym na metalu maszyny z adresem 192.168.1.6) mogę połączyć się z moim testowym serwerem internetowym za pośrednictwem przeglądarki, przechodząc do 127.0.0.1:8000; lub localhost: 8000; ale nie podczas korzystania z lokalnego adresu IP urządzenia. Oto, co sprawia, że jest to dodatkowe mylące:
- Router nie filtruje portów; i, dla pewności, ustawiłem go tak, aby wyraźnie przekazywał do portów 8000 i 22 do 192.168.1.6; Mówiąc o porcie 22,
- Po uruchomieniu usługi SSH mogę połączyć się (z wiersza poleceń) przez ssh 192.168.1.6
- To nie jest problem z przeglądarką, ponieważ nie mogę też telnetować do 192.168.1.6 port 8000 (połączenie odmówił), podczas gdy I może telnet do 127.0.0.1 port 8000, i mogę również telnet do portu 192.168.1.6 22
- Zapora sieciowa jest wyłączona (jak podano w Preferencjach systemowych), ale musi być dodatkowo Bezpiecznie, ustawiłem też regułę ipfw, aby wszystko działało przez:
Oto zasady ipfw:
00100 allow tcp from any to any dst-port 8000
65535 allow ip from any to any
Oto dodatkowe potwierdzenie, że port jest rzeczywiście, słuchanej przez mojego serwera testowego:
netstat -an | grep 8000
tcp4 0 0 127.0.0.1.8000 *.* LISTEN
więc co tu się dzieje? W jakiś sposób port 22 traktowany jest inaczej niż port 8000, ale w każdym miejscu, w którym mogę myśleć o tych różnicach, nie mogę ich znaleźć. Dlaczego nie mogę dostać się do portu 8000 tego komputera przy użyciu jego lokalnego adresu IP?
Dziękuję bardzo! – shanusmagnus
Kocham cię za to. –
Um ... dzięki. Więc ... czy to oznacza, że będziemy się teraz spotykać? ;) –