At first, coLinux is the first and only right way to share Windows and Linux on the same maschine!
I have installed coLinux as a service on my Windows XP SP2 without any problems.
The next step what I will do is to install a second ethernet card on the Windows host an deactivate this NIC for Windows. This will I do because the Windows host is a client on a Windows domain via the first activated NIC and get the IP (e.g. 192.168.0.xxx) from the DHCP at the domain. The second NIC must be connected to the same physically network (the same switch as there is connected the first NIC), but it should be deactivated for the Windows host and only the coLinux service on the host should have access to the second NIC. The second NIC ist only for the broadband internet connection and the Windows host should never see this internet connection for security.
Is such a configuration possible? I think, it should be possible to access the second NIC (which is deactivated on the Windows host) as a physically NIC under coLinux. I have tried many things, but without any success.
In theory yes, there are possible hang-ups. Namely PCI Bus is in use' handled by Windows, but then you try to use PCI devices in Linux.
Might be easier/better to have the nic enabled in Windows, but then remove TCP/IP and other networking protocols from the device. Then use WinPCAP to have that NIC work in coLinux.
many thanks for the reply and suggestion.
I'll test this with WinPCAP and the removed TCP/IP protocol.
I don't get WinPCAP running with my NICs (one is a old Realtek 8029 and the other is a newer 8139). WinPCAP installs without any error, but no communication from coLinux. WinDump don't see the NICs interfaces, but ethereal sees the NICs interfaces and is fully function.
However, while I tried many network configurations, I have just understanding the functionality of the WinTAP and the Microsoft Windows XP own bridged network configuration. The solution for my problem is very simple:
I have removed the second NIC, so that the maschine have only one NIC. Then I have installed the WinTAP device and built a Windows XP bridged network configuration with the NIC and the WinTAP device. The Windows XP bridged network configuration get its domain IP (e.g. 192.168.0.xxx) from the DHCP at the Windows domain. At the coLinux XML configuration file is an entry for the WinTAP device and under coLinux this ethernet interface (eth0) would be configured for a static IP (e.g. 192.168.100.xxx) which is the subnet for the broadband internet connection. The tricky is that the Windows XP bridged network is a fully functionally bridge, which transfers any ethernet packet from one side to the other side and vice versa, regardless of the protocol, the subnet etc.
For the communication between the Windows host and the coLinux service, you must install a second WinTAP device under Windows XP with a static IP of e.g. 192.168.200.1, include this WinTAP device as eth1 at the coLinux XML configuration file, and assign a static IP of e.g. 192.168.200.2 for eth1 under coLinux.
The Windows host don't know the 192.168.100.xxx subnet and cannot access the internet. The coLinux service can access the internet router on the 192.168.100.xxx subnet via the WinTAP device at the Windows XP bridge. Both can communicate internally via the 192.168.200.xxx subnet.
You can also add an additional WinTAP device at Windows XP and add this to the Windows XP bridge, so that the bridge has three devices (the NIC and two WinTAP devices). Then you can include this third WinTAP device at the coLinux XML configuration file as eth2, and under coLinux it can the get a domain IP via DHCP, so that coLinux have access to the domain (if this should be).
All works fine, the Windows host is at the Windows domain and don't have a internet connection, coLinux under Windows have a internet connection and have or have not a connection to the Windows domain.
George, many thanks again for your suggestion.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.