# Using a computer with 2 nics as a router/connection sharing

**URL:** https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164
**Category:** Factual Questions
**Created:** [August 27, 2007, 10:37pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164 "2007-08-27T22:37:09Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![SenorBeef](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/senorbeef/32/2220_2.png) [@SenorBeef](https://boards.straightdope.com/u/SenorBeef)
#### Post date: [August 27, 2007, 10:37pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/1 "2007-08-27T22:37:09Z")

</div>

I want to get my tivo permanently put on the internet, but I ideally don’t want the hassle of an actual router unit. I have 2 NICs on the PC - and I should probably remember how to do this, but I don’t - if I set it up correctly, I can have requests from one device route through one NIC, through the computer, to the other NIC that has internet access, and therefore have both devices have internet access without a dedicated router (the computer acts as a minimally functional router).

Is there an easy method to do this? A piece of software that sets up the routing tables or NAT if that’s required? If not, how would I go about doing it myself? Manually setting the second NICs routing table to point basically all traffic though the first NIC? Would that even work, or would the cable modem reject the second NICs IP because I’m limited to one IP per modem?

---

<div class="post-metadata">

### Author: ![gotpasswords](https://avatars.discourse-cdn.com/v4/letter/g/c57346/32.png) [@gotpasswords](https://boards.straightdope.com/u/gotpasswords)
#### Post date: [August 27, 2007, 10:46pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/2 "2007-08-27T22:46:54Z")

</div>

It sounds like what you want is Windows’ [Internet Connection Sharing.](http://www.microsoft.com/windowsxp/using/networking/expert/crawford_02july01.mspx)

---

<div class="post-metadata">

### Author: ![Mangetout](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mangetout/32/19_2.png) [@Mangetout](https://boards.straightdope.com/u/Mangetout)
#### Post date: [August 27, 2007, 10:48pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/3 "2007-08-27T22:48:34Z")

</div>

I was going to suggest just bridging the connections - this causes the computer to behave as a switch or hub, but if the internet connection device isn’t providing DHCP services, then that probably won’t work.

I know it can be done with a proxy server program - something like this one:

> **[JanaServer 2 - THE ALL-IN-ONE SERVERTOOL](https://www.janaserver.de/start.php?lang=en)**
>
> Http, Ftp, Gopher und Https Proxy. Mit Http- Email Server und Real Player Proxy. Beinhaltet Logdateien und Zugriffbeschränkungen.

-but that might be a bit of a drain on resources.

---

<div class="post-metadata">

### Author: ![SenorBeef](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/senorbeef/32/2220_2.png) [@SenorBeef](https://boards.straightdope.com/u/SenorBeef)
#### Post date: [August 27, 2007, 10:54pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/4 "2007-08-27T22:54:23Z")

</div>

[QUOTE=gotpasswords]  
It sounds like what you want is Windows’ [Internet Connection Sharing.](http://www.microsoft.com/windowsxp/using/networking/expert/crawford_02july01.mspx)  
[/QUOTE]

Ah, right, ICS. Does some basic NAT IIRC. Would it recognize two nics on the same computer as being part of the same network?

[QUOTE=Mangetout]  
I was going to suggest just bridging the connections - this causes the computer to behave as a switch or hub, but if the internet connection device isn’t providing DHCP services, then that probably won’t work.  
.  
[/QUOTE]

I haven’t paid for any extra IPs for my cable modem service, so if it acts like a hub, I’m guessing that the second nic would request its own IP and get rejected.

---

<div class="post-metadata">

### Author: ![Quartz](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/quartz/32/267_2.png) [@Quartz](https://boards.straightdope.com/u/Quartz)
#### Post date: [August 27, 2007, 11:12pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/5 "2007-08-27T23:12:49Z")

</div>

IIRC ICS doesn’t provide full routing facilities, but I can’t recall the details. Really, I think you’re making work for yourself here. Just buy yourself a cable modem router. and attach both the PC and the TIVO to it. Such routers are not hard to set up - you’re not doing anything fancy.

---

<div class="post-metadata">

### Author: ![Mangetout](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mangetout/32/19_2.png) [@Mangetout](https://boards.straightdope.com/u/Mangetout)
#### Post date: [August 27, 2007, 11:19pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/6 "2007-08-27T23:19:41Z")

</div>

[QUOTE=Quartz]  
IIRC ICS doesn’t provide full routing facilities, but I can’t recall the details. Really, I think you’re making work for yourself here. Just buy yourself a cable modem router. and attach both the PC and the TIVO to it. Such routers are not hard to set up - you’re not doing anything fancy.  
[/QUOTE]

I agree - I know you said you didn’t want the hassle, but there really isn’t any. They’re also quite cheap now. I’d say there’s actually considerably less hassle with a router/modem, because you’re not compelled to switch on the main computer when the satellite device wants a connection.

The article I found on ICS said something quite strange and disturbing about how it manages the IP addresses - I’ll see if I can find it again.

---

<div class="post-metadata">

### Author: ![Mangetout](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mangetout/32/19_2.png) [@Mangetout](https://boards.straightdope.com/u/Mangetout)
#### Post date: [August 27, 2007, 11:22pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/7 "2007-08-27T23:22:20Z")

</div>

Ah… here it is:

> **[Windows XP Internet Connection Sharing - PracticallyNetworked.com](https://www.practicallynetworked.com/windows-xp-internet-connection-sharing/)**
>
> Internet Connection Sharing (ICS) enables a Windows computer to share its Internet connection with computers on local area networks. It's been around since

> [@](#):
>
> WARNING #1: When you enable ICS, the network adapter connected to the local area network is assigned a static IP address of 192.168.0.1. The client computers are assigned other IP addresses in the 192.168.0.x range. These addresses may not be compatible with an existing network

If that’s true, it sounds astonishingly poor - smacks of ‘magic number’ coding.

---

<div class="post-metadata">

### Author: ![SenorBeef](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/senorbeef/32/2220_2.png) [@SenorBeef](https://boards.straightdope.com/u/SenorBeef)
#### Post date: [August 27, 2007, 11:34pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/8 "2007-08-27T23:34:51Z")

</div>

[QUOTE=Quartz]  
IIRC ICS doesn’t provide full routing facilities, but I can’t recall the details. Really, I think you’re making work for yourself here. Just buy yourself a cable modem router. and attach both the PC and the TIVO to it. Such routers are not hard to set up - you’re not doing anything fancy.  
[/QUOTE]

As I understand it, with the cheaper routers, you have to configure them to port forward every time you want to run a new server on the hosting computer. I don’t want to have to configure it every time I want to run a game server, or whatever. I can go with that option - but I’m trying to work out a superior, and free, option first.

[QUOTE=Mangetout]  
Ah… here it is:

> **[Windows XP Internet Connection Sharing - PracticallyNetworked.com](https://www.practicallynetworked.com/windows-xp-internet-connection-sharing/)**
>
> Internet Connection Sharing (ICS) enables a Windows computer to share its Internet connection with computers on local area networks. It's been around since

If that’s true, it sounds astonishingly poor - smacks of ‘magic number’ coding.  
[/QUOTE]

It’s not “magic number” coding - 192.168.0.X is the class C ip block reserved for private network use in the IP addressing scheme. Everything else (that’s class C) can be confused with a public (internet) network.

---

<div class="post-metadata">

### Author: ![Mangetout](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mangetout/32/19_2.png) [@Mangetout](https://boards.straightdope.com/u/Mangetout)
#### Post date: [August 27, 2007, 11:50pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/9 "2007-08-27T23:50:07Z")

</div>

[QUOTE=SenorBeef]  
It’s not “magic number” coding - 192.168.0.X is the class C ip block reserved for private network use in the IP addressing scheme. Everything else (that’s class C) can be confused with a public (internet) network.  
[/QUOTE]

I know about the range, the ‘magic number’ thing I’m talking about is when values that ought to be configurable are hard-coded. Given that Class C isn’t the only possibility out there, these parameters ought not to be writ in stone.

---

<div class="post-metadata">

### Author: ![Mangetout](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mangetout/32/19_2.png) [@Mangetout](https://boards.straightdope.com/u/Mangetout)
#### Post date: [August 27, 2007, 11:55pm UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/10 "2007-08-27T23:55:51Z")

</div>

[QUOTE=SenorBeef]  
As I understand it, with the cheaper routers, you have to configure them to port forward every time you want to run a new server on the hosting computer. I don’t want to have to configure it every time I want to run a game server, or whatever. I can go with that option - but I’m trying to work out a superior, and free, option first.  
[/QUOTE]  
I think you’ll find that you have to do something quite like that if you use a PC as a router, or else turn off the firewall, which might not be desirable.

IIRC, some of the cheap routers have an inbuilt database of known ports for different applications and games, so adding port forwarding rules is pretty much point & click.

---

<div class="post-metadata">

### Author: ![SenorBeef](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/senorbeef/32/2220_2.png) [@SenorBeef](https://boards.straightdope.com/u/SenorBeef)
#### Post date: [August 28, 2007, 4:37am UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/11 "2007-08-28T04:37:55Z")

</div>

[QUOTE=Mangetout]  
I think you’ll find that you have to do something quite like that if you use a PC as a router, or else turn off the firewall, which might not be desirable.

[/QUOTE]

Hmm. That’s interesting. I hadn’t thought about that.  
I use a simple application level firewall (zonealarm) and I’m not sure exactly at which stage it intercepts incoming packets. I wonder how it would treat an outbound request from a device on another NIC from ICS and the reply.

I guess I can fiddle with ICS and see if it’ll work for my purposes.

I have very little experience dealing with “dsl router” type devices - do they have some way of essentially setting them to send all data, except the return of a NAT-translated device-specific request, to one system? That way I wouldn’t have to worry about fiddling with the port controls all the time, and I could essentially just tell it to send everything to my computer except replies specifically addressed to other devices? I’m not interested in the limited security a dsl router can provide, and I’d trade that for less hassle.

---

<div class="post-metadata">

### Author: ![Mangetout](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mangetout/32/19_2.png) [@Mangetout](https://boards.straightdope.com/u/Mangetout)
#### Post date: [August 28, 2007, 8:35am UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/12 "2007-08-28T08:35:57Z")

</div>

[QUOTE=SenorBeef]  
I have very little experience dealing with “dsl router” type devices - do they have some way of essentially setting them to send all data, except the return of a NAT-translated device-specific request, to one system?  
[/QUOTE]  
Yes, they typically allow you to expose all ports to one client on the network (occasionally more than one, but usually just the one) - it’s called ‘[DMZ](http://en.wikipedia.org/wiki/Demilitarized_zone_%28computing%29)’

---

<div class="post-metadata">

### Author: ![drachillix](https://avatars.discourse-cdn.com/v4/letter/d/48db29/32.png) [@drachillix](https://boards.straightdope.com/u/drachillix)
#### Post date: [August 28, 2007, 9:23am UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/13 "2007-08-28T09:23:22Z")

</div>

[QUOTE=Mangetout]  
IIRC, some of the cheap routers have an inbuilt database of known ports for different applications and games, so adding port forwarding rules is pretty much point & click.  
[/QUOTE]

Or temporarily DMZ the game machine.

---

<div class="post-metadata">

### Author: ![Mangetout](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mangetout/32/19_2.png) [@Mangetout](https://boards.straightdope.com/u/Mangetout)
#### Post date: [August 28, 2007, 9:31am UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/14 "2007-08-28T09:31:13Z")

</div>

Alternatively, DMZ it.

---

<div class="post-metadata">

### Author: ![Ximenean](https://avatars.discourse-cdn.com/v4/letter/x/aca169/32.png) [@Ximenean](https://boards.straightdope.com/u/Ximenean)
#### Post date: [August 28, 2007, 10:48am UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/15 "2007-08-28T10:48:54Z")

</div>

[QUOTE=Mangetout]  
Yes, they typically allow you to expose all ports to one client on the network (occasionally more than one, but usually just the one) - it’s called ‘[DMZ](http://en.wikipedia.org/wiki/Demilitarized_zone_%28computing%29)’  
[/QUOTE]

As it says at the foot of that article, they may like to call it a DMZ, but if the exposed host is on the internal subnet it’s no DMZ at all.

---

<div class="post-metadata">

### Author: ![Mangetout](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mangetout/32/19_2.png) [@Mangetout](https://boards.straightdope.com/u/Mangetout)
#### Post date: [August 28, 2007, 10:58am UTC](https://boards.straightdope.com/t/using-a-computer-with-2-nics-as-a-router-connection-sharing/417164/16 "2007-08-28T10:58:27Z")

</div>

That’s true - there’s still NAT happening, although with all ports run straight through, I’m not sure that makes a practical difference.

ETA: I see it does make a difference to the integrity of the local network (although I think my home router does isolate the DMZ host from the rest of the subnet.
