How do I properly support two network cards in one Windows 7 PC?

I've upgraded from Vista to Windows 7. On Vista I used to run one network card (Intel 82566DC -2 Gigabit) for my internet which was connected to a Dovado USB mobile broadband router connected to a 3G modem. The IP setup on the card is set on DHCP. The second card (3com Ethernet link) was used to connect to our town's local WUG (wireless user group) and all worked fine.

Now the problem I have with Windows 7 is that when I connect to the internet with the (Intel) first card, the internet work fine but as soon as I connect the second card to the wug my internet drops. If I then disconnect the first card (internet one) and try to connect to the wug it works.

It seems that the two cards are fighting each other. Is there maybe something I can do to fix the problem? As you probably can gather from this post is that I am not an expert on PC's so please if you do answer do I in simple terms. :)


Solution 1:

Remove the gateway for the private network on the second interface. I had this same problem for a while, so I have my wireless network interface with internet on 192.168.1.0/24 with a the gateway as 192.168.1.1 and my private on 10.0.0.0/8 with no gateway.

If you set up 2 gateways on different networks & NIC's windows will send all outbound traffic though the NIC with the highest bandwidth regardless of metric (in my case at least)

Since the wireless was only type G (54Mpbs) versus the wired GigE (1000Mbps) it sent any and all traffic though the wired connection.

Once I took the private networks gateway out (with only a static ip & subnet left on) I could still browse the internet and access my private fileserver.

If you are running the private networks NIC into a router however, the any devices plugged into the router will not have internet access.

The way I have my network set up is I have my first wired NIC plugged into the WAN port on my router, and within windows I have that NIC and the Wirless NIC bridged. I then run the second wired NIC into a port on the router with only IP & subnet configured.

This allowed my fileserver to still have internet access, and let me access it while still keeping the entire wired network private and giving only myself access to it, and preventing others on my shared wifi connection from being able to access my fileserver.

Solution 2:

I am using following script in my Windows 7 Pro 64 bit Laptop to use both Wire and Wireless network cards same time with single default gateway, hope this will help u. you may need some changes in this script, because i dont know your IPs and interface names, also I use many times delete command because my interface IPs required to delete (i dont know why) still in puzzle why my interface required to delete ips manually.

@echo off  
set wifi_name=Wireless Network Connection  
set wire_name=Local Area Connection  
set wire_ip=192.168.0.117  
set wire_mask=255.255.252.0  
set wire_gw=192.168.0.130  
set wifi_ip=192.168.2.170  
set wifi_mask=255.255.252.0  
set wifi_gw=192.168.0.130  
set wifi_ip2=192.168.105.117  
set wifi_mask2=255.255.255.0  
set wifi_gw2=192.168.105.130  
set dns1=4.2.2.1  
set dns2=4.2.2.2  
set dns3=8.8.8.8  
set dns4=4.2.2.3  
:multinetwork  
echo Configuring Both Wire and WiFi Networks cards for KHI HO Network  
echo.  
netsh interface ipv4 delete address "%wifi_name%" addr=192.168.0.117 gateway=all  
netsh interface ipv4 delete address "%wifi_name%" addr=192.168.2.170 gateway=all  
netsh interface ipv4 delete address "%wifi_name%" addr=192.168.105.117 gateway=all  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.0.117 gateway=all  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.2.170 gateway=all  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.105.117 gateway=all  
echo "Disabling Interfaces"  
::--------------------  
netsh int ip set address "%wire_name%" source = dhcp  
echo.  
netsh int ip set dns "%wire_name%" dhcp  
timeout /t 3 /nobreak  
netsh int ip set address "%wire_name%" source = dhcp  
echo.  
netsh int ip set dns "%wire_name%" dhcp  
::--------------------  
netsh int ip set address "%wifi_name%" source = dhcp  
echo.  
netsh int ip set dns "%wifi_name%" dhcp  
timeout /t 3 /nobreak  
netsh int ip set address "%wifi_name%" source = dhcp  
echo.  
netsh int ip set dns "%wifi_name%" dhcp  
echo.  
echo "Disabling Interfaces"  
netsh interface set interface name="%wifi_name%" admin=DISABLED  
echo.  
echo.  
netsh interface set interface name="%wire_name%" admin=DISABLED  
echo.  
timeout /t 7 /nobreak  
echo "Setting up DHCP on Interfaces"  
echo.  
netsh int ip set address "%wifi_name%" source = dhcp  
echo.  
netsh int ip set dns "%wifi_name%" dhcp  
echo.  
netsh int ip set address "%wire_name%" source = dhcp  
echo.  
netsh int ip set dns "%wire_name%" dhcp  
echo.  
timeout /t 5 /nobreak  
echo.  
netsh int ip set address "%wifi_name%" source = dhcp  
echo.  
netsh int ip set dns "%wifi_name%" dhcp  
echo.  
netsh int ip set address "%wire_name%" source = dhcp  
echo.  
netsh int ip set dns "%wire_name%" dhcp  
echo.  
timeout /t 7 /nobreak  
echo "Enabling Interfaces"  
echo.  
echo.  
netsh interface set interface name="%wire_name%" admin=ENABLED  
echo.  
timeout /t 5 /nobreak  
echo "Setting up DHCP on Interfaces"  
echo.  
echo.  
netsh int ip set address "%wire_name%" source = dhcp  
echo.  
netsh int ip set dns "%wire_name%" dhcp  
echo.  
timeout /t 3 /nobreak  

