Ubuntu – Use two networks at the same time

lannetworkingprintingrouting

I want to use Ubuntu 10.10 Server in a classroom, a computer lab whose bandwidth
is provided by a local cable ISP. That's no problem, though the school network
has an IP printer that I want to use. I cannot reach the printer through the cable
Internet. But, I have two network cards.

How is it possible to use both networks at once?

eth0 (static 192.168.1.254) is plugged into a four-port router, 192.168.1.1.
On the public side of the four-port router is Internet provided by the cable company.
I also have the classroom workstations plugged into a switch. The switch is plugged
into the four-port router. The whole classroom is wired into the cable Internet.

The other NIC, eth1, could it be plugged into an Ethernet jack in the wall?
It uses the school network, and I might receive by DHCP an IP address like
10.140.10.100, with the printer on maybe 10.120.50.10.

I was thinking about installing the printer on the server so that it could be shared
with the workstations. But how does this work? Can I just plug eth1 into the school
network and access both LANs?

Thanks for any insight.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

auto eth1
iface eth1 inet dhcp

Best Answer

I'm assuming you don't have any routes set locally on the Ubuntu box.

If your target IP address shares address space with the directly connected interface, it should by default route to the correct IP.

You will be able to see what networks your interfaces 'own' with ip route show.
For example,

$ ip route show
192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.22  metric 1 

In this case, a 192.168.1.x/24 address (eth0) would be the gateway for the the same 192.168.1.x/24. A 10.x.x.x address will be the gateway for all 10.x.x.x that fall under its subnet mask. This is actually what you see in bacon's answer. It shows a ping test where the gateway and target IP addresses are in the same network -- the network masks match exactly. 192.168.43.102 is within the same /24 network (as indicated by the 255.255.255.0 network mask) as the interface.

The only problem would be confusion over other subnets -- the interface connecting to the outbound ISP path would need to be the 'gateway of last resort' for all routes that aren't directly connected.

You can get this to work, but you should do a quick test to make sure you can reach the resources you need. You might find that you need to use route add to add a default route.

Related Question