Date: Mon, 26 Mar 2001 22:39:22 -0500 From: The Babbler <bts@babbleon.org> To: scotty@klement.dstorm.net Cc: The Babbler <bts@babbleon.org>, freebsd-emulation@FreeBSD.ORG Subject: Re: VMware networking (was: Slooow VMware on RELENG_4 SMP) Message-ID: <3AC00B6A.54C2B0D7@babbleon.org> References: <Pine.BSF.4.21.0103261836280.1691-100000@klement.dstorm.net>
next in thread | previous in thread | raw e-mail | index | archive | help
scotty@klement.dstorm.net wrote:
>
> I'm far from an expert on this subject, but maybe I can help? I'll type
> the thoughts that come to mind, and see if it helps you...
>
> On Sun, 25 Mar 2001, The Babbler wrote:
>
> > Well, I've tried a number of things (and posted about some of them
> > before). For what it's worth, I am running vmware 2. (It was free for
> > me [owing to the date when I purchased my vmware1 license], so it was an
> > easy decision. Performance improvements for Win 98 were quite
> > noticable.)
> >
> > I have vmware running a 192.168.242 network ("...242" for short), with
> > ..242.2 being the vmware and ...242.1 being the vmnet1 node.
> >
> > I have another interface on the host, which varies. At home (which is
> > what I'm trying to get working first), it's on a 192.158.147 network
> > ("...147" for short). ep0 is ...147.4 and its gateway is ...147.1.
> >
> > I run a local nameserver on the host. All this is so that the guest
> > O/Ss can use a simple static setup regardless of where the host is,
> > since the host is a laptop and it isn't always in the same place or at
> > the same address. The guest is configured with ...242.2 as its IP
> > address, ...242.1 as its gateway, and ...242.1 as its nameserver.
>
> So... just to verify... from the FreeBSD machine, you can type
> "ifconfig -a" and see vmnet1 set as ...242.1? Yes?
Yes.
> This sounds
> like you want to do a "routed network", rather than a bridged network.
That could well be; I was not at all clear from reading the Handbook
whether or not bridging covered this case. I have since had a friend
who reported that it covered a similar case for him, but perhaps setting
up routes is a more straightforward solution.
But shouldn't the IPFIREWALL attempts work in the same way?
>
> In /etc/rc.conf, do you have 'gateway_enable="YES"' so that it will
> route between interfaces?
I've tried it both with and without, as detailed towards the bottom of
the message. It's been enabled for the attempts to make the gateway
work.
> Do the other machines on your LAN have routes to access the ...242 subnet
> by using your FreeBSD machine as their gateway? (either through a
> central router/gateway that routes to your FreeBSD host, or by adding
> routes to each machine individually) Otherwise, how will they know
> that packets for ...242.2 need to be sent to ...147.4?
I don't actually want anybody else to know about the "242" network;
that's the whole point of it--to isolate it so that the other machine
only know about the host and the guest sort of magically goes along for
the ride. In some of the networks I hook up to, I'm only "entitled" to
one DHCP address, and I can't do any routing/naming/whatever at the
network level.
> Or, are you using NAT?
That's probably what I want to do. I've tried with and without.
> > The primary guest of interest is Windows 98, though I briefly had a
> > FreeBSD guest when I was running Linux and would hope to have a Linux
> > guest how that I'm running FreeBSD, and perhaps a -CURRENT FreeBSD as
> > well.
>
> I'm running 2.0.3.799_1 with a Win98se guest, no problems. I've done it
> both as a routed network, and as a bridged network. Other than the fact
> that Windows file sharing doesn't work on a routed network, it works fine.
> (Flaw in the design of MS Network protocol)
Hmmm . . . I was able to get this working under Linux, using "IP
masquarading" (which is NATD, I believe).
> > So . . . .
> > With the latest vmware2 port (2.0.3.799_1), which is supposed to "just
> > work" by using netgraph, I can't even communicate from the guest to the
> > host at all. Not even from ...242.1 to ...242.2 or vice versa.
> > Actually, it's a little weirder than that. The *first* time I tried
> > this after installing that port, it all worked beautifully. But after
> > the next time I rebooted my host, it didn't work at all, and it never
> > has since then either.
>
> Strange. The scripts that should be starting these things are in
> /usr/local/etc/rc.d/ called "rtc.sh" "linprocfs.sh" "vmware.sh". They
> should be running when you boot. Do you see them running? Are there
> any errors?
Well, I've backed up to 2.0.03.799, so it's hard to say for sure without
re-switching ports (which I will do shortly, but you had so many
questions I wanted to try answering what I could at one fell swoop).
With the port I'm currenlty running I don't have a "linprocfs.sh" but I
do have the other two. But I'm not sure if I should have linprocfs.sh
with the port I have or not. I'll send followup mail when I have a
change to try re-installing that port.
> Since you're running a laptop, I have a feeling that maybe these scripts
> are running before the pccard code finds your NIC? If thats the problem,
> you could probably fix the problem by removing them from
> /usr/local/etc/rc.d, and finding a way to run them from /etc/pccard_ether
> or perhaps even better would be to have /etc/pccard.conf call a different
> script, which in turn calls pccard_ether, followed by the vmware scripts.
That can be a problem. I tried re-running vmware.sh by hand, but it was
not obvious to me that other scripts would be involved, so I didn't try
running them by hand.
> If you're using Netgraph briding, you don't want to use
> the ...242 subnet for your interfaces... Your guest will be bridged
> to appear on the same LAN, so you'll want to pick an IP in the same
> subnet as your LAN. (i.e. ...147.x)
This is a problem, you see. It means that my guest is on a different
network depending on whether I'm at home or at work. To make that work
I either have to use DHCP for the guest (which seems to confuse the DHCP
server at work for some reason--I never really pursued it since it's
dicey whether my employer really *wants* me to do this in first place,
and anyway it was easily worked around under Linux); or I have to go in
and modify the networking for the guest every time I go back and forth;
as it happens, I take it into work every day, so that gets really tired
really fast--especially since Windows must reboot to change networking
parameters, and rebooting vmware is slow.
> On my system (in bridged mode), my vmnet1 is set to "192.168.0.1", which
> isn't a valid IP in any of my subnets, but I believe the vmnet1
> IP is irrelevant in a bridged environment. In the Windows guest, I have
> an IP that's allocated from my LAN's subnet. (In fact, I'm using DHCP
> to assign it, just like all the other IPs on the LAN)
Maybe I should try that approach again. I'm not even sure that the DHCP
approach is problematic.
> And, of course, you don't want to tell vmware that you're in "bridged
> mode". Instead, you tell it "host-only" and FreeBSD does the bridging.
That much I understood. It's about the only aspect of the entire
process I understood, but I did manage to get that much from the notes
with the port.
> > So I reverted back to the previous vmare2 port (2.0.3.799). From there
> > I can ping from the guest (...242.2) to the host vmware (...242.1) as
> > well as to the host's "real" addr (...147.4), but I cannot access the
> > host's gateway (...147.1). I *can* access the host's nameserver via
> > ...242.1, so if from the guest I do something like "ping www.yahoo.com"
> > then the numeric IP address to ping will be correctly resolved, but the
> > packets won't actually get delivered.
>
> Possibly its sending the packets out, but your internet gateway doesn't
> know that it needs to forward packets to your guest through your FreeBSD
> box. Also possible that you don't have gateway_enable set in
> /etc/rc.conf.
That sounds like a strong possibility. I'd hope that NATD would solve
that.
> > I tried solving this under 4.2-RELEASE by enabling bridging the in the
> > kernel, but that broke my networking with my 3com PCMCIA card
> > *completely*--my *host* was no longer able to reach its gateway, so
> > obviously my guest couldn't either, and I was pretty much dead in the
> > water. I have since solved *that* problem by upgrading to 4.3-BETA,
> > where I can enable briding in the kernel, and the host networking works
> > just great, but I still can't get the guest packets anyplace. However,
> > I will be perfectly frank in confessing that I'm not at all clear on how
> > bridging is really supposed to work here.
>
> I've tried FreeBSD's experimental bridging support, and while it more or
> less worked, it was buggy. You should use the Netgraph bridging, it
> works a lot better.
>
> In vmware 2.0.3.799_1 it will automatically load the netgraph bridging
> module as FreeBSD boots. Therefore, you want to disable all bridging
> in your kernel if you're going to use it. Otherwise there may be
> conflicts. (At least, thats what worked for me)
I'll double-check on that.
> > It's built into the kenel, and sysctl shows that net.link.ether.bridge
> > is 1, and I get messages about setting the interfaces into promiscuous
> > mode, but the ep0 interface, if I do ifconfig, doesn't actually show
> > itself as being in promiscuous mode. This could be the root of the
> > problem, or it could be that the bridging is trying to set up too early,
> > and PCMCIA intialization is realatively late. But I have tried using
> > sysctl to turn the bridging off and back on, and that didn't fix
> > anything.
> >
> > The bridging man page does talk about using bridging whilst enabling IP
> > forwarding, which logically might be required since they are two
> > separate networks, but I can't figure out how one combines the two
> > concepts of bridging and IP forwarding or how to write the rules under
> > such a circumstance. Also, the briding man page has a warning that
> > having both interfaces have IP addresses is bad, so this might be why
> > things are broken for me.
>
> The whole idea of briding is to make it all look like one, big, network.
> Using IP forwarding doesn't really make sense here, does it? However,
> turning it on and off should be simple enough to try.
>
> Well... maybe some of that will help....? :)
Thanks. It at least gives me a couple of things to try.
--
"Brian, the man from babble-on" bts@babbleon.org
Brian T. Schellenberger http://www.babbleon.org
Support http://www.eff.org. Support decss defendents.
Support http://www.programming-freedom.org. Boycott amazon.com.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-emulation" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3AC00B6A.54C2B0D7>