echo.  
echo "Setting Static IP Information"  
echo.  
echo Setting IP, MASK, and Gateway for WiFi Interface  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.0.117 gateway=all  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.105.117 gateway=all  
netsh interface ip set address name="%wire_name%" source=static addr=%wifi_ip2% mask=%wifi_mask2% gateway=%wifi_gw2%  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.0.117 gateway=all  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.2.170 gateway=all  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.105.117 gateway=all  
netsh interface ip set address name="%wire_name%" source=static addr=%wifi_ip2% mask=%wifi_mask2% gateway=%wifi_gw2%  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.2.170  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.0.117  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.105.117  
netsh interface ip set address "%wire_name%" static %wifi_ip2% %wifi_mask2%  

timeout /t 5 /nobreak  
echo Setting IP, MASK, and Gateway for Wire Interface  
netsh interface set interface name="%wifi_name%" admin=ENABLED  
timeout /t 5 /nobreak  
netsh int ip set address "%wifi_name%" source = dhcp  
echo.  
netsh int ip set dns "%wifi_name%" dhcp  
timeout /t 5 /nobreak  
netsh interface ip set address name="%wifi_name%" source=static addr=%wire_ip% mask=%wire_mask%  
netsh interface ipv4 delete address "%wifi_name%" addr=192.168.0.117 gateway=all  
netsh interface ipv4 delete address "%wifi_name%" addr=192.168.2.170 gateway=all  
netsh interface ipv4 delete address "%wifi_name%" addr=192.168.105.117 gateway=all  
netsh interface ip set address name="%wifi_name%" source=static addr=%wire_ip% mask=%wire_mask%  
timeout /t 5 /nobreak  
echo Setting Wire DNS Primary  
netsh interface ip set dns "%wire_name%" static %dns1%  
echo Setting DNS Secondary  
netsh interface ip add dns "%wire_name%" %dns2% index=2  
echo Setting 3rd DNS Secondary  
netsh interface ip add dns "%wire_name%" %dns3% index=3  
echo.  
echo Setting IP, MASK, and Gateway for WiFi Interface  
netsh interface ipv4 delete address "%wifi_name%" addr=192.168.2.170  
netsh interface ipv4 delete address "%wifi_name%" addr=192.168.0.117  
netsh interface ipv4 delete address "%wifi_name%" addr=192.168.105.117  
netsh interface ip set address name="%wifi_name%" source=static addr=%wifi_ip2% mask=%wifi_mask2% gateway=%wifi_gw2%  
timeout /t 5 /nobreak  
echo Setting IP, MASK, and Gateway for Wire Interface  
netsh interface ip set address name="%wire_name%" source=static addr=%wire_ip% mask=%wire_mask%  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.2.170  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.105.117  
netsh interface ipv4 delete address "%wire_name%" addr=192.168.0.117  
netsh interface ip set address name="%wire_name%" source=static addr=%wire_ip% mask=%wire_mask%  
echo Setting WiFi DNS Primary  
netsh interface ip set dns "%wifi_name%" static %dns1%  
echo Setting DNS Secondary  
netsh interface ip add dns "%wifi_name%" %dns2% index=2  
echo Setting 3rd DNS Secondary  
netsh interface ip add dns "%wifi_name%" %dns4% index=3  
echo.  
netsh interface ip set address name="%wire_name%" source=static addr=%wire_ip% mask=%wire_mask%  
echo Here are the new settings for %computername%:  
netsh int ip show config  
echo.  
::-------------------------  
:ping  
Set "newbox=start cmd /k"  
Set IPs=8.8.8.8  
For %%* in (%IPs%) do %newbox% ping.exe %%* -S %wifi_ip2% -t  
Set "newbox=start cmd /k"  
Set IPs=www.yahoo.com  
For %%* in (%IPs%) do %newbox% ping.exe %%* -S %wire_ip% -t  
::-----------------  
goto end