dosemu networking issues.

I have decided to stick with WWIV 4.30 under dosemu for now, as there are a number of annoying bugs under WWIV5 compiled for Linux, and I know C much better than I know C++, so I can do a number of mods in the 4.30 code that I can’t in the 5.0 code 😉 So I thought I’d set up networking under dosemu, and I noticed something quite peculiar. I decided the easiest method to get things working would be to use bridging on my ethernet card. Keep in mind that I connect to this computer via wlan0. Here is the settings in my dosemu.conf:

$_pktdriver=(on)
$_vnet = "tap
$_netdev = "tap0"

And here is my bridge.sh:

brctl addbr br0
ifconfig eth0 0.0.0.0 promisc up
brctl addif br0 eth0
ifconfig br0 192.168.1.13 netmask 255.255.255.0 up
tunctl -u 1000
ifconfig tap0 0.0.0.0 promisc up
brctl addif br0 tap0

And I go into dosemu and set up a basic tcp.cfg for use with mTCP, and I can ping out to Google by both name and IP. Great! So, I exit the emulator and go back into Linux and try to download the Microsoft TCP/IP networking stuff for DOS. No go. I try to ping Google by name. Nope. By IP? Nope. OK. Reboot, since I don’t have the bridge coming up on boot. I double check everything, all look good, and I run my script again, but don’t go into dosemu. Can’t ping Google. I can ping my default gateway, though. Hmmm… Reboot again and lets try this a command at a time:

brctl addbr br0

I can still ping Google.

ifconfig eth0 0.0.0.0 promisc up

I can no longer ping Google.

ifconfig eth0 down
ifconfig eth0 0.0.0.0 up

I can ping Google again.

So, it appears that putting eth0 into promiscuous mode is causing me to not be able to ping Google via wlan0. But if I run the script and boot into dosemu, I can reach the Internet just fine. So instead of connecting via wlan0, I connect via eth0 and the exact same thing happens. Very strange that I can’t get out to the Internet from the my host OS, but can from the guest OS. Maybe if I connect via eth0 and disable wlan0 completely… Doesn’t make sense to me that having one nic in promiscuous mode should impact the other at all, unless my router is getting confused…