Quantcast
Channel: LinOxide
Viewing all articles
Browse latest Browse all 1287

How to Compile IPFire Firewall on Ubuntu 14.04

$
0
0

In our previous article we have installed and configured the IPfire firewall on the virtual machine (VM). However, in this article our focus is the compilation of IPfire on the Ubuntu platform. Following could be the reasons of IPfire compilation from source code.

  • Removal/Addition of features
  • Writing new plugins
  • Update packages like Linux kernel
  • Customization in the GUI/Dashboard etc

Prerequisite for environment setup

Following are prerequisites to compile IPfire from source code.

  • Ubuntu 14.04 LTS
  • git gcc g++ make bzip2 byacc bison gawk packages should be installed on the build system
  • almost 4 to 6 GB RAM
  • significant disk space.

IPfire can be compiled on other Linux distributions. However, following snapshot shows that Ubuntu 14.04 LTS is installed on the development system.

Ubuntu 14.04 LTS

Git package should be installed to download IPfire source code on the system.

# apt-get install git gcc g++ make bzip2 byacc bison gawk

Download Source Code

IPfire uses two repositories for two major versions.

  • IPFire 2.x
  • IPFire 3.x

As shown in the following snapshot that IPfire 2.x repository is used during compilation process.

# git clone git://git.ipfire.org/ipfire-2.x.git

git

After downloading IPfire source code, next step is to grab the source code of used package. Run following command inside the root directory of IPfire source tree to download packages.

# ./make.sh downloadsrc

Above command will download source packages of 500MB size.

downloadsrcdownloadsrc-1

Now, download pre compiled toolchain on the development system. Toolchains are available for  32 & 64 bit systems. Run following command to download toolchain on the system.

#./make.sh gettoolchain

toolchain

As shown in the above figure that toolchain is already downloaded on the system.

Build Process

After downloading source code and toolchain, next step is start build process. Following command will start the build process. Build process checks following things before compiling the source code.

  • build command must be run by user root.
  • significant disk space should be available

IPfire Build step is time-consuming and it takes 5-6 hours on my development system. Therefore, it is recommended to use development system with huge specification to reduce the build time.

As shown in the following figures, there are several stages in the build process.

#./make.sh build

Building LFS

build-1
build-2

Building IPFire

build-3

Building Installer and Packages

build-5

Finally build process is completed as shown in following snapshot. It also shows the time taken during build process is 38 minutes. However, first time it will take 5-6 hours to complete the compilation of IPfire .

buid-final

As shown in the following figure, an iso file is created under the root directory of IPfire source code.

iso-created

MD5 checksum of the newly created iso file is shown in the figure.

iso-created

Finally, compilation of IPfire from the source code is completed and ready to install in the VM. It is recommended to login as a root on development system to run  build process.

IPfire Installation

As shown in the figure, newly created iso file is used in the VM to install IPfire.

iso-vm

Following snapshot shows the IPfire installation from newly created iso file.

installation-compilation

The details of IPfire installation using iso file and configuration is available on the previous article on IPfire.

After successful installation of IPfire, web interface is accessed in the browser for further configuration. IP address of green interface and port 444 is used to access the main dashboard. Accept the untrusted certificate  exception to view the web interface.

running-compiled-ipfire

Bottom of the index page shows that IPFire 2.19 is installed on the VM. It is a development build which is compiled on i586 (32bit) system.

Conclusion

In this interesting tutorial we have set up development environment and compiled a well-known linux firewall 'IPfire' from scratch on the Ubuntu platform and it can be compiled easily on the other linux distributions. IPfire team have already provided necessary details to compile it from source code. The purpose of compilation is to add or remove new features or plugins, update critical packages such as linux kernel, patch security tools such as openssl and customization in the front-end. Compilation of IPfire from source code is one of the big advantage of IPfire project over  Endian and PFsense firewall.

The post How to Compile IPFire Firewall on Ubuntu 14.04 appeared first on LinOxide.


Viewing all articles
Browse latest Browse all 1287

Trending Articles