En azından, ortak durumda, NAT tarzı ağın konuk için yapılandırıldığı mümkündür. VMWare NAT-ing sağladığı için, bize şu anda NAT-ing'in hangi adresler için olduğunu söyleyebilmelidir. vmrun list
Bu bilgilerin çıktısı gibi bir şey olmalıdır. Bu bir kusur değil ...
Ancak, her durumda, nasılsa nasıl öğrenebiliriz. İlk olarak, ifconfig
Mac'inizde çalıştırın (belki de ipconfig
Windows'ta aynı şeyi yapar, ancak test etmedim). Bu, makinedeki tüm ağ arabirimlerini listeler - hem fiziksel hem de sanal. Vmnet'leri arayın. Mac bilgisayarımda bu şunlar üretiliyor:
% ifconfig | grep -A2 ^vmnet
vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:01
inet 192.168.82.1 netmask 0xffffff00 broadcast 192.168.82.255
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:08
inet 192.168.123.1 netmask 0xffffff00 broadcast 192.168.123.255
Bu yüzden, misafirimin IP'si şu iki VM özel ağından birinde: 192.168.82.0/24 veya 192.168.123.0/24. Ev sahibinizde sadece bir, şanslı veya ikiden fazla olabilir - hepsini kontrol etmeliyiz. İşte benim için doğrudan komut satırına girilen çok basit bir tcsh-script. Her adres, vmnet tarafından yönetilen tüm C sınıfı özel ağlarda ping işlemi yapmaya çalışır ve ping başarılı olduğunda sona erer. Bu -W 500
seçenek ping'e bir yanıt için yalnızca yarım saniye beklemesini söyler (muhtemelen daha da az kullanabilir) ve -c 1
tam olarak bir paket göndermesini söyler:
% set i=2
% while ( $i < 255 )
while? ping -W 500 -c 1 192.168.82.$i && break
while? ping -W 500 -c 1 192.168.123.$i && break
while? @ i++
while? end
Yukarıdaki küçük komut dosyası, var olmayan adreslere ulaşmak için yapılan tüm başarısız girişimleri listelemek için bir süre çalıştı:
PING 192.168.82.2 (192.168.82.2): 56 data bytes
--- 192.168.82.2 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
PING 192.168.123.2 (192.168.123.2): 56 data bytes
...
Sonunda başarılı ve bitene kadar:
64 bytes from 192.168.123.130: icmp_seq=0 ttl=64 time=0.307 ms
--- 192.168.123.130 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
Voilà, misafirime ssh edebildim:
% ssh 192.168.123.130
Password:
Şimdi sadece tek bir misafirim vardı - bu yüzden bir ping'e cevap veren ilk IP adresi doğru olanıydı. Aynı anda birden fazla misafir çalıştırırsanız, bu tür geçerli özel IP adreslerinin bir listesini oluşturmak ve ardından doğru misafire girene kadar hepsini denemek için aynı veya benzer ping komutunu kullanmanız gerekebilir ...
(Ve belki de .130 yine de NAT tabanlı adresler için iyi bir tahmindir. Ama kesin olarak söyleyemem.)