Software: VMWare Fusion 2.05 on Mac OS X 10.5.8 (also applies to VMWare Workstation 6.5.2 on Vista, used for verification of the issue) Guest: Ubuntu Server 9.04 (also applies to Ubuntu Desktop 9.04, used for verficiation of the issue) VMWare Networking: bridged Router: Apple TimeCapsule, latest firmware
Issue:
After successfully installing Django 1.1 on the guest, and starting Django's built-in webserver (listening on 127.0.0.1:8000), I verified via wget 127.0.0.1:8000 (and also via Firefox on Ubuntu Desktop 9.04) that indeed the server works.
However, I haven't been able to connect to the Django server from the host machine.
Specifically:
In bridged mode the guest OS has the IP 172.16.1.6 (assigned via DHCP by the TimeCapsule), the host OS has the IP 172.16.1.2 (assigned via DHCP by the TimeCapsule). I can successfully ping the guest from the host, and also ping the host from the guest. But the Django server on port 8000 is not reachable from the host OS.
Is there any configuration setting that must be enabled for routing the Django server from the guest to the host? Either in Ubuntu, or in VMWare (Workstation or Fusion), or in Vista or Mac OS X?
EDIT:
I found the solution. When invoking django-admin.py runserver, there is a documented optional argument ipaddr:port. Setting this to 172.16.1.6 (instead of the default 127.0.0.1) enabled the correct routing from guest to host.