Saturday, 11 November 2017

PXELinux using Proxy DHCP

In this blog we look at PXELinux using Proxy DHCP. PXELinux is a network boot server and can be used as a replacement to boot CDs or USB. Devices boot from the network and the PXELinux server provides the bootstrap files. Often this is used to deploy new installations of Linux when a system boots. The PXELinux server will often use its own DHCP Server, but often you have an existing DHCP server and the PXELinux server, then , just needs to send a few extra DHCP options. This is achieved by setting up PXELinux using Proxy DHCP. For the demonstration we are using Ubuntu 16.04 Server.

Install Required Packages for PXELinux using Proxy DHCP


We will install the package dnsmasq as this provides DNS, DHCP, DHCP Proxy and TFTP services with the single package and single service. This is very much designed with PXELinux in mind as we want DHCP and TFTP or as we will use TFTP with Proxy DHCP. Along with this we want the package pxelinux and its sister package syslinux. Pxelinux provides network boot and syslinux provides boot mechanisms from hard disk, iso file systems and USB drives. The package systenlix provides a lot of the shared files that we need for booting to any medium.

PXELinux using Proxy DHCP, LPI Certifications, LPI Tutorials and Materials

$ sudo apt-get update
$ sudo apt-get install pxelinux syslinux dnsmasq

By default the dnsmasq service will be running and is configured as a DNS Server by default. We do not need the DNS server and we will disable this later.

Create the DNSMASQ Configuration


As our first step we will rename the dnsmasq configuration file, /etc/dnsmasq.conf

$ sudo mv dnsmasq.conf dnsmasq.conf.orig

We can then use the editor of choice to create a new configuration:

$ sudo vim /etc/dnsmasq.conf

port=0
log-dhcp
dhcp-range=192.168.56.0,proxy
dhcp-boot=pxelinux.0
pxe-service=x86PC,'Network Boot',pxelinux
enable-tftp
tftp-root=/tftpboot

Make sure that you setup the correct IP address for the network that you want Proxy DHCP to work with. You must have an interface configured on this network range.

◉ port=0 : Disables the DNS Service
◉ log-dhcp=192.168.56.0,proxy : Log DHCP traffic
◉ dhcp-range : The network range that we want to listen to DHCP requests on. The proxy options ensures we only send DHCP options and not the main IP address and mask. This is used so we can interoperate with and existing DHCP Server on the network
◉ dhcp-boot=pxelinux.0: Set the DHCP Option for the boot filename used as the network bootstrap file
pxe-service=x86PC,’Network Boot’,pxelinux : Here we set the 2nd DHCP Option we deliver to DHCP clients and specify this is for our bios based systems, x86PC, a boot message and the name of the bootstrap file omitting the .0 from the end of the name.
◉ enable-tftp : We need the TFTP server to deliver files after the bootstrap files has been delivered by PXELinux using Proxy DHCP.
◉ tftp-root=/tftpboot : We set the path to the root directory that will be used by the TFTP Server

Fix the /etc/resolv.conf


When DNSMASQ was installed the resolv.conf will point to the localhost for DNS name resolution. This will be fine if we leave the DNS Server running but we want to disable it, as we have set with the port=0 setting in the dnsmasq.conf. To ensure that when using PXELinux with Proxy DHCP we do not need DNS we must reconfigure DNSMASQ to ignore the local interface. This is set in the file /etc/default/dnsmasq. And we need to add a line to this file:

$ sudo vim /etc/default/dnsmasq

#Add this as the last line
DNSMASQ_EXCEPT=lo
Create the TFTP Root

We can create the TFTP Server root directory and a subdirectory that we will need:

$ sudo mkdir -p /tftpboot/pxelinux.cfg

We can now restart the services. Restarting the networking service will ensure that the resolv.conf is rewritten as well:

$ sudo systemctl restart dnsmasq.service networking.service

Populate the TFTP Root


We now need to make sure the the bootstrap file that the DHCP options refer to is present. We will also need some other files from the system Linux package. We will add these all to the /tftpboot directory we have recently created.

