qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Networking in v0.6.0, HostOS=WinXP, GuestOS=Linux


From: Jason Brittain
Subject: [Qemu-devel] Networking in v0.6.0, HostOS=WinXP, GuestOS=Linux
Date: Wed, 18 Aug 2004 12:50:49 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510


Hi Qemu folks.

I'm trying to get -user-net networking to work when my host OS
is WinXP and my guest OS is Linux.

Here's what parts of it work from within Linux:
- I can load the ne2k-pci kernel module.
- I can configure eth0 (DHCP doesn't work, so I manually configure
  it to 10.0.2.15).
- I can add a default gateway of 10.0.2.2.
- I can do DNS resolution once I populate /etc/resolv.conf with
  "nameserver 10.0.2.3".
- I can even ping 10.0.2.2.

Here's what parts of it don't seem to work from within Linux:
- Pinging IP addresses or hosts other than 10.0.2.2 (I understand
  that this part in particular is supposed to not work).
- Telnetting to an IP address & port (for instance where I know a
  web server is running).  It says there is no route to the host.

So, TCP doesn't work from Linux to the public net, and got some
great help, but it still doesn't work, so I'm asking on this list.

For more information, a partial IRC transcript is below, in case
that helps.

Thanks!

--
Jason Brittain
<address@hidden>


