Linux Networking Cookbook
By
Carla Schroder
November 2007
Pages: 638
| Table of Contents
| Index
| Sample Chapter
| Forum
| Colophon
Table of Contents
-
Chapter 1 Introduction to Linux Networking
-
Introduction
-
Chapter 2 Building a Linux Gateway on a Single-Board Computer
-
Introduction
-
Getting Acquainted with the Soekris 4521
-
Configuring Multiple Minicom Profiles
-
Installing Pyramid Linux on a Compact Flash Card
-
Network Installation of Pyramid on Debian
-
Network Installation of Pyramid on Fedora
-
Booting Pyramid Linux
-
Finding and Editing Pyramid Files
-
Hardening Pyramid
-
Getting and Installing the Latest Pyramid Build
-
Adding Additional Software to Pyramid Linux
-
Adding New Hardware Drivers
-
Customizing the Pyramid Kernel
-
Updating the Soekris comBIOS
-
Chapter 3 Building a Linux Firewall
-
Introduction
-
Assembling a Linux Firewall Box Problem
-
Configuring Network Interface Cards on Debian
-
Configuring Network Interface Cards on Fedora
-
Identifying Which NIC Is Which
-
Building an Internet-Connection Sharing Firewall on a Dynamic WAN
IP Address
-
Building an Internet-Connection Sharing Firewall on a Static WAN
IP Address
-
Displaying the Status of Your Firewall
-
Turning an iptables Firewall Off
-
Starting iptables at Boot, and Manually Bringing Your Firewall Up
and Down
-
Testing Your Firewall
-
Configuring the Firewall for Remote SSH Administration
-
Allowing Remote SSH Through a NAT Firewall
-
Getting Multiple SSH Host Keys Past NAT
-
Running Public Services on Private IP Addresses
-
Setting Up a Single-Host Firewall
-
Setting Up a Server Firewall
-
Configuring iptables Logging
-
Writing Egress Rules
-
Chapter 4 Building a Linux Wireless Access Point
-
Introduction
-
Building a Linux Wireless Access Point
-
Bridging Wireless to Wired
-
Setting Up Name Services
-
Setting Static IP Addresses from the DHCP Server
-
Configuring Linux and Windows Static DHCP Clients
-
Adding Mail Servers to dnsmasq
-
Making WPA2-Personal Almost As Good As WPA-Enterprise
-
Enterprise Authentication with a RADIUS Server
-
Configuring Your Wireless Access Point to Use FreeRADIUS
-
Authenticating Clients to FreeRADIUS
-
Connecting to the Internet and Firewalling
-
Using Routing Instead of Bridging
-
Probing Your Wireless Interface Card
-
Changing the Pyramid Router's Hostname
-
Turning Off Antenna Diversity
-
Managing dnsmasq's DNS Cache
-
Managing Windows' DNS Caches
-
Updating the Time at Boot
-
Chapter 5 Building a VoIP Server with Asterisk
-
Introduction
-
Installing Asterisk from Source Code
-
Installing Asterisk on Debian
-
Starting and Stopping Asterisk
-
Testing the Asterisk Server
-
Adding Phone Extensions to Asterisk and Making Calls
-
Setting Up Softphones
-
Getting Real VoIP with Free World Dialup
-
Connecting Your Asterisk PBX to Analog Phone Lines
-
Creating a Digital Receptionist
-
Recording Custom Prompts
-
Maintaining a Message of the Day
-
Transferring Calls
-
Routing Calls to Groups of Phones
-
Parking Calls
-
Customizing Hold Music
-
Playing MP3 Sound Files on Asterisk
-
Delivering Voicemail Broadcasts
-
Conferencing with Asterisk
-
Monitoring Conferences
-
Getting SIP Traffic Through iptables NAT Firewalls
-
Getting IAX Traffic Through iptables NAT Firewalls
-
Using AsteriskNOW, "Asterisk in 30 Minutes"
-
Installing and Removing Packages on AsteriskNOW
-
Connecting Road Warriors and Remote Users
-
Chapter 6 Routing with Linux
-
Introduction
-
Calculating Subnets with ipcalc
-
Setting a Default Gateway
-
Setting Up a Simple Local Router
-
Configuring Simplest Internet Connection Sharing
-
Configuring Static Routing Across Subnets
-
Making Static Routes Persistent
-
Using RIP Dynamic Routing on Debian
-
Using RIP Dynamic Routing on Fedora
-
Using Quagga's Command Line
-
Logging In to Quagga Daemons Remotely
-
Running Quagga Daemons from the Command Line
-
Monitoring RIPD
-
Blackholing Routes with Zebra
-
Using OSPF for Simple Dynamic Routing
-
Adding a Bit of Security to RIP and OSPF
-
Monitoring OSPFD
-
Chapter 7 Secure Remote Administration with SSH
-
Introduction
-
Starting and Stopping OpenSSH
-
Creating Strong Passphrases
-
Setting Up Host Keys for Simplest Authentication
-
Generating and Copying SSH Keys
-
Using Public-Key Authentication to Protect System
Passwords
-
Managing Multiple Identity Keys
-
Hardening OpenSSH
-
Changing a Passphrase
-
Retrieving a Key Fingerprint
-
Checking Configuration Syntax
-
Using OpenSSH Client Configuration Files for Easier
Logins
-
Tunneling X Windows Securely over SSH
-
Executing Commands Without Opening a Remote Shell
-
Using Comments to Label Keys
-
Using DenyHosts to Foil SSH Attacks
-
Creating a DenyHosts Startup File
-
Mounting Entire Remote Filesystems with sshfs
-
Chapter 8 Using Cross-Platform Remote Graphical Desktops
-
Introduction
-
Connecting Linux to Windows via rdesktop
-
Generating and Managing FreeNX SSH Keys
-
Using FreeNX to Run Linux from Windows
-
Using FreeNX to Run Linux from Solaris, Mac OS X, or
Linux
-
Managing FreeNX Users
-
Watching Nxclient Users from the FreeNX Server
-
Starting and Stopping the FreeNX Serve
-
Configuring a Custom Desktop
-
Creating Additional Nxclient Sessions
-
Enabling File and Printer Sharing, and Multimedia in
Nxclient
-
Preventing Password-Saving in Nxclient
-
Troubleshooting FreeNX
-
Using VNC to Control Windows from Linux
-
Using VNC to Control Windows and Linux at the Same Time
-
Using VNC for Remote Linux -to-Linux Administration
-
Displaying the Same Windows Desktop to Multiple Remote
Users
-
Changing the Linux VNC Server Password
-
Customizing the Remote VNC Desktop
-
Setting the Remote VNC Desktop Size
-
Connecting VNC to an Existing X Session
-
Securely Tunneling x11vnc over SSH
-
Tunneling TightVNC Between Linux and Windows
-
Chapter 9 Building Secure Cross-Platform Virtual Private Networks with
OpenVPN
-
Introduction
-
Setting Up a Safe OpenVPN Test Lab
-
Starting and Testing OpenVPN
-
Testing Encryption with Static Keys
-
Connecting a Remote Linux Client Using Static Keys
-
Creating Your Own PKI for OpenVPN
-
Configuring the OpenVPN Server for Multiple Clients
-
Configuring OpenVPN to Start at Boot
-
Revoking Certificates
-
Setting Up the OpenVPN Server in Bridge Mode
-
Running OpenVPN As a Nonprivileged User
-
Connecting Windows Clients
-
Chapter 10 Building a Linux PPTP VPN Server
-
Introduction
-
Installing Poptop on Debian Linux
-
Patching the Debian Kernel for MPPE Support
-
Installing Poptop on Fedora Linux
-
Patching the Fedora Kernel for MPPE Support
-
Setting Up a Standalone PPTP VPN Server
-
Adding Your Poptop Server to Active Directory
-
Connecting Linux Clients to a PPTP Server
-
Getting PPTP Through an iptables Firewall
-
Monitoring Your PPTP Server
-
Troubleshooting PPTP
-
Chapter 11 Single Sign-on with Samba for Mixed Linux/Windows LANs
-
Introduction
-
Verifying That All the Pieces Are in Place
-
Compiling Samba from Source Code
-
Starting and Stopping Samba
-
Using Samba As a Primary Domain Controller
-
Migrating to a Samba Primary Domain Controller from an NT4
PDC
-
Joining Linux to an Active Directory Domain
-
Connecting Windows 95/98/ME to a Samba Domain
-
Connecting Windows NT4 to a Samba Domain
-
Connecting Windows NT/2000 to a Samba Domain
-
Connecting Windows XP to a Samba Domain
-
Connecting Linux Clients to a Samba Domain with Command-Line
Programs
-
Connecting Linux Clients to a Samba Domain with Graphical
Programs
-
Chapter 12 Centralized Network Directory with OpenLDAP
-
Introduction
-
Installing OpenLDAP on Debian
-
Installing OpenLDAP on Fedora
-
Configuring and Testing the OpenLDAP Server
-
Creating a New Database on Fedora
-
Adding More Users to Your Directory
-
Correcting Directory Entries
-
Connecting to a Remote OpenLDAP Server
-
Finding Things in Your OpenLDAP Directory
-
Indexing Your Database
-
Managing Your Directory with Graphical Interfaces
-
Configuring the Berkeley DB
-
Configuring OpenLDAP Logging
-
Backing Up and Restoring Your Directory
-
Refining Access Controls
-
Changing Passwords
-
Chapter 13 Network Monitoring with Nagios
-
Introduction
-
Installing Nagios from Sources
-
Configuring Apache for Nagios
-
Organizing Nagios' Configuration Files Sanely
-
Configuring Nagios to Monitor Localhost
-
Configuring CGI Permissions for Full Nagios Web Access
-
Starting Nagios at Boot
-
Adding More Nagios Users
-
Speed Up Nagios with check_icmp
-
Monitoring SSHD
-
Monitoring a Web Server
-
Monitoring a Mail Server
-
Using Servicegroups to Group Related Services
-
Monitoring Name Services
-
Setting Up Secure Remote Nagios Administration with
OpenSSH
-
Setting Up Secure Remote Nagios Administration with
OpenSSL
-
Chapter 14 Network Monitoring with MRTG
-
Introduction
-
Installing MRTG
-
Configuring SNMP on Debian
-
Configuring SNMP on Fedora
-
Configuring Your HTTP Service for MRTG
-
Configuring and Starting MRTG on Debian
-
Configuring and Starting MRTG on Fedora
-
Monitoring Active CPU Load
-
Monitoring CPU User and Idle Times
-
Monitoring Physical Memory
-
Monitoring Swap Space and Memory
-
Monitoring Disk Usage
-
Monitoring TCP Connections
-
Finding and Testing MIBs and OIDs
-
Testing Remote SNMP Queries
-
Monitoring Remote Hosts
-
Creating Multiple MRTG Index Pages
-
Running MRTG As a Daemon
-
Chapter 15 Getting Acquainted with IPv6
-
Introduction
-
Testing Your Linux System for IPv6 Support
-
Pinging Link Local IPv6 Hosts
-
Setting Unique Local Unicast Addresses on Interfaces
-
Using SSH with IPv6
-
Copying Files over IPv6 with scp
-
Autoconfiguration with IPv6
-
Calculating IPv6 Addresses
-
Using IPv6 over the Internet
-
Chapter 16 Setting Up Hands-Free Network Installations of New Systems
-
Introduction
-
Creating Network Installation Boot Media for Fedora Linux
-
Network Installation of Fedora Using Network Boot Media
-
Setting Up an HTTP-Based Fedora Installation Server
-
Setting Up an FTP-Based Fedora Installation Server
-
Creating a Customized Fedora Linux Installation
-
Using a Kickstart File for a Hands-off Fedora Linux
Installation
-
Fedora Network Installation via PXE Netboot
-
Network Installation of a Debian System
-
Building a Complete Debian Mirror with apt-mirror
-
Building a Partial Debian Mirror with apt-proxy
-
Configuring Client PCs to Use Your Local Debian Mirror
-
Setting Up a Debian PXE Netboot Server
-
Installing New Systems from Your Local Debian Mirror
-
Automating Debian Installations with Preseed Files
-
Chapter 17 Linux Server Administration via Serial Console
-
Introduction
-
Preparing a Server for Serial Console Administration
-
Configuring a Headless Server with LILO
-
Configuring a Headless Server with GRUB
-
Booting to Text Mode on Debian
-
Setting Up the Serial Console
-
Configuring Your Server for Dial-in Administration
-
Dialing In to the Server
-
Adding Security
-
Configuring Logging
-
Uploading Files to the Server
-
Chapter 18 Running a Linux Dial-Up Server
-
Introduction
-
Configuring a Single Dial-Up Account with WvDial
-
Configuring Multiple Accounts in WvDial
-
Configuring Dial-Up Permissions for Nonroot Users
-
Creating WvDial Accounts for Nonroot Users
-
Sharing a Dial-Up Internet Account
-
Setting Up Dial-on-Demand
-
Scheduling Dial-Up Availability with cron
-
Dialing over Voicemail Stutter Tones
-
Overriding Call Waiting
-
Leaving the Password Out of the Configuration File
-
Creating a Separate pppd Logfile
-
Chapter 19 Troubleshooting Networks
-
Introduction
-
Building a Network Diagnostic and Repair Laptop
-
Testing Connectivity with ping Problem
-
Profiling Your Network with FPing and Nmap
-
Finding Duplicate IP Addresses with arping
-
Testing HTTP Throughput and Latency with httping
-
Using traceroute, tcptraceroute, and mtr to Pinpoint Network
Problems
-
Using tcpdump to Capture and Analyze Traffic
-
Capturing TCP Flags with tcpdump
-
Measuring Throughput, Jitter, and Packet Loss with iperf
-
Using ngrep for Advanced Packet Sniffing
-
Using ntop for Colorful and Quick Network Monitoring
-
Troubleshooting DNS Servers
-
Troubleshooting DNS Clients
-
Troubleshooting SMTP Servers
-
Troubleshooting a POP3, POP3s, or IMAP Server
-
Creating SSL Keys for Your Syslog-ng Server on Debian
-
Creating SSL Keys for Your Syslog-ng Server on Fedora
-
Setting Up stunnel for Syslog-ng
-
Building a Syslog Server
-
Appendix Essential References
-
Appendix Glossary of Networking Terms
-
Appendix Linux Kernel Building Reference
-
Building a Custom Kernel
-
Colophon
Return to Linux Networking Cookbook