sudo cp /usr/lib/PXELINUX/pxelinux.0 /tftpboot/
sudo cp /usr/lib/syslinux/modules/bios/{menu,ldlinux,libmenu,libutil}.c32 /tftpboot/
ls -l /tftpboot/
total 240
-rw-r--r-- 1 root root 116492 Oct 29 13:15 ldlinux.c32
-rw-r--r-- 1 root root  24196 Oct 29 13:15 libmenu.c32
-rw-r--r-- 1 root root  23700 Oct 29 13:15 libutil.c32
-rw-r--r-- 1 root root  26208 Oct 29 13:15 menu.c32
-rw-r--r-- 1 root root  42788 Oct 29 13:14 pxelinux.0
drwxr-xr-x 2 root root   4096 Oct 29 13:18 pxelinux.cfg

Create the PXELinux Configuration


When using PXELinux using Proxy DHCP the boot process will look for configurations for the client MAC address it IP address. If a specific file is not found then it can fall back to the default configuration. We will use the default configuration for all the clients at this stage and create a configuration files /tftpboot/pxelinux.cfg/default

$ sudo vim /tftpboot/pxelinux.cfg/default

default menu.c32
prompt 0
menu title Boot Menu
  label localboot
    menu label Boot Local Disk
    localboot 0

We load the menu program first and display the title. We have just one menu item that boots to the local disk. There will be more on installing Linux with these menus in another blog.

All we need to do is boot from a device on the network and test that NetBoot is working for that client. The video shows the process from start to finish.

Wednesday, 1 November 2017

Linux Professional Institute launches new website and brand identity to reflect rededication to its mission

Linux Professional Institute (LPI) is pleased to announce the launch of its new website and brand identity. These efforts enforce LPI’s purpose: to enable economic and creative opportunities for everybody by making Open Source knowledge and skills certification universally accessible.

Linux Professional Institute (LPI)

The new website and brand identity demonstrates Linux Professional Institute’s renewed commitment to its Linux and Open Source community-based beginnings.

Established as an international non-profit organization in October 1999 by the Linux community, LPI has grown to be a global organization contributing to the continued spread of Linux and Open Source software, and the professional certification and support of its members.

LPI’s renewed community commitment is front and center of the new website and redesigned brand identity. Over the next year, these efforts will further support the growth of LPIs certifications, corporate, and academic partnerships.

“The LPI community was created in 1999 and is trusted in over 180 countries, across 9 languages. LPI sets the most accessible, versatile, demanded, and independent standard for Open Source professional certification in the world. This year we also surpassed over half a million exams delivered. We want our brand and website to reflect this, to give people a greater sense of opportunity and better access to all of our Linux and Open Source resources. And now they do,” says G. Matthew Rice, Executive Director of LPI.

Emphasizing the role LPI plays in increasing adoption of Open Source software, Rice commented, “LPI is an enabling, scalable certification program for Open Source professionals who need to demonstrate proficiency in order to establish or further their career and to participate in Open Source communities and economies.”

The launch of the new website reaffirms and bolsters LPI’s ideal of challenging the status quo of closed source solutions, offering an alternative means of getting an education and skills recognition, knocking down barriers of entry for people and businesses by providing access for all, and leveling the economic playing field.

About Linux Professional Institute (LPI)

LPI is the global certification standard and career support organization for Open Source professionals. With more than 500,000 exams delivered, it’s the world’s first and largest vendor-neutral Linux and Open Source certification body. LPI has certified professionals in 181 countries, delivers exams in 9 languages, and has over 200 training partners.

Friday, 27 October 2017

Hosting a Successful Global Summit: Lessons for Project Managers

Introduction


Every year, Linux Professional Institute (LPI) gathers staff, regional partners, and strategic partners from all over the world to discuss how to better serve the needs of the Linux and Open Source community.

Helping to organize a global event that taps into the energy and enthusiasm from open source community leaders from several counties is a true challenge. So, in this blog, I will share lessons that any project manager who works with an international organization can use to ensure their events are more successful.

Background


