OS X üzerinde çalışmak için 127.0.0.1 dışındaki geridöngü adreslerini nasıl elde edersiniz?


55

Okuduğum her şeye göre, 127.xxx alt ağının tamamı geri dönmeli.

Ancak, Mac'imde yalnızca 127.0.0.1

Bunu daha önce de yaptım (muhtemelen başka bir işletim sisteminde olsa da) biliyorum ve yerel olarak birden fazla SSL sitesi geliştirmek ve yerel bir IP'ye erişmek için uzak hizmetleri tünellemek için çok yararlı oldu (örneğin, MySQL sunucuma ssh gönderebilirim ve sadece standart portu yerel makinemde aynı porta ilerletmekle birlikte, 127.0.0.2'de yerel sunucum 127.0.0.1'de çalışırken.

Yanıtlar:


72

İşte kısa cevap: sudo ifconfig lo0 alias 127.0.0.* up

Her takma ad ayrı ayrı eklenmelidir ( sudo ifconfig lo0 alias 127.0.0.2 up, sudo ifconfig lo0 alias 127.0.0.3 up). Test için manuel olarak yapılabilir veya bir altküme veya bu alt ağdaki mevcut diğer 250 sayının tam listesi, açılışta otomatik olarak yapacak olan StartupItems betiğine yapılabilir.

Uzun cevap: RFC3330'a göre, 127.0.0.0/8 - Bu blok İnternet ana bilgisayarı geridöngü adresi olarak kullanılmak üzere atanmıştır. Daha yüksek seviyeli bir protokol tarafından bu blok içindeki herhangi bir adrese gönderilen bir datagram, ana bilgisayar içine geri dönmelidir. Bu genellikle geridöngüleme için yalnızca 127.0.0.1/32 kullanılarak uygulanır, ancak bu blok içindeki hiçbir adres hiçbir yerde herhangi bir ağda görünmemelidir.


4
Keşke 127'de çalışması için bir yol olsaydı. *. *. *
Matthew Schinckel

Bunun CentOS'ta da işe yaradığı ortaya çıkarsa, efendim benden bir ödül alıyorsunuz.
Parthian Shot,

Aslında, her iki şekilde de bir ödül alırsın. CentOS için işe yaramadığından, cevabı bulduktan sonra bu soruyu soracağım ve cevaplayacağım.
Parthian Shot,

Nasıl farklı debian9 Gnu / Linux üzerinde geri döngü adreslerini kullanarak, liman 8 4 sunucuları kurmak superuser.com/a/1255308/62123
ctrl-alt-Delor

12

İlgilenenler için, işte 127.0.0 IP'lerinin tüm diğer adlarını ekleyen küçük bir bash betiği. *:

#!/bin/bash
for ((i=2;i<256;i++))
do
    sudo ifconfig lo0 alias 127.0.0.$i up
done

Bunu yanlış mı okuyorum? Yarattığınız şey sanki 127.0.0.1 ile 127.0.0.255 arasındaki tüm adresleri gösteriyor. Eğer "sudo ifconfig lo0 alias 127.0.0. $ İ up" i "sudo ifconfig lo0 alias 127. $ i. $ İ. $ İ up" değiştirirseniz, bu sizi doğru yapar. Ancak 2'den küçük bir şeyi atlarsınız. Öyleyse belki diğer iki sekizli için farklı bir değişken kullanın? Geridöngü için en yüksek IP adresi 127.255.255.255
Everett

1
@Everett, bunu doğru okudunuz, yalnızca 127.0.0. * Adreslerini yazıyor. Tüm aralığı kapsamamamın nedeni, 255 adresi bile işlemenin oldukça yavaş olması, 255x255x255'in çok uzun sürmesiydi.
laurent

1
Teşekkürler. Sadece beklentinin belirlendiğinden emin olmak istedim, çünkü birisi buraya gelip "Hey, 127.7.53.91 için işe yaramadı" diyecek. Bunu yapmazdım, ama biri yapacak ...
Everett

2
Aslında, @ Everett'in önerisi de işe yaramadı, çünkü yalnızca 127.7.7.7 ya da 127.42.42.42 gibi adresleri etkinleştirebilirdi; 127/8 bloğundaki tüm IP'leri gerçekten etkinleştirmek için üç ayrı döngüye ihtiyacınız olacak. Yine de bunu yapmak kesinlikle iyi bir fikir olmaz: Her IP’lerin ayrı ayrı etkinleştirilmesi gerektiğinden, atanan her IP’ye ekli kaynakların olması muhtemeldir; yaklaşık 17,7 milyon IP (yani 256 ^ 3) tahsis edilmesi bazı önemli sonuçlara yol açabilir ...
jwatkins

2
@jwatkins Alt satır: Yalnızca ihtiyacınız olduğunda bunları etkinleştirin; bu her şey için temel bir kuraldır, gerçekten.
William T Froggard
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.