Network Setup

From LinuxMCE
Jump to: navigation, search
Version Status Date Updated Updated By
710 Unknown N/A N/A
810 Unknown N/A N/A
1004 Unknown N/A N/A
1204 Unknown N/A N/A
1404 Unknown N/A N/A
Usage Information


There is regularly some confusion over how much of your existing home network LinuxMCE requires you to change. Many people incorrectly believe that significant changes are required. In the most common case of home networks, almost no change at all is required. The Core server requires 2 NICs (Network Interface Cards). One is known as the "External" NIC and the other as the "Internal" NIC.

Existing Home Network


Above we see a very simple home network setup. All devices are connected to a switch, which in turn is connected to the LAN port of a broadband router. In this topology, most people have their broadband router provide dynamic IP addresses to all other devices via DHCP.

Network After LinuxMCE is Installed


Above we see the same network, now LinuxMCE enabled. NOTE: The only change is the Core LinuxMCE server has been inserted between the switch and the broadband router. In practice, this means disconnecting the Cat5e/6 patch cable, shown in the first diagram, from the broadband router and connecting it into the "Internal" NIC of the of the Core server (shown here on the right of the red box). Next, get a new Cat5e/6 patch cable and connect one end to the "External" NIC of the Core server (shown here on the left of the red box), and the other end back into the LAN port of the broadband router. Your setup is now complete!

In this network, your broadband router can continue providing dynamic IP addresses to the "External" NIC of the core - however, there is nothing stopping you fixing this IP address if you prefer. In which case your broadband router's DHCP server is no longer needed. For the Internal or LinuxMCE network, the Core now provides DHCP services to all devices. IMPORTANT: LinuxMCE needs to be the (only) DHCP server for the Internal network because it provides much more than just IP addresses to these devices. So it is important that you allow it to do this, and leave all your internal devices set to acquire their IP address via DHCP so that LinuxMCE works correctly. This is the only supported configuration - however, as you can see, the impact is either negligible or non-existent.

It is also well worth noting that your PCs will be detected as "file servers" by LinuxMCE, and when the DHCP server assigns an IP address this is effectively permanent/static. You do not need to worry about the IP address changing all the time, it doesn't! This information will be of particular interest to those who want to NAT or port forward services from the Internet to specific PCs, such as Remote Desktop sessions and Bit Torrent clients.

In this page, a reference to the "Core server" can either be a dedicated Core or a Hybrid - a core, plus Media Director functionality - either way, it doesn't effect the network topology or any other details described here. The important point is that a "Core server" at the least contains the LinuxMCE core services, and this is the functionality that needs to be the gateway between the Internal network and the External network.

Fully Configured Smart Home Solution


In the above diagram, you can see the same LinuxMCE-enabled network after it has matured - the owner has gone nuts, adding stuff! You may only wish to use LinuxMCE for media playback, in which case you will be more interested in the "MD"s in the diagram. However, you can continue expanding it at will into its designed functionality by adding telephones, security systems, home automation networks (lights, environmental controls, irrigation systems, etc).

It should be understood that this article is attempting to show that in the simplest implementation, LinuxMCE does not require large, wholesale changes to your existing home network - in fact, in many cases it requires no change at all, just an extra Cat5e/6 patch cable. This does not mean that this is the only, recommended or best network design. It is a minimal implementation that satisfies all of the requirements and is here to show how simple LinuxMCE can actually be. There are many other designs that are extensions of this one, or completely different, that also work and may be chosen based on more sophisticated requirements you may have, but this is a starting point.