Book of PF : a No-Nonsense Guide to the Openbsd Firewall (3Rd Edition)

Total Page:16

File Type:pdf, Size:1020Kb

Book of PF : a No-Nonsense Guide to the Openbsd Firewall (3Rd Edition) EDITION3RD BUILD A Covers OpenBSD 5.6, MORE SECURE FreeBSD 10.x, and NETWORK EDITION NETWORK 3RD NetBSD 6.x WITH PF THETHE BOOKBOOK THE BOOK OF PF OF THE BOOK THE BOOK OF PF OF THE BOOK OFOF PFPF OpenBSD’s stateful packet filter, PF, is the heart of • Build adaptive firewalls to proactively defend against A GUIDE TO THE the OpenBSD firewall. With more and more services attackers and spammers NO-NONSENSE placing high demands on bandwidth and an increas- OPENBSD FIREWALL • Harness OpenBSD’s latest traffic-shaping system ingly hostile Internet environment, no sysadmin can to keep your network responsive, and convert your afford to be without PF expertise. existing ALTQ configurations to the new system The third edition of The Book of PF covers the most • Stay in control of your traffic with monitoring and up-to-date developments in PF, including new content PETER N.M. HANSTEEN visualization tools (including NetFlow) on IPv6, dual stack configurations, the “queues and priorities” traffic-shaping system, NAT and redirection, The Book of PF is the essential guide to building a secure wireless networking, spam fighting, failover provision- network with PF. With a little effort and this book, you’ll ing, logging, and more. be well prepared to unlock PF’s full potential. You’ll also learn how to: ABOUT THE AUTHOR • Create rule sets for all kinds of network traffic, whether Peter N.M. Hansteen is a consultant, writer, and crossing a simple LAN, hiding behind NAT, traversing sysadmin based in Bergen, Norway. A longtime DMZs, or spanning bridges or wider networks Freenix advocate, Hansteen is a frequent lecturer on OpenBSD and FreeBSD topics, an occasional • Set up wireless networks with access points, and contributor to BSD Magazine, and the author of an lock them down using authpf and special access often-slashdotted blog (http://bsdly.blogspot.com/ ). restrictions Hansteen was a participant in the original RFC 1149 • Maximize flexibility and service availability via CARP, implementation team. The Book of PF is an expanded relayd, and redirection follow-up to his very popular online PF tutorial (h t t p:// home.nuug.no/~peter/pf/ ). HANSTEEN THE FINEST IN GEEK ENTERTAINMENT™ $34.95 ($36.95 CDN) www.nostarch.com OPERATING SYSTEMS/UNIX OPERATING IN: SHELVE “I LI E FLAT.” This book uses a durable binding that won’t snap shut. PRAISE FOR THE BOOK OF PF “The definitive hardcopy guide to deployment and configuration of PF firewalls, written in clear, exacting style. Its coverage is outstanding.” —CHAD PERRIN, TECH REPUBLIC “This book is for everyone who uses PF. Regardless of operating system and skill level, this book will teach you something new and interesting.” —BSD MAGAZINE “With Mr. Hansteen paying close attention to important topics like state inspection, SPAM, black/grey listing, and many others, this must-have reference for BSD users can go a long way to helping you fine-tune the who/what/where/when/how of access control on your BSD box.” —INFOWORLD “A must-have resource for anyone who deals with firewall configurations. If you’ve heard good things about PF and have been thinking of giving it a go, this book is definitely for you. Start at the beginning and before you know it you’ll be through the book and quite the PF guru. Even if you’re already a PF guru, this is still a good book to keep on the shelf to refer to in thorny situa- tions or to lend to colleagues.” —DRU LAVIGNE, AUTHOR OF BSD HACKS AND THE DEFINITIVE GUIDE TO PC-BSD “The book is a great resource and has me eager to rewrite my aging rulesets.” —;LOGIN: “This book is a super easy read. I loved it! This book easily makes my Top 5 Books list.” —DAEMON NEWS THE BOOK OF PF 3RD EDITION A No-Nonsense Guide to the OpenBSD Firewall by Peter N.M. Hansteen San Francisco THE BOOK OF PF, 3RD EDITION. Copyright © 2015 by Peter N.M. Hansteen. All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. Printed in USA First printing 18 17 16 15 14 1 2 3 4 5 6 7 8 9 ISBN-10: 1-59327-589-7 ISBN-13: 978-1-59327-589-1 Publisher: William Pollock Production Editor: Serena Yang Cover and Interior Design: Octopod Studios Developmental Editor: William Pollock Technical Reviewer: Henning Brauer Copyeditor: Julianne Jigour Compositor: Susan Glinert Stevens Proofreader: Paula L. Fleming Indexer: BIM Indexing and Proofreading Services For information on distribution, translations, or bulk sales, please contact No Starch Press, Inc. directly: No Starch Press, Inc. 245 8th Street, San Francisco, CA 94103 phone: 415.863.9900; [email protected] www.nostarch.com The Library of Congress has catalogued the first edition as follows: Hansteen, Peter N. M. The book of PF : a no-nonsense guide to the OpenBSD firewall / Peter N.M. Hansteen. p. cm. Includes index. ISBN-13: 978-1-59327-165-7 ISBN-10: 1-59327-165-4 1. OpenBSD (Electronic resource) 2. TCP/IP (Computer network protocol) 3. Firewalls (Computer security) I. Title. TK5105.585.H385 2008 005.8--dc22 2007042929 No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other product and company names mentioned herein may be the trademarks of their respective owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are using the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The information in this book is distributed on an “As Is” basis, without warranty. While every precaution has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in it. To Gene Scharmann, who all those years ago nudged me in the direction of free software BRIEF CONTENts Foreword by Bob Beck (from the first edition) . xv Acknowledgments . xvii Introduction . xix Chapter 1: Building the Network You Need . 1 Chapter 2: PF Configuration Basics . 11 Chapter 3: Into the Real World . 25 Chapter 4: Wireless Networks Made Easy . 45 Chapter 5: Bigger or Trickier Networks . 65 Chapter 6: Turning the Tables for Proactive Defense . 95 Chapter 7: Traffic Shaping with Queues and Priorities . 117 Chapter 8: Redundancy and Resource Availability . 147 Chapter 9: Logging, Monitoring, and Statistics . 161 Chapter 10: Getting Your Setup Just Right . 185 Appendix A: Resources . 201 Appendix B: A Note on Hardware Support . 207 Index . 211 CONTENts IN DEtaIL FOREWORD by Bob Beck (from the first edition) xv ACKNOWLEDGMENTS xvii INTRODUCTION xix This Is Not a HOWTO . xx What This Book Covers . xx 1 BUILDING THE NETWORK YOU NEED 1 Your Network: High Performance, Low Maintenance, and Secure . 1 Where the Packet Filter Fits In . 3 The Rise of PF . 3 If You Came from Elsewhere . 6 Pointers for Linux Users . 6 Frequently Answered Questions About PF . 7 A Little Encouragement: A PF Haiku . 9 2 PF CONFIGURatION BASICS 11 The First Step: Enabling PF . 12 Setting Up PF on OpenBSD . 12 Setting Up PF on FreeBSD . 13 Setting Up PF on NetBSD . 15 A Simple PF Rule Set: A Single, Stand-Alone Machine . 16 A Minimal Rule Set . 16 Testing the Rule Set . 18 Slightly Stricter: Using Lists and Macros for Readability . 18 A Stricter Baseline Rule Set . 19 Reloading the Rule Set and Looking for Errors . 20 Checking Your Rules . 21 Testing the Changed Rule Set . 22 Displaying Information About Your System . 22 Looking Ahead . 24 3 INTO THE REAL WORLD 25 A Simple Gateway . 25 Keep It Simple: Avoid the Pitfalls of in, out, and on . 26 Network Address Translation vs . IPv6 . 27 Final Preparations: Defining Your Local Network . 29 Setting Up a Gateway . 29 Testing Your Rule Set . 34 That Sad Old FTP Thing . 35 If We Must: ftp-proxy with Divert or Redirect . 36 Variations on the ftp-proxy Setup . 37 Making Your Network Troubleshooting-Friendly . 37 Do We Let It All Through? . 38 The Easy Way Out: The Buck Stops Here . 39 Letting ping Through . 39 Helping traceroute . 40 Path MTU Discovery . 40 Tables Make Your Life Easier . 42 4 WIRELESS NETWORKS MADE EASY 45 A Little IEEE 802 .11 Background . 46 MAC Address Filtering . 46 WEP . 47 WPA . 47 The Right Hardware for the Task . 48 Setting Up a Simple Wireless Network . 48 An OpenBSD WPA Access Point . 51 A FreeBSD WPA Access Point . 52 The Access Point’s PF Rule Set . 53 Access Points with Three or More Interfaces . 54 Handling IPSec, VPN Solutions . 55 The Client Side . 55 OpenBSD Setup . 56 FreeBSD Setup . 58 Guarding Your Wireless Network with authpf . 59 A Basic Authenticating Gateway . 60 Wide Open but Actually Shut . 62 5 BIGGER OR TRICKIER NETWORKS 65 A Web Server and Mail Server on the Inside: Routable IPv4 Addresses . 66 A Degree of Separation: Introducing the DMZ . 70 Sharing the Load: Redirecting to a Pool of Addresses . 72 Getting Load Balancing Right with relayd . 73 A Web Server and Mail Server on the Inside—The NAT Version . 79 DMZ with NAT . 80 Redirection for Load Balancing . 81 Back to the Single NATed Network . 81 Filtering on Interface Groups . 84 The Power of Tags .
Recommended publications
  • ROADS and BRIDGES: the UNSEEN LABOR BEHIND OUR DIGITAL INFRASTRUCTURE Preface
    Roads and Bridges:The Unseen Labor Behind Our Digital Infrastructure WRITTEN BY Nadia Eghbal 2 Open up your phone. Your social media, your news, your medical records, your bank: they are all using free and public code. Contents 3 Table of Contents 4 Preface 58 Challenges Facing Digital Infrastructure 5 Foreword 59 Open source’s complicated relationship with money 8 Executive Summary 66 Why digital infrastructure support 11 Introduction problems are accelerating 77 The hidden costs of ignoring infrastructure 18 History and Background of Digital Infrastructure 89 Sustaining Digital Infrastructure 19 How software gets built 90 Business models for digital infrastructure 23 How not charging for software transformed society 97 Finding a sponsor or donor for an infrastructure project 29 A brief history of free and public software and the people who made it 106 Why is it so hard to fund these projects? 109 Institutional efforts to support digital infrastructure 37 How The Current System Works 38 What is digital infrastructure, and how 124 Opportunities Ahead does it get built? 125 Developing effective support strategies 46 How are digital infrastructure projects managed and supported? 127 Priming the landscape 136 The crossroads we face 53 Why do people keep contributing to these projects, when they’re not getting paid for it? 139 Appendix 140 Glossary 142 Acknowledgements ROADS AND BRIDGES: THE UNSEEN LABOR BEHIND OUR DIGITAL INFRASTRUCTURE Preface Our modern society—everything from hospitals to stock markets to newspapers to social media—runs on software. But take a closer look, and you’ll find that the tools we use to build software are buckling under demand.
    [Show full text]
  • An Automated Binary Security Update System for Freebsd
    An Automated Binary Security Update System for FreeBSD Colin Percival Computing Lab, Oxford University [email protected] Abstract that a large number of people find the task of applying security patches and rebuilding affected programs to be difficult and/or confusing. Given that releases are on av- With the present trend towards increased reliance upon erage several months – and several security holes – old computer systems, the provision and prompt application by the time they are installed, the possibility arises that of security patches is becoming vital. Developers of all a new user will find his system compromised before he operating systems must generally be applauded for their has a chance to bring it up to date. success in this area; systems administrators, however, are often found lacking. Furthermore, there are some circumstances where build- ing from source is undesirable. Some embedded sys- Anecdotal evidence suggests that for FreeBSD much of tems might lack sufficient disk space to store the entire the difficulty arises out of the need to recompile from the source and object trees; some system administrators re- source code after applying security patches. Many peo- move part or all of the build toolchain in an (arguably ple, after spending years using closed-source point-and- misguided) attempt to thwart any attempt to build a click operating systems, find the concept of recompiling rootkit; and the purveyors of application-specific ‘toast- software to be entirely foreign, and even veteran users ers’ might very likely wish to keep the complexity of of open source software are often less than prompt about building from source entirely hidden from their users.
    [Show full text]
  • The Eleventh Annual
    BSDCan 2014 The Eleventh Annual “I love my job” - Dan Langille About this session a few points then the auction then beer Sponsors! Sponsors (II) Sponsors (III) Sponsors (IV) food voting boxes or buffets? How many? year - # 250 237.5 2012 - 205 225 2013 - 221 212.5 200 2014 - 241 2012 2013 2014 How many? 2012 - 205 (2 + 1 +2 = 5) 2013 - 221 (2 + 2 + 1 = 5) 2014 - 241 (2 + 0 + 1 + 4 = 2 + 4 + 1) Program Committee Bob Beck - OpenBSD Project Dru Lavigne - BSD Events Greg Lehey - LEMIS Pty Ltd. Michael W. Lucas - Consultant and BSD Author David Maxwell - NetBSD Project George Neville-Neil - FreeBSD Project Volunteers Jennifer Russell - travel coordinator and speaker herder Dru Lavigne - registration desk Those of you pressed into service Insert AsiaBSDCon Here BSDP Lab Exam Sun 10am-2pm, UC 206 Beta period of the BSD Professional Lab Exam first “hands-on" exam for BSD system administrators users educators developers generally anyone who loves BSD Seats may still be available. Check with Dru Lavigne ! "C'mon - give it a try!" Insert EuroBSDCon Here Insert FreeBSD Foundation here ` Funding for OpenBSD and related Projects. The OpenBSD Foundation We fund OpenBSD, OpenSSH, OpenSMTPD, PF/Carp, etc. etc. - And hopefully LibreSSL. Financial crisis this year averted through crowdsourcing. Actively pursuing sustainable, repeated donations, especially corporate We primarily fund project infrastructure, membership and developer events. We have occasionally provided support for sponsored development (KMS Intel/Radeon) and we wish to continue that in the right situations. We are seeking a temporary increase in commitment for LibreSSL. http://www.openbsdfoundation.org/ Random giveaways Insert Auction Here Goodbye.
    [Show full text]
  • Active-Active Firewall Cluster Support in Openbsd
    Active-Active Firewall Cluster Support in OpenBSD David Gwynne School of Information Technology and Electrical Engineering, University of Queensland Submitted for the degree of Bachelor of Information Technology COMP4000 Special Topics Industry Project February 2009 to leese, who puts up with this stuff ii Acknowledgements I would like to thank Peter Sutton for allowing me the opportunity to do this work as part of my studies at the University of Queensland. A huge thanks must go to Ryan McBride for answering all my questions about pf and pfsync in general, and for the many hours working with me on this problem and helping me test and debug the code. Thanks also go to Theo de Raadt, Claudio Jeker, Henning Brauer, and everyone else at the OpenBSD network hackathons who helped me through this. iii Abstract The OpenBSD UNIX-like operating system has developed several technologies that make it useful in the role of an IP router and packet filtering firewall. These technologies include support for several standard routing protocols such as BGP and OSPF, a high performance stateful IP packet filter called pf, shared IP address and fail-over support with CARP (Common Address Redundancy Protocol), and a protocol called pfsync for synchronisation of the firewalls state with firewalls over a network link. These technologies together allow the deployment of two or more computers to provide redundant and highly available routers on a network. However, when performing stateful filtering of the TCP protocol with pf, the routers must be configured in an active-passive configuration due to the current semantics of pfsync.
    [Show full text]
  • BSD UNIX Toolbox: 1000+ Commands for Freebsd, Openbsd and Netbsd Christopher Negus, Francois Caen
    To purchase this product, please visit https://www.wiley.com/en-bo/9780470387252 BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD Christopher Negus, Francois Caen E-Book 978-0-470-38725-2 April 2008 $16.99 DESCRIPTION Learn how to use BSD UNIX systems from the command line with BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD. Learn to use BSD operation systems the way the experts do, by trying more than 1,000 commands to find and obtain software, monitor system health and security, and access network resources. Apply your newly developed skills to use and administer servers and desktops running FreeBSD, OpenBSD, NetBSD, or any other BSD variety. Become more proficient at creating file systems, troubleshooting networks, and locking down security. ABOUT THE AUTHOR Christopher Negus served for eight years on development teams for the UNIX operating system at the AT&T labs, where UNIX was created and developed. He also worked with Novell on UNIX and UnixWare development. Chris is the author of the bestselling Fedora and Red Hat Linux Bible series, Linux Toys II, Linux Troubleshooting Bible, and Linux Bible 2008 Edition. Francois Caen hosts and manages business application infrastructures through his company Turbosphere LLC. As an open- source advocate, he has lectured on OSS network management and Internet services, and served as president of the Tacoma Linux User Group. He is a Red Hat Certified Engineer (RHCE). To purchase this product, please visit https://www.wiley.com/en-bo/9780470387252.
    [Show full text]
  • Aktuelles in Openbsd
    Aktuelles in OpenBSD Sebastian Benoit <[email protected]> Stefan Sperling <[email protected]> Schwerpunkte des Projekts UNIX-artiges Betriebssystem 1 offener Quellcode freie Lizenz (ISC) Fokus auf Korrektheit und Sicherheit hochwertige Dokumentation auf dem laufenden System 1basierend auf 4.4BSD-lite von UC Berkeley Aktuelles in OpenBSD 2/18 Aktuelle Daten Oktober 2015: 20 Jahre OpenBSD, Release 5.8 Aktueller Release: 6.2 Wir bringen 2 Releases im Jahr raus. Wir patchen Bugs in den letzten 2 Releases. -current ist derzeit bereits 6.3-beta ca. 70 aktive bis semi-aktive Entwickler (base + ports) ca. 5 Hackathons jedes Jahr, einer davon gross (ca. 40 Entwickler) Aktuelles in OpenBSD 3/18 Entwicklergemeinschaft Aktuelles in OpenBSD 4/18 Anwendergemeinschaft https://xkcd.com/349/ Technische Experten Individuen Firmen und Konzerne Spenden an die OpenBSD Foundation (Geld) Reisekosten Hackathons, Stromrechnung Infrastruktur, Hardware Spenden an individuelle Entwickler (Hardware, Bier, ...) Aktuelles in OpenBSD 5/18 Releasezyklus zwei Releases im Jahr (ca. alle 6 Monate) Sicherheits-Patches f¨ur1 Jahr Fokus auf Stabilit¨atbevor ein Release geschnitten wird Invasive und experimentelle Anderungen¨ warten bis nach dem Release Snapshots Zum Release passende Bildmaterialien und Lieder Aktuelles in OpenBSD 6/18 Basissystem versus Ports vollfunktionales und konsistentes Basissystem vern¨unftigeVoreinstellungen vereinfachen die Systemkonfiguration Der Quellcode des Basissystems wird kontinuierlich gesichtet Applikationen von Dritten werden separat verpackt Desktop Umgebungen, Firefox, LibreOffice, ... Programmiersprachen, Datenbanken, wissentschaftliche Werkzeuge, ... Multimedia, Videospiele, ... Aktuelles in OpenBSD 7/18 Hardwareunterst¨utzung Architekturen (amd64, i386, sparc64, arm, powerpc, ...) Clang als Compiler f¨urarm64 importiert inzwischen auch amd64, sparc64 und i386. aktuelle Laptops Grafikkarten (Intel und AMD, kein Nvidia Treiber) Netzwerk Ger¨ate(Ethernet, WLAN, UMTS) ACPI inkl.
    [Show full text]
  • Katalog Elektronskih Knjiga
    KATALOG ELEKTRONSKIH KNJIGA Br Autor Naziv Godina ISBN Str. Porijeklo izdavanja 1 Peter Kent Pay Per Click Search 2006 0-471-74594-3 130 Kupovina Engine Marketing for Dummies 2 Terry Large Access 1 2007 Internet Freeware 3 Kevin Smith Excel Lassons & Tutorials 2004 Internet Freeware 4 Terry Michael Photografy Tutorials 2006 Internet Freeware Janine Peterson Phil Pivnick 5 Jake Ludington Converting Vinyl LPs 2003 Internet Freeware to CD 6 Allen Wyatt Cleaning Windows XP 2004 0-7645-7311-X Poklon for Dummies 7 Peter Kent Sarch Engine Optimization 2006 0-4717-5441-2 Kupovina for Dummies 8 Terry Large Access 2 2007 Internet Freeware 9 Dirk Dupon How to write, create, 2005 Internet Freeware promote and sell E-books on the Internet 10 Chayden Bates eBook Marketing 2000 Internet Freeware Explained 11 Kevin Sinclair How To Choose A 1999 Internet Freeware Homebased Bussines 12 Bob McElwain 101 Newbie-Frendly Tips 2001 Internet Freeware 13 Windows Basics 2004 Poklon 14 Michael Abrash Zen of Graphic 2005 Poklon Programming, 2. izdanje 15 13 Hot Internet 2000 Internet Freeware Moneymaking Methods 16 K. Williams The Complete HTML 1998 Poklon Teacher 17 C. Darwin On the Origin of Species Internet Freeware 2/175 Br Autor Naziv Godina ISBN Str. Porijeklo izdavanja 18 C. Darwin The Variation of Animals Internet Freeware 19 Bruce Eckel Thinking in C++, Vol 1 2000 Internet Freeware 20 Bruce Eckel Thinking in C++, Vol 2 2000 Internet Freeware 21 James Parton Captains of Industry 1890 399 Internet Freeware 22 Bruno R. Preiss Data Structures and 1998 Internet
    [Show full text]
  • Twenty Years of Berkeley Unix : from AT&T-Owned to Freely
    Twenty Years of Berkeley Unix : From AT&T-Owned to Freely Redistributable Marshall Kirk McKusick Early History Ken Thompson and Dennis Ritchie presented the first Unix paper at the Symposium on Operating Systems Principles at Purdue University in November 1973. Professor Bob Fabry, of the University of California at Berkeley, was in attendance and immediately became interested in obtaining a copy of the system to experiment with at Berkeley. At the time, Berkeley had only large mainframe computer systems doing batch processing, so the first order of business was to get a PDP-11/45 suitable for running with the then-current Version 4 of Unix. The Computer Science Department at Berkeley, together with the Mathematics Department and the Statistics Department, were able to jointly purchase a PDP-11/45. In January 1974, a Version 4 tape was delivered and Unix was installed by graduate student Keith Standiford. Although Ken Thompson at Purdue was not involved in the installation at Berkeley as he had been for most systems up to that time, his expertise was soon needed to determine the cause of several strange system crashes. Because Berkeley had only a 300-baud acoustic-coupled modem without auto answer capability, Thompson would call Standiford in the machine room and have him insert the phone into the modem; in this way Thompson was able to remotely debug crash dumps from New Jersey. Many of the crashes were caused by the disk controller's inability to reliably do overlapped seeks, contrary to the documentation. Berkeley's 11/45 was among the first systems that Thompson had encountered that had two disks on the same controller! Thompson's remote debugging was the first example of the cooperation that sprang up between Berkeley and Bell Labs.
    [Show full text]
  • Programmer's Guide
    Programmer’s Guide Release 2.2.0 January 16, 2016 CONTENTS 1 Introduction 1 1.1 Documentation Roadmap...............................1 1.2 Related Publications..................................2 2 Overview 3 2.1 Development Environment..............................3 2.2 Environment Abstraction Layer............................4 2.3 Core Components...................................4 2.4 Ethernet* Poll Mode Driver Architecture.......................6 2.5 Packet Forwarding Algorithm Support........................6 2.6 librte_net........................................6 3 Environment Abstraction Layer7 3.1 EAL in a Linux-userland Execution Environment..................7 3.2 Memory Segments and Memory Zones (memzone)................ 11 3.3 Multiple pthread.................................... 12 3.4 Malloc.......................................... 14 4 Ring Library 19 4.1 References for Ring Implementation in FreeBSD*................. 20 4.2 Lockless Ring Buffer in Linux*............................ 20 4.3 Additional Features.................................. 20 4.4 Use Cases....................................... 21 4.5 Anatomy of a Ring Buffer............................... 21 4.6 References....................................... 28 5 Mempool Library 31 5.1 Cookies......................................... 31 5.2 Stats.......................................... 31 5.3 Memory Alignment Constraints............................ 31 5.4 Local Cache...................................... 32 5.5 Use Cases....................................... 33 6
    [Show full text]
  • The Qosbox: Quantitative Service Differentiation in BSD Routers∗
    The QoSbox: Quantitative Service Differentiation in BSD Routers∗ Nicolas Christin Jorg¨ Liebeherr Information Networking Institute and The Edward S. Rogers Sr. Department of CyLab Japan Electrical and Computer Engineering Carnegie Mellon University University of Toronto 1-3-3-17 Higashikawasaki-cho 10 King’s College Road Chuo-ku, Kobe 650-0044, Japan Toronto, ON M5S 3G4, Canada [email protected] [email protected] Abstract We describe the design and implementation of the QoSbox, a configurable IP router that provides per-hop service differentiation on loss, delays and throughput to classes of traffic. The novel aspects of the QoSbox are that (1) the QoSbox does not rely on any external component (e.g., no traffic shaping and no admission control) to provide the desired service differentiation, but instead, (2) dynamically adapts packet forwarding and dropping decisions as a function of the instantaneous traffic arrivals and allows for temporary relaxation of some service objectives; also, (3) the QoSbox can enforce both absolute and proportional service differentiation on queuing delays, loss rates, and throughput at the same time. We focus on a publicly available implementation of the QoSbox in BSD-based PC-routers. We evaluate our implementation in a testbed of BSD routers over a FastEthernet network, and we sketch how the QoSbox can be implemented in high speed architectures. Keywords: Quality-of-Service Implementations, Service Differentiation, PC-Routers, BSD, High-Speed Networks. ∗Most of this work was done while both authors were with the University of Virginia. This work was supported in part by the National Science Foundation through grants ANI-9730103 and ANI-0085955.
    [Show full text]
  • Lecture 1: Introduction to UNIX
    The Operating System Course Overview Getting Started Lecture 1: Introduction to UNIX CS2042 - UNIX Tools September 29, 2008 Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages Lecture Outline 1 The Operating System Description and History UNIX Flavors Advantages and Disadvantages 2 Course Overview Class Specifics 3 Getting Started Login Information Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages What is UNIX? One of the first widely-used operating systems Basis for many modern OSes Helped set the standard for multi-tasking, multi-user systems Strictly a teaching tool (in its original form) Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages A Brief History of UNIX Origins The first version of UNIX was created in 1969 by a group of guys working for AT&T's Bell Labs. It was one of the first big projects written in the emerging C language. It gained popularity throughout the '70s and '80s, although non-AT&T versions eventually took the lion's share of the market. Predates Microsoft's DOS by 12 years! Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages Lecture Outline 1 The Operating System Description and History UNIX Flavors Advantages and Disadvantages 2 Course Overview Class Specifics 3
    [Show full text]
  • BSD UNIX Toolbox 1000+ Commands for Freebsd, Openbsd
    76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iii BSD UNIX® TOOLBOX 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD®Power Users Christopher Negus François Caen 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page ii 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page i BSD UNIX® TOOLBOX 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page ii 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iii BSD UNIX® TOOLBOX 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD®Power Users Christopher Negus François Caen 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iv BSD UNIX® Toolbox: 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD® Power Users Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2008 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-37603-4 Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 Library of Congress Cataloging-in-Publication Data is available from the publisher. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permis- sion should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions.
    [Show full text]