User:Jimbodude/Standalone Mode

From LinuxMCE
Jump to: navigation, search

Standalone Mode or Standalone Configuration (name is up for debate) is a proposed new feature for LinuxMCE that would allow people to have a LinuxMCE Core exist as a new system on an existing network. The goal is to encourage more people to try to use the system by allowing them to run LinuxMCE without altering their current network setup at all, and to allow the system to be used in environments where the user is not able (or willing) to alter the network configuration for some reason. This configuration would allow users to build trust with the system and learn the important concepts before doing a full scale implementation or to use a limited subset of features in a permanent solution.

Ideally, this feature would be integrated into the install. The user would be able to select "Normal Mode" or "Standalone Mode" - this option would probably replace the current "disable DCHP server" option. If standalone mode is selected, the user should be warned about all the features of LinuxMCE that will be disabled.

The key point of this article is that we don't need to edit any code (outside of the installer) to make this happen. We also can test and find out exactly what features are disabled by running LinuxMCE in this manner, so it is not a serious support burden.

Using Standalone Mode

To get from normal mode to standalone mode, a few things need to happen:

  • Disable network management, especially DHCP, so we don't conflict with the management solution that is in place (i.e. consumer grade routers)
  • Reconfigure network adapter so that PnP still works and the network acts as expected

In one install of LinuxMCE, I hacked up the configuration files manually to achieve the desired behavior. Using a bit more knowledge about the LinuxMCE system, I've found that there is a much simpler and cleaner way to do this.

The clean way

  1. Disable DHCP (uncheck the box in Web Admin --> Advanced --> Network --> Network Settings)
  2. Disable the Firewall, because we expect that we are already behind a firewall (check box in Web Admin --> Advanced --> Network --> Firewall Rules)
  3. Disable the following boot scripts for both Core and Hybrid (uncheck in Web Admin --> Advanced --> Software --> Boot Sequence)
    • DHCP_config.sh
    • Network_Firewall.sh
    • Restart_DHCP.sh
  4. Reboot the system

If there's only one NIC, eth0 and eth0:0 will still both exist and have different IPs, but that's ok. Whichever one we decide to talk to will do just fine, since the firewall is off.

If you want PnP to work, you'll have to configure the internal adapter's address to be part of your network's subnet. If your internal and external adapter are on the same network, the core will detect itself - be sure to ignore the core. Ideally, the external adapter should be disabled, or directed to some other subnet, where it won't actually do anything.

The gross way

DO NOT do this. EVER.

  1. Disable DHCP
  2. Disable the firewall
  3. Hack the hell out of interfaces so that eth0 and eth0:0 have the same IP
  4. Hack the hell out of the pluto properties file to get the desired IP addresses for both internal and external network

This basically breaks LinuxMCE's auto configuration, and makes it a totally manual setup. This is not desirable, and you should never do it.

Feature Loss

Confirmed Lost:

  • Automatic netboot of MDs (no DHCP to push out the image automatically)

Confirmed Not Lost:

  • All media functionality related to hybrid core
  • Network media spider
  • Home automation features (not dependent on DHCP)

Unconfirmed Probably Lost:

  • Telecom
  • Network device PnP

Under Test:

  • Manual netboot of MDs (supply core IP and static IP address to MD)

Integrating this into the install

Looking into it. Shouldn't be too hard.

Things that need to be done:

  • Add new options to the installer to activate standalone mode
  • Document the loss of functionality caused by using standalone mode