All of lore.kernel.org
 help / color / mirror / Atom feed
From: art yerkes <ayerkes@speakeasy.net>
To: jhoger@pobox.com, qemu-devel@nongnu.org, jhoger@speakeasy.net
Subject: Re: [Qemu-devel] Win32 usermode only network possible?
Date: Wed, 07 Apr 2004 18:29:26 -0500 (CDT)	[thread overview]
Message-ID: <20040407.182926.-1300526525.ayerkes@speakeasy.net> (raw)
In-Reply-To: <1081375468.14275.33.camel@aragorn>

From: "John R. Hogerhuis" <jhoger@speakeasy.net>
Subject: Re: [Qemu-devel] Win32 usermode only network possible? [was: multiple VMs]
Date: Wed, 07 Apr 2004 15:04:28 -0700
Message-ID: <1081375468.14275.33.camel@aragorn>

jhoger> A SOCKS proxy would allow two way communication since it allows creation
jhoger> of listening sockets. But it requires configuration of the clients so
jhoger> it's not zero-install. Its other advantage is that it would not require
jhoger> priviledged access to the host. Most important networks apps are
jhoger> socksified and the setup is very easy (tell the app to use a certain
jhoger> socks server IP).

Although I'm new to this discussion, I'd like to share a few thoughts
I and another qemu user had earlier about networking in win32. 

Using SOCKS would still require each guest OS to provide some special 
mechanism for proxying SOCKS connections to the host OS.  Since that part
would be qemu specific, it's unlikely to my mind that such modifications
would be well received by the guest OS developers.  A userland server
is desirable, however, and so SOCKS is part of the model for what follow.

A while ago, I noticed a patch for bochs to put ethernet packets on normal
TCP connections, along with a little virtual hub to connect the bochses
together here:

http://cbothamy.free.fr/projects/bochs/patch.vhub  

Something quite similar, but a bit less fragile is the first part of what
I'd propose for qemu.  It's simple and flexible.  Since any type of program
can handle the bochs connections, making a hub is only the most trivial
thing that might be done, although that in itself is quite useful.

The second thing one would do is to write a smarter hub that did a few things:
- Listen for connections from qemus, and hear and relay their ethernet
  traffic.
- Listen on some user-configured ports to relay services provided by the
  guest to the outside, similar to what a firewall with NAT does when
  redirecting incoming traffic.  TCP SYN would be faked whenever a connection
  was ready to accept.
- The proxying program must eventually handle TCP, UDP and ICMP proxying.
  TCP will be the only difficult part, as the hub must compose fake ethernet
  traffic to send to the qemus, providing a sort of super SOCKS proxy.

The very nice thing about such as scheme is that it would allow the same
hubbing program to work with bochs as well as qemu, as well as allowing
more exotic proxy types to be developed independently from qemu.  Such
a scheme would also be trivial to interface to the likes of vtun and 
OpenVPN (which can run on windows).

  parent reply	other threads:[~2004-04-07 23:34 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-07 16:42 [Qemu-devel] Win32 usermode only network possible? [was: multiple VMs] Mike Nordell
2004-04-07 20:10 ` Fabrice Bellard
2004-04-07 22:04   ` John R. Hogerhuis
2004-04-07 22:16     ` Joe Batt
2004-04-07 23:04       ` John R. Hogerhuis
2004-04-08  1:46       ` [Qemu-devel] Win32 usermode only network possible? [was:multiple VMs] kazu
2004-04-07 23:29     ` art yerkes [this message]
2004-04-15  0:41   ` [Qemu-devel] Win32 usermode only network possible? [was: multiple VMs] Rusty Russell
2004-04-15 21:36     ` Fabrice Bellard
2004-04-20 23:00       ` [Qemu-devel] User mode only network progress Fabrice Bellard
2004-04-20 23:38         ` John R. Hogerhuis
2004-04-21  7:20           ` Jean-Michel POURE
2004-04-21 19:18             ` Fabrice Bellard
2004-04-21 19:37               ` Rudi Lippert
2004-04-21 22:08                 ` Fabrice Bellard
2004-04-22  0:23                   ` Fabrice Bellard
2004-04-22  6:44                     ` Jean-Michel POURE
2004-04-22 21:30                     ` Renzo Davoli
2004-04-23 17:34                       ` Rudi Lippert
2004-07-28 20:10                   ` [Qemu-devel] SMP Joe Batt
2004-07-28 20:35                     ` Joseph Stewart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040407.182926.-1300526525.ayerkes@speakeasy.net \
    --to=ayerkes@speakeasy.net \
    --cc=jhoger@pobox.com \
    --cc=jhoger@speakeasy.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.