The Tiny Internet Project, Part II

In your router, leave the WAN settings empty or disabled. Just set the following for the LAN:

  • IP address (10.128.1.1)

  • Netmask (255.255.255.0)

  • Turn on DHCP

  • Configure wireless security

If you're using a "dumb" switch (one that is unmanaged), you'll need to set up a static IP address on your administration PC before it can join your private network. The switch won't hand out DHCP addresses on the private network, so you have to set one manually. Later, you can deploy a DHCP server, but for now, static is easy.

Be sure to give your administration PC a static address beyond the range of your server addresses, perhaps starting at 10.128.1.25 or even 10.128.1.50. The basic static-IP configuration should look something like this:

  • IP address — 10.128.1.25

  • Netmask — 255.255.255.0

  • DNS servers — 10.128.1.3, 10.128.1.4

Again, gateway is purposely left out. In this case, your administration PC's gateway already is set to your home or school network (something like 192.168.1.1). That gateway address enables you to get to destinations on the internet. Your private-network machines won't need a gateway to talk to each other.

If your administration PC has an Ethernet port and wireless, use the wired port to connect to the public network (192.168.1.1, in this example). Use the wireless to connect to your tiny internet (10.128.1.x). That way, you'll have simultaneous access to both the public internet and your private tiny internet.

It's important to note that connecting a single computer to two separate networks can be very quirky. Fortunately, Windows 7, Mac OS X and most modern flavors of desktop Linux auto-negotiate network connections. In Linux, Network Manager (network-manager) can handle dual networks, but it can give routing priority to the wired connection. That means you should connect your internet-capable network to the wired port and use wireless to connect to your private network. In Linux Mint, I found that the opposite configuration will make web browsing slow because the system is trying to reach the internet via the wired private network first. If you must connect this way, set metrics in /etc/network/interfaces. (See Resources.)

Be aware that you may have to reboot your administration PC to get the network settings to take hold. Do that before proceeding.

5. Log in to the Proxmox GUI. Now that the PVE host is up and running, and both it and your administration PC can communicate with each other via your router (or switch), you're ready to get down to business. On your administration PC, point a browser to the address the Proxmox host offered you: https://10.128.1.2:8006. Enter the root user name and your password.

Once you click OK to dismiss the "No valid subscription warning", you'll see the main view, split into a server-manager column on the left and the main information panel on the right. The panel at the bottom gives real-time updates on actions you take, such as starting or stopping a server.

Figure 8. Proxmox Main View

If you named your Proxmox host "pve", the server listed when you expand the Datacenter folder will be "pve". Below it is listed the local storage, which is named "local".

Explore the various tabs and become familiar with the interface. Much of it is self-explanatory.

6. Deploy your first server. You're now ready to deploy your first virtual machine. Before you do, decide whether you want to deploy a cluster by adding one or more Proxmox servers to your setup. If you do, you must add the second PVE host now before adding any VMs. Otherwise, if you later decide to add more PVE hosts, you'll have to delete all the virtual machines you created and basically start over.

Proxmox has some freely available templates for everything from CentOS 7, Ubuntu 15.04, Debian 7, a LAMP stack and WordPress. If your Proxmox server has access to the internet—either directly or via a proxy server—you can download and install these by clicking on "local" (your storage drive), and then choosing the Content tab and Templates.

For now, however, you're going to deploy your own virtual machine from scratch by downloading the latest .iso of Ubuntu (or whatever flavor Linux you like) and building a VM from it.

Using your administration PC, download the Ubuntu 14.04.3-server-amd64.iso. This is the long-term release of the server version of Ubuntu, which you'll run without a GUI desktop. The .iso file is just more than 600MB.

To build a VM from this .iso, you'll need to upload it to your Proxmox server.

Figure 9. Uploading the .iso

In the main PVE browser view, open Datacenter and your machine (pve) and click on the "local" storage icon. In the right-hand pane, click the Content tab and the Upload button. In the pop-up window, browse for the .iso file you just downloaded. Click OK to begin the upload.

When the upload is complete, you should see the file listed under the ISO Image list on the Content tab page. You're now ready to deploy it.

In the top right of the main Proxmox browser view, click the Create VM button. In the modal window that opens, Node will be filled in with the name of your Proxmox host ("pve"), and the VM ID will be set to 100. Each future VM will auto-increment from there. Enter a Name, such as "ubuntu", and click the Next button or the next tab.

Figure 10. Creating a Proxmox VM, Step 1

Select the OS type—Linux 4.x/3.x/2.x Kernel (I26). Click Next and make sure the "Use CD/DVD disc image file (iso)" radio button is chosen, select the storage drive ("local"), and use the "ISO Image" drop-down to choose the .iso you uploaded. Click Next.

Figure 11. Creating a Proxmox VM, Step 2

The hard disk settings are fine as is. Note that you'll be creating a 32GB drive on the "local" drive. That will be plenty for all the machines you create, except the mirror server, which will be more like 200GB. Click Next.

Depending on how many CPUs and cores your machine has, you'll be able to add more than one "Socket" and more than one "Cores". Your Ubuntu servers will run fine with a single CPU, so leave the defaults (1 socket, 1 core, Default kvm64 Type), and click Next.

With memory, like CPU, your settings can vary based on how much memory your system has. I assume you don't have much, and I've tested various configurations and found that setting a range works best. Click the radio button next to "Automatically allocate memory within this range", and set the Maximum value to 1024 and the Minimum value to 512. The virtual machine will use only the memory it needs, which typically will be much less than 512MB, but it automatically can use as much as 1GB if necessary. Click Next.

For networking, select Bridged mode and Bridge vmbr0. Click the box next to Firewall and leave all the other settings as defaults. Click Next to review a summary of your choices. When you click Confirm, Proxmox will create the virtual machine. When it's done, you'll see a new icon in the left-hand pane of the main view.

Figure 12. Creating a Proxmox VM, Step 3

To start the new VM, either right-click on it and choose "Start" or left-click it once and choose Start from the menu located above the tabs in the right pane. As it starts up, you'll see the content of the Summary tab change. Right-click the machine and choose "Console" from this list (or from the menu above the tabs). A new browser window will open (check to make sure you're not blocking pop-ups on the site), and you'll see the Ubuntu start-up screen. You're ready to start deploying VMs!

Figure 13. You're ready to start!

Stay tuned for the third and final installment coming soon!

Resources

Create a bootable Linux (Ubuntu) USB: https://help.ubuntu.com/community/Installation/FromUSBStick

Check a Linux system for virtualization capabilities: http://virt-tools.org/learning/check-hardware-virt.

Check a Windows system for virtualization capabilities, for Intel-based systems: http://intel.ly/217A6MK.

SecurAble is a tool from Gibson Research Corp. that helps you learn more about your processor: https://www.grc.com/securable.htm.

Check a Macintosh system for virtualization capabilities—Apple provides some tools at https://support.apple.com/en-us/HT203296.

You can download the bootable Proxmox .iso files from http://proxmox.com/en/downloads/category/iso-images-pve.

Setting metrics on Ubuntu Linux interfaces: http://bit.ly/1mRibHa.

Information on router metrics from WikiPedia: https://en.wikipedia.org/wiki/Metrics_%28networking%2.

Download the Ubuntu server 14.04.3-server-amd64.iso from http://www.ubuntu.com/download/server.

______________________

John S. Tonello is Director of IT for NYSERNet, Inc., in Syracuse, New York. He's been a Linux user and enthusiast since he installed his first Slackware system from diskette 20 years ago. You can follow him @johntonello.