this question has been asked before several times, but never anyone brought up any reasonable solution.
? Is there any way, from within a Windows guest, to find the hostname or IP address of the ESX host ?
The scenario is as follows:
I am working on a virtual host (Windows 7 guest, I have Admin privileges on the guest, VMWare Tools are installed, I can install PowerCLI or any other tool if I want to [though I assume it wouldn't help]).
Now I need to contact the administrator of the underlying ESX server. If I can find out either the ESX server name, or the IP address, I can find out whom I must contact.
Is there any way from within the client to find either the ESX host name or its IP address?
Thx, Armin.
P.S. please don't - like many other postings do - suggest workarounds requiring that I do
a) set any info on the host side which I can later query from the client - cannot do this in my scenario, and to have anyone else do this I need to find the responsible person first.
b) say it cannot be technically done for some reason (including "sandbox" and "security") - I have VMware Tools installed, look at the "VMWareToolboxCmd.exe stat" command - it can retrieve various infos from the underlying host, like the clock time or the speed of the CPU, so there are ways to communicate with the host, but I failed to find any command to retrieve the host name or IP address.
c) use PowerCLI, VSphere client, etc. As far as I know all those approaches require that one knows the ESX hostname and has login credentials for the host, not the guest. I don't have login credentials for any ESX machine in the company.
Related
I am beginner in VMware. I am trying to understand the VMware components and how it works.But I could not understand how vsphere Client access the EXSi host. Is it directly or through the VMWare VCenter server.please give any reference or explanation to get the understanding.
Using vSphere client you can connect to vCenter or directly to host. Of course if host is added to vCenter you should to connect ONLY to vCenter because vCenter should to know about any changes made on hosts. Connecting directly to host should be done ony in emergency situations (e.g. vCenter is down).
V-Center is the umbrella, under which all EXSI can be controlled. We can assume an example of a company where we have 3 physical servers installed ESXi on it and each server has as many processors cores so it can handle 5 virtual machines on it.
Now What is EXSi ---- EXSI is the product/OS/kernel which will allow you to create the environment to run multiple Servers/OS on the same hardware.
V-sphere client/V-sphere Web client --- If you have only one EXSI Server and you want to control that server functionality you need v-sphere because taking direct connection of EXSI Hardware machine will not allow you to do much with it. so the v-sphere client will give you many tools to play with it.
V-Center/VC ----- Now what if when your company has many ESXi servers as we taken for example. V-Sphere can not control all of those into one centralized platform. Here VC comes into play. VC allow you to manage all of these servers under one tool and many other functionalities which are not available in V-Sphere like Distribution switch, V-Motion(Which allow you to migrate one VM machine from Hardware to hardware in the fluctuation of time or not human noticeable time ).
I red lot of post about this question without find the good answer. The situation is simple, I have a server (Go) running on Ubuntu 14.04 (VMware Workstation 12.1.0 Pro). It listens on the 8001/8002 ports. From the host of the VM (Windows 10), I can access it from the host (Windows 10) but from my Xamarin Application or the others computers, I can't access this server.
I tried lot of things such as port transfer, edit of the NAT propreties (of the VM) and edit of the vmnetnnat.conf file as well. I tested about bridge connection but I didn't find the way to make it works with this way. etc
I also did transfer port from my internet box to get the access by IP instead of private network address (192.168.XXX.XXX) but it didn't works too.
If anyone can help, thank !
By default your Workstation configures your VM in either NAT or Host-only or event in Custom network configuration what means your host computer (you Windows 10) is the only endpoint which can access this box without any additional configuration in your router.
I would suggest you the easiest way is to use "Bridge" configuration what you mentioned below by getting (perhaps DCHP) IP schema from your parent router (the one gives your Windows 10). Thus your VM will be available across your "Home network", Once done, check your ICMP (pings) from Windows 10 to your VM, make sure you can see it.
Second point is that your 8001/8002 ports might be closed by firewall (iptables) in your ubuntu / Windows 10. You probably want to check your both firewalls as your traffic is being routes by "Virtual router" of Workstation.
Ok, I have a quick question to ask all the veteran Wamp users on this board.
At work, we are currently working on a web application. We are trying to use Wamp to design everything, but we have a problem. All the computers right now have wamp installed to the default location (C:/wamp).
Our problem is, we all want to have access to the same MySQL database so we can edit it at the same time. Right now, only one person can edit it at a time to prevent losing the work of someone else.
When done, we just dump the mySQL folder onto a network drive so whoever wants to edit it next can take it and use it.
This isn't very time efficient, so we're wondering if its possible to install Wamp directly to a network drive in some way. We tried doing it just now but we can't get Wamp to start services.
So any type of advice will be helpful
i think these two thing would help you :
1: install wamp in only one system then in apache configuration file listen to his lan ip in order to others can access it in this way you have just one database server
2: as you've installed wamp to all systems choose one system's database as main and in mysql configuration define a new server wich server's ip is that system's lan ip
then users instead of using localhost for connecting to mysql will use that ip
I am migrating my vCenter Server 5.5 to a new server (databases have already been moved to a new SQL server and all is OK on existing vCenter Server 5.5 implementation). When I begin the simple install process on the new vCenter Server host the Single Sign-On component presents me with an IP address of 10.10.10.117 as the ip address of the FQDN file01.xxxxxxxxx.com. This is the iSCSI interface address. I need it to use the 10.1.1.17 ip address that is the address of the production NIC that the ESXi 5.5 hosts will be communicating with. I have already changed the binding order of the NIC cards and flushed the DNS cache. I also added file01.xxxxxxxx.com with the proper IP address to the hosts file and also file01 to the hosts file. Still, during the install, 10.10.10.117 is discovered. Thanks in advance! Babak C.
Just to get a quick clarification...are you freshly installing vCenter 5.5? Or are you migrating an existing vCenter server to a new host and using the update utility to upgrade? I am assuming you are doing a fresh install based on your details about the SQL server and SSO. Here is my suggestion, in case it is a fresh install.
We had a similar problem with 5.5 on a new install where the IP address that was discovered during the actual vCenter Server install was that of the public facing NIC which we never use for management traffic (it's for internet access on the vC server, for update manager, etc.)
The strange thing is that there had NEVER been an entry in ANY of our DNS servers for that interface. So, after looking into it a little bit, I started thinking the IP that was returned during install was not a DNS result at all. Rather, it was (most likely) simply gathered from the interfaces on the Server based on binding order (e.g. which NIC has the default gateway.)
In order to save having to uninstall and clean up a major mess if the install completed wrong, we stopped and got in touch with VMware support. They suggested we clear all of the temporary files both in the standard "temporary" folder on windows as well as under /ApplicationData/vmware/xxx, where 'xxx' would be whatever product is giving you trouble and HAS NOT been FULLY INSTALLED* (e.g. you started the install and noticed the incorrect IP, so you terminated the installer and there is metadata and cached files remaining from the partially run install).
Basically, what we had to do, was clear the temporary files and then make sure the NIC Binding Priority was correct (so you should check in Network Adapters|(press-alt)|Advanced Settings. Make sure the correct binding is checked (e.g. if you don't use IPv6 on the private network, clear it) and make sure that the Windows Network is at the top of the priority list on the second pane of the advanced settings. This helps tremendously with SSO by making sure the Windows Network stack is the first queried when you are signing in and SSO must submit a kerberos ticket to the AD DC for validation.
It is possible, that once you delete the partial install files and temporary files and fix the network settings (probably be a good idea to reboot as well), the next time you run the installer you might have success.
I will try to check this post later to see if it helped you at all... or it I just succeeded in making your life even more difficult (which I certainly hope not!) :)
One more thing...prior to initializing the installer, open up a PS session, perform ipconfig /flushdns and then ping the hostname of your vCenter server in order to get it in the DNS cache. You should also perform the following:
nslookup
NS>{your vcenter server IP address}
/* make sure the resulting hostname is correct..this ensures your PTRs and rDNS is working correctly. vCenter HEAVILY relies on accurate reverse DNS configuration...then do the following lookup for forward DNS */
NS>{your vcenter server FQDN}
Hope it helps. Best of luck my friend!
SIETEC
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
Let's suppose I have VMWARE workstation (guesting Windows and hosted by Windows).
Is there any possible way to receive host name of hosting machine?
And without changing things on host machine like in this link.
I do this by passing a string from host to guest via machine.id. It does require making a change on the host (in every VM's .vmx file, too), and it doesn't automatically discover the host's hostname, but it works. On the host, with the VM in question powered down, edit the .vmx file for the VM. Find or add a line that looks like:
machine.id = "<string>"
Set <string> equal to some identifying string that will tell you the name of the server. This could be the hostname, or it could be a shortened version of it, or even some unintelligible code if you prefer, as long as you know what it means. If, however, the .vmx file has a line that sets
isolation.tools.machine.id.get.disable = TRUE
passing a string won't work, so if this line is present you might want to either remove/comment it or set the value to FALSE.
On the guest OS, if you have VMware Tools installed, you can then do this (for Linux guests):
vmware-guestd --cmd 'machine.id.get'
or (for Windows guests, which I haven't tried):
VMwareService --cmd machine.id.get
I know this is an old thread, however if anyone is still interested "thomas lee"'s answer above works on recent version of VMWare workstation and VMWare fusion. The new command to retrieve the value is
rpctool machine.id.get
Using this in deploying managed VMs for Fusion so that the machine name is auto set at first boot. Thanks Thomas.....
If you are able to install PowerCLI on your guest operating system, you can access some ESX host information by looking up the VM that your script is running on:
Connect-VIServer -Server <myvcenterserver>
$myVM = Get-VM -Name $(dir env:COMPUTERNAME).Value
$myVM.Host.Name
Note: This assumes your guest has the same hostname as the VM name in vCenter.
For Linux guests (the OP stated Windows) I use the pyVmomi Python module to perform a similar lookup.
In principle - no.
However, it is possible that there may exist (or will exist) certain vulnerabilities that allow a malicious guest OS to bypass the VM sandbox. For instance, read up on the Blue Pill. You can also read more details on the researcher's own blog, Invisible Things by Joanna Rutkowska.
Of course, these are just proof of concept, but any security implemented in software is subject to software bugs...
I think there are probably a number of ways to do this, and can think of two off the bat:
One would be to install ViX in the guest, connect to the host without specifying the hostname, (Google "ViX reference" then see "common tasks") then use Vix_CopyFileFromHostToGuest() to copy the file /etc/vmware/esx.conf.
Another would be to create some sort of network connection from the guest to the host (I used ssh but if you don't know the hostname or IP you could still do the ViX connection thing as above and dispatch a job that takes a while) and then say netstat -a in the guest. The netstat output will contain the hostname, if it is resolvable.
You have effectively two computers on a network. If you use one of the private network/NAT style set-ups for the virtual NICs, then the host has a fairly predictable IP address, so you could then use any of the many remote admin approaches to ask it just like you would any other.
If there is only the one guest OS, then just trying every IP address with the same leading 24 bits as the guest's IP address would save baking in a guess at an address.
In vSphere
Click your host
Click Configuration Tab
In Software Section Click DNS and Routing