The first thing to keep in mind is that I have worked with LPI for less than a year in my role as Project Manager. So, when I was helping to plan the 2017 LPI Global Summit, many of the people who were contributing to the event were unknown to me. As a result, I worked closely with a colleague, John Meaney, LPI’s Director for Regional Development, who has well-established relationships throughout LPI.

LPI, Project Managers

Second, people who contributed to the summit come from dozens of countries, communicate in several languages (other than English), expect different outcomes from the event, and have a wide range of technical expertise. That meant John and I engaged with LPI colleagues, sponsors, attendees, and the event speakers, using every form of communication available. Third, given the global nature of LPI (i.e. having Regional Partners in more than 20 countries) and the complexities/costs associated with juggling schedules, planning content, and managing event logistics, it was crucial that every minute at the summit was worthwhile for all attendees.


The Event


The good news is that the summit was, by all measures, a success. In part, this was due to the extensive planning; but it was also owing to the shared sense of support and community held by attendees, regardless of their role in the event. Each summit activity reinforced a core value of LPI: disparate viewpoints are genuinely accepted and respected.

While challenging conversations were had, differences in opinions and practices were acknowledged, discussed, and embraced. I was more than surprised to see this approach from all our attendees, I was inspired by it.

By the end of the event, all attendees had contributed to how LPI will evolve over the next year. I look forward to the next summit and with it, the opportunity to savor more lively conversations and wonderful success stories from partners.

Key Lessons


When pulling together an important event that draws people together from the around the globe, I recommend the following for any project manager:

◉ Involve people who have existing relationships with key stakeholders early when planning the event. This allows you to ‘piggy back’ on their relationships and establish credibility quickly.
◉ Use every communication channel available to you to build and sustain rapport with stakeholders.
◉ Maintain a regular schedule of check-point meetings throughout the event planning. These should be outcome-driven sessions as well as brainstorming sessions. Both are critical to keep deliverables on schedule and minimize project-related risks.
◉ Devote time to understanding the cultural expectations and patterns of communications of relevant stakeholders.
◉ Since team members are located around the world, use these events to strengthen working relationships.
◉ Allow yourself to enjoy the event that you have helped organize.
◉ After the event, collect, review and circulate the lessons learned.

As the Project Manager for LPI, I welcome your insights about how to best manage short- and long-term events/projects for international organizations.

Friday, 5 May 2017

From an Email to an Exam: Developing LPIC-2 Version 4.5

The news that version 4.5 of the LPIC-2 objectives for the 201 and 202 exams was released on February 13th 2017 means that we can already congratulate our first candidates on earning their LPIC-2 certification based on the new objectives.

LPI Study Materials, LPI Guides, LPI Certifications, LPI Learning

LPI certification and exam objectives are a community-created, global standard that document the skills required by a Linux professional at each respective level.

Certification objectives describe what we expect a candidate to know, not only for their career aspirations, but also in order to pass our exams.

They set the scope of the exam and guide our candidates through their studies; helping them to make decisions about which topics to prioritise and to fill in blanks in their knowledge. Additionally, they help courseware authors and training partners to allocate pages and time to specific subjects.

Setting this standard requires a lot of involvement from the open source community and the development of the updated LPIC-2 certification started almost ten months before its final release.

LPI Study Materials, LPI Guides, LPI Certifications, LPI Learning

The updated exam versions would not be possible nor credible without the engagement of our community. Everyone who took a beta exam, participated in online and local discussions and took our surveys did a great job in providing us with feedback and ideas which help us maintain our certification standards.

There were many more people who helped to prepare the new version of LPIC-2. To name a few of them, our German and Japanese translation teams worked hard to get their translated version ready; publishers and authors adapted their books and materials to match the new objectives; subject matter experts reviewed and ranked the questions to ensure that they are fair and appropriate.

In case you’re about to take an LPIC-2 exam soon, you should make yourself familiar with the updated exams. Our wiki hosts the new LPIC-2 version 4.5 objectives as well as a summary of the changes in version 4.5. If you’ve been studying against the 4.0 version of the LPIC-2 objectives, previous versions of exams which cover the prior version of the objectives are available for six months after a new release.

Friday, 20 January 2017

