Free Sample
+ Collection

Designing and Implementing Linux Firewalls and QoS using netfilter, iproute2, NAT and l7-filter

Lucian Gheorghe

Learn how to secure your system and implement QoS using real-world scenarios for networks of all sizes
RRP $23.99
RRP $39.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781904811657
Paperback288 pages

About This Book

  • Implementing Packet filtering, NAT, bandwidth shaping, packet prioritization using netfilter/iptables, iproute2, Class Based Queuing (CBQ) and Hierarchical Token Bucket (HTB)
  •  Designing and implementing 5 real-world firewalls and QoS scenarios ranging from small SOHO offices to a large scale ISP network that spans many cities
  • Building intelligent networks by marking, queuing, and prioritizing different types of traffic

Who This Book Is For

This book is aimed at Linux Network administrators<!--[if !supportAnnotations]--> with some understanding of Linux security threats and issues, or any one interested in securing their systems behind a firewall. Basic knowledge of Linux is presumed but other than that this book shows you how to do the rest, from configuring your system to dealing with security breaches.

Table of Contents

Chapter 1: Networking Fundamentals
The OSI Model
The TCP/IP Model
OSI versus TCP/IP
IP Addressing, IP Subnetting, and IP Supernetting
How the Internet Works
Chapter 2: Security Threats
Layer 1 Security Threats
Layer 2 Security Threats
Layer 3 Security Threats
Layer 4 Security Threats
Layer 5, 6, and 7 Security Threats
Chapter 3: Prerequisites: netfilter and iproute2
iproute2 and Traffic Control
Chapter 4: NAT and Packet Mangling with iptables
A Short Introduction to NAT and PAT (NAPT)
NAT Using iptables
Packet Mangling with iptables
Chapter 5: Layer 7 Filtering
When to Use L7-filter
How Does L7-filter Work?
Installing L7-filter
L7-filter Applications
IPP2P: A P2P Match Option
IPP2P versus L7-filter
Chapter 6: Small Networks Case Studies
Linux as SOHO Router
Linux as Router for a Typical Small to Medium Company
Chapter 7: Medium Networks Case Studies
Example 1: A Company with Remote Locations
Example 2: A Typical Small ISP
Chapter 8: Large Networks Case Studies
Thinking Large, Thinking Layered Models
A Real Large Network Example

What You Will Learn

Chapter 1 is a brief introduction to networking concepts. It covers  OSI and TCP/IP networking models with explanations on their layers, TCP and UDP as Layer 4 protocols and then rounds off the chapter with a discussion on IP addresses, Subnetting, and Supernetting.

Chapter 2  discusses  possible security threats and vulnerabilities found at each of the OSI layers. The goal here is to understand where and how these threats can affect us and to stay protected from attackers. It then rounds off  the discussion by sketching out the basic steps required to protect the services that run on our system.

Chapter 3 introduces two tools needed to build Linux firewalls and QoS. We first learn the workings of netfilter, which is a packet filtering framework, and implement what we have learnt to build a basic firewall for a Linux workstation. We then see how to perform advanced routing and traffic shaping using the IP and TC tools provided by the iproute2 package. The chapter ends with another example scenario where we implement the concepts learnt in the chapter.

Chapter 4 discusses NAT, the types of NAT, how they work and how they can be implemented with Linux by giving practical examples. It also describe packet mangling, when to use it, and why to use it.

Chapter 5 covers layer 7 filtering in detail. We  see how to install the l7-filter package, apply the necessary Linux kernel and ip table patches, and test our installation. We then learn the different applications of l7-filter and see how to put them to practical use. We will also see how to install and use IPP2P, which is an alternative to the l7-filter package but only for P2P traffic, and finally we set up a test between the two packages.

Chapter 6 raises two very popular scenarios, for which we design, implement, and test firewalls and a small QoS configuration. In the first scenario, we configure Linux as a SOHO router.

Click to enlarge

Chapter 7 covers the design of a firewall system for a hypermarket having the headquarters in one location, one store in the same city and several stores in other cities. The hypermarket has an application that uses MSSQL databases in each location which is replicated at the headquarters.

Click to enlarge

All locations have IP Analog Telephone Adapters (IP Phones in the diagram) with subscriptions at the main provider (the HQ provider). In this example we will use, just like in the real application, H.323 as VoIP protocol. We setup all remote locations to have an encrypted VPN connection using ip tunnel to connect to headquarters. You will be shown how to create a QOS script with HTB that controls bandwidth usage based on priorities. The next firewall we take up is that for a small ISP setup that has one internet connection, an access network, a server farm and the
internal departments.


Click to enlarge

We will cover the setup of firewall scripts for each of them and learn how to handle the tricky wireless server. The QoS is handled by the intranet server, the wireless server and the Core router.

Chapter 8 covers the design of a three-layered network deployed at a large provider of Internet and IP telephony services, the three layers being Core, Distribution and Access. It explains  network configuration first on the core and distribution levels and then moves on to building firewalls. The huge size of the network also means that there is a need to tackle newer security threats. As seen in the figure we have 4 Cores running BGP under Zebra and each one peculiar in its own way.

Click to enlarge

There are 3 data services that this ISP can provide to its customers: Internet access, national network access, and metropolitan network access. This chapter will show you how to handle QoS so as to limit this traffic as per one’s needs.

In Detail

Firewalls are used to protect your network from the outside world. Using a Linux firewall, you can do a lot more than just filtering packets. This book shows you how to implement Linux firewalls and Quality of Service using practical examples from very small to very large networks.
After giving us a background of network security, the book moves on to explain the basic technologies we will work with, namely netfilter, iproute2, NAT and l7-filter. These form the crux of building Linux firewalls and QOS. The later part of the book covers 5 real-world networks for which we design the security policies, build the firewall, setup the script, and verify our installation.
Providing only necessary theoretical background, the book takes a practical approach, presenting case studies and plenty of illustrative examples.


Read More