<jasonb> esrever_otua: eth0 is there, and is configured to be 10.0.2.5.  I can 
ping 10.0.2.2.  Nothing else looks pingable, and no other network stuff seems to work.
<esrever_otua> jasonb: because you are using the user-net stack, nothing 
outside the fake network is pingable.  Other stuff like webbrowsing should work tho
<jasonb> esrever_otua: Yeah, but web browsing doesn't work.. for instance if I do 
"telnet www.cnn.com 80" I don't connect to the HTTP port at www.cnn.com.
<jasonb> esrever_otua: So, TCP isn't working.
<jasonb> esrever_otua: When my host OS is Linux I use TUN/TAP and I got it 
working just fine today.  :)  But, this one's host OS is WinXP and there's no TUN/TAP 
for that.. so I'm trying to use the other kind of networking which doesn't work so 
far.
<esrever_otua> jasonb: you have configured DNS OK?  do you get name resolution 
at all?
<jasonb> When I telnet to www.cnn.com 80, it complains "Network is unreachable", but I 
did do "route add default gw 10.0.2.1" (also tried 10.0.2.2)
<jasonb> esrever_otua: I'll tinker with my /etc/resolv.conf stuff again.. but 
it was indeed able to do name resolution, just slowly, probably because it can't 
reach the first nameserver IP address or two..
<esrever_otua> jasonb: so some networking is working then...  When you ping 
www.cnn.com does it come back saying 'pinging xxx.xxx.xxx.xxx' and then time out?  or 
does it not even get the address to *try* pinging?
<jasonb> esrever_otua: What should the default route be?  10.0.2.1?
<esrever_otua> 10.0.2.2
<jasonb> esrever_otua: Yes, some networking is indeed working.  Pinging 
10.0.2.2 works, and some DNS resolution.  But, TCP still doesn't work.
<esrever_otua> jasonb: *blinks* that's odd indeed. is the host firewalled and 
messsing with it somehow?
<jasonb> esrever_otua: I don't know Windows well enough to know how to check 
that..  I'm really a Linux user.  :)  But, TCP works fine from WinXP itself..
<jasonb> esrever_otua: ping www.cnn.com just sits there and does nothing.
<esrever_otua> jasonb: ahh, so no name resolution either then... are you sure 
/etc/resolv.conf points to good dns servers?
<jasonb> DNS does indeed work.. I'm trying nslookups and they work fine.
<esrever_otua> jasonb: kooky.
<esrever_otua> jasonb: I'd usually put ethereal on the interface on the host at 
that point, but you're using WinXP...   :-D
<jasonb> When I do an nslookup www.cnn.com it gives me the answer(s) right away 
and they're correct.  When I ping one of those IP addresses, that doesn't work.
<esrever_otua> jasonb: and when you try telnetting to port 80 of the actual IP 
address it just times out?
<jasonb> trying....
<jasonb> [just sits there]
<esrever_otua> *floored*
<esrever_otua> hmmmm
<jasonb> Then gets a Network is unreachable.
<esrever_otua> jasonb: can you ping real IP of host?
<jasonb> But, from the Host OS (WinXP), I can indeed telnet to that IP address 
and port, and it connects.
<jasonb> esrever_otua: I don't think I can.
<jasonb> esrever_otua: I'm pretty sure I can't ping other host IP addresses.. 
but I think that's by design.. right?
<esrever_otua> jasonb: well, I'm stumped: i don't know of any showstopper bugs 
that should cause that.  Perhaps there are some clues on the mailing list, but I 
don't recall seeing anything...  Can you do network dump of the ppp or loopback 
interfaces
<jasonb> esrever_otua: What kind of network dump?  Like using tcpdump?  If so, 
wouldn't I dump traffic for eth0 then?
<esrever_otua> jasonb: Oh, sorry, didn't realise you are on network.  I think 
the 10.0.2.2 goes via the loopback, but eth0 would certainly do the trick (if it 
makes it that far)
<jasonb> esrever_otua: This is what I get when I telnet to www.cnn.com 80 while 
tcpdumping eth0: 192.168.0.131 > 10.0.2.5: icmp: net www3.cnn.com unreachable (DF) 
[tos 0xd0]
<jasonb> esrever_otua: Notice the icmp part..  Strange.  I was telnetting to 
port 80 on www.cnn.com.  I guess it still needs icmp for that..?
<esrever_otua> jasonb: no, that's just the host sending back the error that it 
can't connect to that.  Odd.
<jasonb> esrever_otua: Yeah.  Probably right.
<jasonb> esrever_otua: I get that dump line right after the line that shows the 
qemu'd linux trying to connect to port 80 on www3.cnn.com.
<esrever_otua> jasonb: what does the dump say if you use the raw IPs ?
* jasonb tries
<jasonb> esrever_otua: That output looks exactly the same.
<esrever_otua> *blinks*
<jasonb> esrever_otua: And, that's because tcpdump uses DNS resolution before 
writing its own output about the traffic.
<jasonb> esrever_otua: So, it probably should look exactly the same.
<esrever_otua> jasonb: ahhh :-/
<jasonb> esrever_otua: But, one thing that means is that DNS is working fine.
<esrever_otua> jasonb: your guest IP is 10.0.2.5?  did it pick that up from 
dhcp or manually assign?
<jasonb> esrever_otua: It's (still) TCP that isn't working.
<esrever_otua> jasonb: you were running tcpdump inside linux guest?
<jasonb> esrever_otua: I manually assigned that IP address.
<jasonb> esrever_otua: Yes, tcpdump inside linux guest.
<esrever_otua> jasonb: set guest for dhcp and verify results again...
<jasonb> esrever_otua: I think I manually assigned it for the reason that DHCP 
wasn't working.
<jasonb> esrever_otua: It looks like it's still not working.
<esrever_otua> jasonb: so something else is very broken then; guest should 
definitly be picking up DHCP from virtual gateway...
<jasonb> esrever_otua: I'm doing dhclient eth0 and it is doing DHCPDISCOVER 
requests and not getting any DHCPOFFERs.
<jasonb> esrever_otua: Is the DHCP server the DHCP server in our network?  Or, 
does qemu implement a fake DHCP server?
<esrever_otua> jasonb: what's really strange is that you host returned the net 
unreachable messages... Which version of qemu are you using?
<jasonb> esrever_otua: 0.6.0.
<jasonb> esrever_otua: Well, actually.. let me make sure which version it is...
<jasonb> esrever_otua: Actually, I think I unintentionally got a nightly build.
<jasonb> esrever_otua: Which may explain this..
<jasonb> esrever_otua: My installer says "QemuInstall-20040815".
<jasonb> esrever_otua: I'll switch to the 0.6.0 release binary and see if that 
changes things.
<esrever_otua> jasonb: cool..
* jasonb switches real quick.  :)
* jasonb boots with 0.6.0
* esrever_otua crosses fingers
* jasonb attempts eth0 dhcp config..
<jasonb> Hmm, no dice there.. trying manual config..
<jasonb> Hmm, nope!  That one works even less.  I can't even ping 10.0.2.2.
<jasonb> Destination Host Unreachable.
<esrever_otua> yucky
<esrever_otua> I don't have any other suggestions, I'm afraid, WinXP host 
platform is obviously problematic.  I'd definitely sign up to the qemu-devel mailing 
list and send some queries if I was you..
<jasonb> esrever_otua: Yeah.  I'm not terribly surprised that this doesn't 
work.  :)  Thank you very much for all your help with this!




reply via email to

[Prev in Thread] Current Thread [Next in Thread]