LPIC OT DevOPs Engineer - Request for help in the Job Task Analysis (JTA)

Some of my readers may know that I am the Chair for the Board of Directors of the Linux Professional Institute (LPI).  Like many things I do, this is a volunteer job, and I could not do it without help from many other volunteers.


Founded in 1999, LPI was created as a Canadian based non-profit to “certify users of computer software programs” and “facilitate the exchange of information between computer users”. Since that time LPI has delivered over 500,000 tests, and currently has over 200,000 certificate holders in over 180 countries.

The certifications so far are on four major levels, known as “LPI Linux Essentials (LE)”, “Linux Administrator (LPIC-1)”, “Linux Systems Engineer (LPIC-2)” and a variety of advanced topics at the LPIC-3 level such as “Security”, “Virtualization and High Availability” and “Mixed Environment”.

LPI separates the function of “certification” from “learning”, allowing potential job seekers to study the objectives for each test and to pick the method of learning that suits them best, whether it be self-study, reading articles on the Internet or from magazines and books, or taking a formal course from one of LPI's many partners.

LPI is a community-based model for developing its certifications. LPI first creates a “Job Task Analysis” to see what types of tasks and knowledge that someone needs to do a particular job. LPI reaches out to the community of people who are actually performing that job or managing those people. LPI then gathers these job tasks, analyzes them, and creates a list of these tasks. After the JTA is created, LPI then approaches this community of people and asks of them what types of questions would these people ask of a job candidate to determine that they could do those tasks correctly. Finally, give that list of questions, LPI approaches the community to find out what answers would be expected as “correct”.

After this procedure the test questions are put into beta tests, given to potential certification holders, and the tests and answers run through a process called psychometrics that uses statistics to help assure the quality of the testing procedure.


Recently LPI decided to create an LPI Certification Open Technology for DevOPs named “LPIC-OT DevOps Engineer Certification”. Unlike other LPI tests (which were GNU/Linux oriented), this certification is OS neutral, and therefore hopefully useful for GNU/Linux, *BSD, Apple and (perhaps even) Microsoft Windows DevOps Engineers. The certification will test the ability of the candidate to create a DevOps workflow and to optimize their daily administration and development tasks. One major concession to LPI's strategy, however, is to focus on “Open Source” and freely available DevOPs tools and procedures when available versus closed source tools.

Therefore LPI is asking DevOps engineers and managers to participate in defining the Job Task Analysis. If you are willing to help LPI (and in the traditional FOSS way, eventually helping yourself).

Saturday, 13 February 2016

LPIC-3 320.1 Avoiding the Heartbleed Bug by Installing from Source

LPIC-3 Objective 320.1


In this tutorial we look at the real need to work with the very latest version of software from the source when security is involved.

Even though it is most likely that recent distribution updates will include  later version of OpenSSL we need to make sure that we avoid version 1.01 through to version 1.0.1f as these are affected by the Heartbleed bug. Earlier versions in the 1.0.0 branch are fine as is 0.9.8. A quick check on my Raspberry Pi and it is running OpenSSL version 1.0.1e, not good.

The version of openSSL can be checked running:

$ openssl version

This is true in the Raspberry Pi up to and including the latest version of Debian Wheezy, 7.8 Image that I downloaded  during February 2016:

LPIC-3, LPI Tutorials and Materials, LPI Guides, LPI Certifications

In any case, it is your responsibility to ensure your system is running safely and securely and often that does mean downloading from source.  The latest version from OpenSSL currently as this is written is 1.0.2 and this is what we will download and compile:

$ cd 
wget https://www.openssl.org/source/openssl-1.0.2.tar.gz
tar -xzvf openssl-1.0.2.tar.gz
cd openssl-1.0.2
./configure
make 
sudo make install

LPIC-3, LPI Tutorials and Materials, LPI Guides, LPI Certifications
Once installed we should be able to see the new version and relax knowing that our system is now safe from Heartbleed. To display more information about OpenSSL we can use the option:

$ openssl -a

There will be more tutorials following to help with this LPIC-3 objective but for the moment lets ensure we are are running 1.0.1f or later and watch the video: