Professional Documents
Culture Documents
Network Administration For The Solaris 10 Operating System
Network Administration For The Solaris 10 Operating System
Student Guide
Sun Microsystems, Inc. UBRM05-104 500 Eldorado Blvd. Broomeld, CO 80021 U.S.A. Revision A.1
Copyright 2005 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Sun, Sun Microsystems, the Sun logo, Solaris, Java, JumpStart, OpenBoot, Sun BluePrints, Sun Fire, and Sun StorEdge are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. The OPEN LOOK and Sun Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from Xerox to the Xerox Graphical User Interface, which license also covers Suns licensees who implement OPEN LOOK GUIs and otherwise comply with Suns written license agreements. Federal Acquisitions: Commercial Software Government Users Subject to Standard License Terms and Conditions Export Laws. Products, Services, and technical data delivered by Sun may be subject to U.S. export controls or the trade laws of other countries. You will comply with all such laws and obtain all licenses to export, re-export, or import as may be required after delivery to You. You will not export or re-export to entities on the most current U.S. export exclusions lists or to any country subject to U.S. embargo or terrorist controls as specified in the U.S. export laws. You will not use or provide Products, Services, or technical data for nuclear, missile, or chemical biological weaponry end uses. DOCUMENTATION IS PROVIDED AS IS AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS, AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. THIS MANUAL IS DESIGNED TO SUPPORT AN INSTRUCTOR-LED TRAINING (ILT) COURSE AND IS INTENDED TO BE USED FOR REFERENCE PURPOSES IN CONJUNCTION WITH THE ILT COURSE. THE MANUAL IS NOT A STANDALONE TRAINING TOOL. USE OF THE MANUAL FOR SELF-STUDY WITHOUT CLASS ATTENDANCE IS NOT RECOMMENDED. Export Commodity Classification Number (ECCN) assigned: 12 December 2001
Please Recycle
Copyright 2005 Sun Microsystems Inc. 4150 Network Circle, Santa Clara, California 95054, Etats-Unis. Tous droits rservs. Ce produit ou document est protg par un copyright et distribu avec des licences qui en restreignent lutilisation, la copie, la distribution, et la dcompilation. Aucune partie de ce produit ou document ne peut tre reproduite sous aucune forme, par quelque moyen que ce soit, sans lautorisation pralable et crite de Sun et de ses bailleurs de licence, sil y en a. Le logiciel dtenu par des tiers, et qui comprend la technologie relative aux polices de caractres, est protg par un copyright et licenci par des fournisseurs de Sun. Sun, Sun Microsystems, the Sun logo, Solaris, Java, JumpStart, OpenBoot, Sun BluePrints, Sun Fire, et Sun StorEdge sont des marques de fabrique ou des marques dposes de Sun Microsystems, Inc. aux Etats-Unis et dans dautres pays. Toutes les marques SPARC sont utilises sous licence sont des marques de fabrique ou des marques dposes de SPARC International, Inc. aux Etats-Unis et dans dautres pays. Les produits portant les marques SPARC sont bass sur une architecture dveloppe par Sun Microsystems, Inc. UNIX est une marques dpose aux Etats-Unis et dans dautres pays et licencie exclusivement par X/Open Company, Ltd. Linterfaces dutilisation graphique OPEN LOOK et Sun a t dveloppe par Sun Microsystems, Inc. pour ses utilisateurs et licencis. Sun reconnat les efforts de pionniers de Xerox pour larecherche et le dveloppement du concept des interfaces dutilisation visuelle ou graphique pour lindustrie de linformatique. Sun dtient une licence non exclusive de Xerox sur linterface dutilisation graphique Xerox, cette licence couvrant galement les licencis de Sun qui mettent en place linterface dutilisation graphique OPEN LOOK et qui en outre se conforment aux licences crites de Sun. Lgislation en matire dexportations. Les Produits, Services et donnes techniques livrs par Sun peuvent tre soumis aux contrles amricains sur les exportations, ou la lgislation commerciale dautres pays. Nous nous conformerons lensemble de ces textes et nous obtiendrons toutes licences dexportation, de r-exportation ou dimportation susceptibles dtre requises aprs livraison Vous. Vous nexporterez, ni ne r-exporterez en aucun cas des entits figurant sur les listes amricaines dinterdiction dexportation les plus courantes, ni vers un quelconque pays soumis embargo par les Etats-Unis, ou des contrles anti-terroristes, comme prvu par la lgislation amricaine en matire dexportations. Vous nutiliserez, ni ne fournirez les Produits, Services ou donnes techniques pour aucune utilisation finale lie aux armes nuclaires, chimiques ou biologiques ou aux missiles. LA DOCUMENTATION EST FOURNIE EN LETAT ET TOUTES AUTRES CONDITIONS, DECLARATIONS ET GARANTIES EXPRESSES OU TACITES SONT FORMELLEMENT EXCLUES, DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE, Y COMPRIS NOTAMMENT TOUTE GARANTIE IMPLICITE RELATIVE A LA QUALITE MARCHANDE, A LAPTITUDE A UNE UTILISATION PARTICULIERE OU A LABSENCE DE CONTREFAON. CE MANUEL DE RFRENCE DOIT TRE UTILIS DANS LE CADRE DUN COURS DE FORMATION DIRIG PAR UN INSTRUCTEUR (ILT). IL NE SAGIT PAS DUN OUTIL DE FORMATION INDPENDANT. NOUS VOUS DCONSEILLONS DE LUTILISER DANS LE CADRE DUNE AUTO-FORMATION.
Please Recycle
Table of Contents
About This Course ............................................................Preface-xvii Course Goals....................................................................... Preface-xvii Course Map........................................................................ Preface-xviii Topics Not Covered............................................................. Preface-xix How Prepared Are You?...................................................... Preface-xx Introductions ........................................................................ Preface-xxi How to Use Course Materials ...........................................Preface-xxii Conventions ........................................................................Preface-xxiii Icons ............................................................................Preface-xxiii Typographical Conventions ................................... Preface-xxiv Additional Conventions........................................... Preface-xxv Introducing the TCP/IP Model .........................................................1-1 Objectives ........................................................................................... 1-1 Introducing Network Model Fundamentals.................................. 1-2 Network Protocols .................................................................... 1-2 Network Model Concepts........................................................ 1-3 Introducing the Layers of the TCP/IP Model................................ 1-4 Network Interface Layer ......................................................... 1-5 Internet Layer ............................................................................ 1-6 Transport Layer......................................................................... 1-7 Application Layer ..................................................................... 1-8 Describing Basic Peer-to-Peer Communication, Encapsulation, and Decapsulation ............................................. 1-10 Peer-to-Peer Communication ................................................ 1-10 Encapsulation and Decapsulation ........................................ 1-11 TCP/IP Protocols ............................................................................. 1-12 Exercise: Reviewing the TCP/IP Model ....................................... 1-16 Preparation............................................................................... 1-16 Tasks ......................................................................................... 1-16 Exercise Summary............................................................................ 1-18 Exercise Solutions ............................................................................ 1-19
vii
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Introducing LANs and Their Components..................................... 2-1 Objectives ............................................................................................ 2-1 Introducing Network Topologies .................................................... 2-2 Bus Topologies .......................................................................... 2-2 Star Topologies ......................................................................... 2-3 Ring Topologies......................................................................... 2-4 VLAN Topologies .................................................................... 2-5 Introducing LAN Media ................................................................... 2-8 IEEE Identifiers.......................................................................... 2-8 IEEE 802.3 Types ....................................................................... 2-9 Introducing Network Devices........................................................ 2-12 Repeaters .................................................................................. 2-12 Hubs.......................................................................................... 2-12 Bridges ...................................................................................... 2-12 Switches.................................................................................... 2-12 Exercise: Reviewing LANs and Their Components ................... 2-14 Preparation............................................................................... 2-14 Tasks ......................................................................................... 2-14 Exercise Summary............................................................................ 2-16 Exercise Solutions ............................................................................ 2-17 Describing Ethernet Interfaces....................................................... 3-1 Objectives ........................................................................................... 3-1 Introducing Ethernet Concepts........................................................ 3-2 Major Ethernet Elements.......................................................... 3-2 CSMA/CD Access Method ..................................................... 3-2 Full-Duplex and Half-Duplex Mode...................................... 3-4 Ethernet Statistics...................................................................... 3-4 Introducing Ethernet Frames ........................................................... 3-6 Ethernet Addresses................................................................... 3-6 Setting a Local Ethernet Address........................................... 3-8 Ethernet-II Frame Analysis................................................... 3-10 Maximum Transmission Units............................................. 3-12 Ethernet Frame Errors ............................................................ 3-13 Using Network Utilities .................................................................. 3-14 Using the snoop Utility .......................................................... 3-14 Using the netstat Command ............................................. 3-17 Using the ndd Command ....................................................... 3-18 Exercise: Reviewing Ethernet Interfaces....................................... 3-21 Preparation............................................................................... 3-21 Tasks ......................................................................................... 3-21 Exercise Summary............................................................................ 3-25 Exercise Solutions ............................................................................ 3-26
viii
Describing ARP and RARP..............................................................4-1 Objectives ........................................................................................... 4-1 Introducing ARP ................................................................................ 4-2 Purpose of ARP ......................................................................... 4-2 Operation of ARP...................................................................... 4-3 Introducing RARP.............................................................................. 4-9 Purpose of RARP....................................................................... 4-9 Operation of RARP ................................................................... 4-9 Exercise: Reviewing ARPs and RARPs......................................... 4-12 Preparation............................................................................... 4-12 Tasks ........................................................................................ 4-13 Exercise Summary............................................................................ 4-15 Exercise Solutions ............................................................................ 4-16 Configuring IP...................................................................................5-1 Objectives ............................................................................................ 5-1 Introducing the Internet Layer Protocols ....................................... 5-3 Purpose of IP.............................................................................. 5-3 Purpose of ICMP ....................................................................... 5-4 Introducing the IP Datagram ........................................................... 5-6 IP Datagram Header Fields ..................................................... 5-6 IP Datagram Payload................................................................ 5-8 Introducing IP Address Types ......................................................... 5-9 Unicast Addresses..................................................................... 5-9 Broadcast Addresses............................................................... 5-11 Multicast Addresses ............................................................... 5-11 Introducing Subnetting and VLSM ............................................... 5-12 Subnetting ................................................................................ 5-12 Netmasks.................................................................................. 5-13 Configuring the Netmask ..................................................... 5-16 The /etc/inet/netmasks File............................................. 5-17 VLSM ....................................................................................... 5-20 Introducing the Interface Configuration Files ............................. 5-22 The /etc/hostname.interface File.................................. 5-22 The /etc/inet/hosts File ................................................... 5-22 The /etc/nodename File........................................................ 5-23 Administering Logical Interfaces .................................................. 5-24 Introducing Logical Interfaces .............................................. 5-24 Configuring Logical Interfaces............................................. 5-26 Unconfiguring Logical Interfaces ......................................... 5-28 Exercise: Reviewing IP .................................................................... 5-29 Preparation............................................................................... 5-29 Task Summary......................................................................... 5-29 Tasks ........................................................................................ 5-30 Exercise Summary............................................................................ 5-32 Exercise Solutions ............................................................................ 5-33
ix
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Configuring IP Network Multipathing............................................. 6-1 Objectives ............................................................................................ 6-1 Increasing Network Availability ..................................................... 6-2 Limitations of Network Interfaces.......................................... 6-2 Configuring IP Network Multipathing........................................... 6-3 Introducing IPMP ..................................................................... 6-3 Probe-based IPMP Configuration........................................... 6-4 Configuring Probe-based IPMP by Using Configuration Files ................................................................ 6-6 Configuring Probe-based IPMP on the Command Line.................................................................... 6-12 Link-based IPMP Configuration.......................................... 6-20 Configuring Link-based IPMP by Using Configuration Files ....................................................................................... 6-21 Configuring a Singleton IPMP Group ................................. 6-26 Viewing IPMP Operation ..................................................... 6-28 Troubleshooting an IPMP Configuration........................... 6-30 Exercise: Configuring IPMP ........................................................... 6-32 Preparation............................................................................... 6-32 Tasks ........................................................................................ 6-34 Exercise Summary............................................................................ 6-39 Exercise Solutions ............................................................................ 6-40 Configuring Routing ........................................................................ 7-1 Objectives ............................................................................................ 7-1 Identifying the Fundamentals of Routing ...................................... 7-3 Purpose of Routing ................................................................... 7-3 Types of Routes ......................................................................... 7-4 Introducing the Routing Table......................................................... 7-6 Static Routes............................................................................... 7-6 Dynamic Routes ....................................................................... 7-7 Introducing Routing Protocol Types............................................... 7-8 Autonomous Systems............................................................... 7-8 Interior Gateway Protocols...................................................... 7-9 Exterior Gateway Protocols ................................................... 7-10 Working With the Routing Table .................................................. 7-12 Displaying the Routing Table ............................................... 7-12 Introducing Routing Table Information .............................. 7-13 Searching the Routing Table................................................. 7-14 Associating Names and Network Numbers ....................... 7-16 Configuring Static Routes............................................................... 7-18 Configuring Static Direct Routes .......................................... 7-18 Configuring the /etc/defaultrouter File ...................... 7-19 Configuring the /etc/gateways File ................................. 7-20 Configuring Static Routes on the Command Line ............ 7-21 Configuring Dynamic Routing ...................................................... 7-25
RIP Version 1 ........................................................................... 7-25 RIP Version 2 ........................................................................... 7-27 The in.routed Daemon ....................................................... 7-28 The RDISC Protocol ............................................................... 7-30 ICMP Redirects........................................................................ 7-31 Introducing CIDR ............................................................................ 7-33 Purpose of CIDR ..................................................................... 7-33 Operation of CIDR .................................................................. 7-33 Configuring Routing at Boot Time ................................................ 7-38 Initializing a Router ................................................................ 7-38 Configuring a Router Without Rebooting........................... 7-40 Initializing a Multihomed Host ............................................ 7-40 Initializing a Non-Router ....................................................... 7-41 Troubleshooting Routing................................................................ 7-42 Troubleshooting the Router Configuration......................... 7-42 Troubleshooting Network Names....................................... 7-44 Exercise: Reviewing Routing Configuration................................ 7-45 Preparation............................................................................... 7-45 Tasks ........................................................................................ 7-47 Exercise Summary............................................................................ 7-59 Exercise Solutions ............................................................................ 7-60 Configuring IPv6...............................................................................8-1 Objectives ............................................................................................ 8-1 Introducing IPv6 ................................................................................ 8-3 The Need for IPv6 ..................................................................... 8-3 Features of IPv6 ........................................................................ 8-4 Introducing IPv6 Addressing........................................................... 8-5 Address Types ........................................................................... 8-5 IPv6 Address Representation.................................................. 8-6 Format Prefixes.......................................................................... 8-6 Introducing IPv6 Autoconfiguration .............................................. 8-8 Stateful Autoconfiguration ...................................................... 8-8 Stateless Autoconfiguration .................................................... 8-8 Interface Identifier Calculation ............................................... 8-9 Duplicate Address Detection ................................................ 8-10 Introducing Unicast Address Types ............................................. 8-11 Link-Local Addresses ............................................................. 8-11 Site-Local Addresses............................................................... 8-12 Aggregatable Global-Unicast Addresses............................. 8-12 Prefix Notation ........................................................................ 8-13 Embedded IPv4 Addresses.................................................... 8-13 Unspecified Address Types................................................... 8-14 Loopback Address Types ...................................................... 8-14 Introducing Multicast Address Types .......................................... 8-15
xi
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Purpose of Multicast Addresses ........................................... 8-15 Scope Bits................................................................................. 8-16 ICMPv6 Group Membership................................................. 8-17 Enabling IPv6.................................................................................... 8-18 The in.ndpd Daemon on a Non-Router.............................. 8-18 Configuring IPv6 on Non-Routers ....................................... 8-19 Troubleshooting a Non-Router Configuration................... 8-22 The in.ndpd Daemon on the Router ................................... 8-23 IPv6 Routing Information Protocol ...................................... 8-23 Configuring an IPv6 Router ................................................. 8-24 Configuring an IPv6 6to4 Router.......................................... 8-30 Configuring a 6to4 Boundary Router.................................. 8-31 Troubleshooting a Router Configuration ............................ 8-33 Managing IPv6 ................................................................................. 8-35 Displaying the State of IPv6 Interfaces ................................ 8-35 Modifying the Configuration of an IPv6 Interface............. 8-35 Configuring Logical Interfaces.............................................. 8-36 Troubleshooting IPv6 Interfaces ........................................... 8-36 Displaying the IPv6 Routing Table ...................................... 8-36 Exercise 1: Configuring IPv6 .......................................................... 8-37 Preparation............................................................................... 8-37 Task 1 Configuring IPv6 on the Local Subnet ................. 8-37 Task 2 Configuring 6to4 Routing...................................... 8-39 Task 3 Configuring IPv6 Across the Whole Network................................................................................ 8-41 Exercise Summary............................................................................ 8-44 Exercise 1 Solutions ......................................................................... 8-45 Task 1 Configuring IPv6 on the Local Subnet ................. 8-45 Task 2 Configuring 6to4 Routing...................................... 8-48 Task 3 Configuring IPv6 Across the Whole Network................................................................................ 8-52 Configuring IPv6 Multipathing ..................................................... 8-58 Configuring IPMP Manually................................................. 8-58 Configuring IPMP at Boot Time .......................................... 8-68 Configure a Singleton IPMP Group in IPv6........................ 8-73 Exercise 2: Configuring IPv6 Multipathing.................................. 8-74 Preparation............................................................................... 8-74 Tasks ......................................................................................... 8-74 Exercise Summary............................................................................ 8-77 Exercise 2 Solutions ......................................................................... 8-78 Task Solutions.......................................................................... 8-78
xii
Describing the Transport Layer ......................................................9-1 Objectives ............................................................................................ 9-1 Introducing Transport Layer Fundamentals ................................. 9-2 Protocol Characteristics............................................................ 9-2 Transport Protocols in TCP/IP .............................................. 9-8 Introducing UDP................................................................................ 9-9 Purpose of UDP......................................................................... 9-9 UDP Datagram Header ............................................................ 9-9 Introducing TCP............................................................................... 9-10 TCP Segment Header ............................................................. 9-10 Virtual Circuit Connection .................................................... 9-11 Full-Duplex Connection......................................................... 9-11 Unstructured Stream Orientation......................................... 9-11 Buffered Transfer .................................................................... 9-11 Introducing TCP Flow Control ...................................................... 9-12 Receiver-Side Window Advertisements.............................. 9-12 Sender-Side Congestion Window......................................... 9-12 TCP Large Window ................................................................ 9-13 Exercise: Describing the Transport Layer..................................... 9-14 Preparation............................................................................... 9-14 Tasks ......................................................................................... 9-14 Exercise Summary............................................................................ 9-15 Exercise Solutions ............................................................................ 9-16 Configuring DNS.............................................................................10-1 Objectives .......................................................................................... 10-1 Introducing DNS Basics .................................................................. 10-2 BIND ......................................................................................... 10-2 Top-Level Domains ................................................................ 10-2 Zones of Authority.................................................................. 10-4 Server Types ............................................................................ 10-4 Answer Types.......................................................................... 10-7 Name-Resolution Process ...................................................... 10-7 Resource Records .................................................................. 10-11 Configuring a DNS Server............................................................ 10-15 Gathering Information ......................................................... 10-15 Editing the BIND Configuration File ................................. 10-16 Editing the named.root File .............................................. 10-19 Editing the Forward Domain File...................................... 10-21 Editing the Reverse Domain File ....................................... 10-24 Editing the Reverse Loopback Domain File...................... 10-25 Configuring Dynamic Updates.......................................... 10-26 Configuring Security ........................................................... 10-27 Configuring Secondary DNS Servers................................ 10-29 Checking Configuration and Database Files.................... 10-31 Configuring DNS Clients.................................................... 10-32
xiii
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Troubleshooting the DNS Server by Using Basic Utilities.......................................................................................... 10-33 Implementing named Logging............................................. 10-33 Examining the/var/adm/messages File........................... 10-35 Using the dig Utility ........................................................... 10-36 Dumping a Snapshot of the DNS Database by Using the rndc Utility ...................................................... 10-39 Forcing the named Daemon to Reread the Configuration and Changed Zone Files ......................... 10-44 Managing a DNS Server by Using the rndc Utility .................................................................................. 10-45 Exercise: Configuring DNS.......................................................... 10-50 Preparation............................................................................. 10-50 Task Summary....................................................................... 10-51 Tasks ....................................................................................... 10-51 Exercise Summary.......................................................................... 10-57 Exercise Solutions .......................................................................... 10-58 Task Solutions........................................................................ 10-58 Configuring DHCP ......................................................................... 11-1 Objectives .......................................................................................... 11-1 Introducing the Fundamentals of DHCP ..................................... 11-2 Purpose of DHCP.................................................................... 11-2 DHCP Client Functions.......................................................... 11-3 DHCP Server Functions ......................................................... 11-4 Configuring a DHCP Server........................................................... 11-7 Configuring DHCP by Using Different Methods ............. 11-8 Performing Initial DHCP Server Configuration by Using the dhcpmgr Utility.................................................. 11-9 Adding Addresses by Using the dhcpmgr Utility ............ 11-21 Using the dhcpconfig Command..................................... 11-28 Introducing DHCP Network Files...................................... 11-30 Using the pntadm Command .............................................. 11-31 Introducing the dhcptab Table........................................... 11-34 Configuring and Managing DHCP Clients................................ 11-39 Configuring a DHCP Client ................................................ 11-39 Troubleshooting a DHCP Server ................................................. 11-42 Troubleshooting DHCP Clients ................................................... 11-45 Exercise: Configuring a DHCP Server and Client..................... 11-46 Preparation............................................................................. 11-46 Task Summary...................................................................... 11-47 Task 1 Configuring the DHCP Server............................. 11-47 Task 2 Configuring the DHCP Client ............................ 11-48 Task 3 Using the snoop Utility to View DHCP Client-Server Interaction................................................... 11-48 Exercise Summary.......................................................................... 11-50 Exercise Solutions .......................................................................... 11-51 Task 1 Configuring the DHCP Server............................. 11-51
xiv Network Administration for the Solaris 10 Operating System
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Task 2 Configuring the DHCP Client ............................. 11-69 Task 3 Using the snoop Utility to View DHCP Client-Server Interaction................................................... 11-70 Configuring NTP .............................................................................12-1 Objectives .......................................................................................... 12-1 Identifying NTP Basics.................................................................... 12-2 How Computers Keep Time.................................................. 12-2 Uses of NTP ............................................................................ 12-3 NTP Terms ............................................................................... 12-3 Configuring an NTP Server............................................................ 12-5 Using an Undisciplined Local Clock.................................... 12-7 Using External NTP Reference Servers................................ 12-9 Managing Daemons.............................................................. 12-10 Determining NTP Peers ...................................................... 12-12 Configuring an NTP Client .......................................................... 12-13 Establishing Basic Configuration........................................ 12-13 Starting the NTP Client Daemon ........................................ 12-13 Stopping the NTP Client Daemon...................................... 12-14 Troubleshooting NTP .................................................................... 12-15 Viewing Messages................................................................. 12-15 Using the snoop Utility ....................................................... 12-16 Exercise: Configuring NTP ........................................................... 12-17 Preparation............................................................................. 12-17 Task Summary....................................................................... 12-17 Tasks ...................................................................................... 12-18 Exercise Summary.......................................................................... 12-21 Exercise Solutions .......................................................................... 12-22 Task Solutions........................................................................ 12-22 Configuring the Solaris IP Filter Firewall..................................13-1 Objectives .......................................................................................... 13-1 Identifying Firewall Basics ............................................................. 13-2 Configuring the Behavior of the Solaris IP Filter Firewall ........................................................................................... 13-3 Enabling Packet Filtering With the Solaris IP Filter Firewall .................................................................................. 13-3 Configuring the Solaris IP Filter Firewall Actions ............. 13-5 Configuring Packet Direction................................................ 13-6 Configuring Filter Rules......................................................... 13-7 Configuring Specific Matching ............................................. 13-8 Changing and Updating the Solaris IP Filter Firewall Configuration ...................................................... 13-14 Viewing the Solaris IP Filter Firewall Configuration ..................................................................... 13-15 Configuring Logging in the Solaris IP Filter Firewall...................................................................... 13-16
xv
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Exercise: Configuring the Solaris IP Filter Firewall .................. 13-19 Preparation............................................................................. 13-19 Task Summary....................................................................... 13-19 Task 1 Configuring Firewall Rules ................................. 13-20 Task 2 Disabling Services................................................. 13-26 Exercise Summary.......................................................................... 13-31 Exercise Solutions .......................................................................... 13-32 Task 1 Solutions..................................................................... 13-32 Task 2 Solutions..................................................................... 13-41 Bibliography ................................................................. Bibliography-1 Sun Microsystems Publications ................................. Bibliography-1 Books.............................................................................. Bibliography-2 Online References ........................................................ Bibliography-3 RFCs ............................................................................... Bibliography-4 Glossary/Acronyms ............................................................Glossary-1 Index.................................................................................................. 1-1
xvi
Preface
Congure the Network Interface layer Congure the network (Internet and Transport layers) Congure and manage network applications
Preface-xvii
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Course Map
Course Map
The course map enables you to see what you have accomplished and where you are going in reference to the instructional goals.
Conguring IP
Conguring Routing
Conguring IPv6
Conguring DNS
Conguring DHCP
Conguring NTP
Preface-xviii
Solaris Operating System (Solaris OS) system administration Covered in SA-200-S10: Intermediate System Administration for the Solaris 10 Operating System and SA-202-S10: Advanced System Administration for the Solaris 10 Operating System Server storage administration Covered in ES-222: Solaris Volume Manager Administration and ES-310: Volume Manager With Sun StorEdge Network Information Services Plus (NIS+) Covered in SA-385: NIS+ Administration Solaris OS tuning Covered in SA-400: Solaris Systems Performance Management Network Troubleshooting - Covered in IN-425: TCP/IP Network Troubleshooting in the Solaris OS
Refer to the Sun Educational Services catalog for specic information and registration.
Preface-xix
Can you perform basic host operations, such as startup and shutdown, to initialize certain network conguration changes? Can you manipulate startup and shutdown scripts to congure networks? Can you set up user accounts when conguring network services for system users? Can you locate and install network software packages required to set up various network services?
Preface-xx
Introductions
Introductions
Now that you have been introduced to the course, introduce yourself to the other students and the instructor, addressing the following items:
q q q q q q
Name Company afliation Title, function, and job responsibility Experience related to topics presented in this course Reasons for enrolling in this course Expectations for this course
Preface-xxi
Objectives You should be able to accomplish the objectives after completing a portion of instructional content. Objectives support goals and can support other higher-level objectives. Lecture The instructor will present information specic to the objective of the module. This information will help you learn the knowledge and skills necessary to succeed with the activities. Activities The activities take on various forms, such as an exercise, self-check, discussion, and demonstration. Activities are used to facilitate mastery of an objective. Visual aids The instructor might use several visual aids to convey a concept, such as a process, in a visual form. Visual aids commonly contain graphics, animation, and video.
Note Many system administration tasks for the Solaris OS can be accomplished in more than one way. The methods presented in the courseware reect recommended practices used by Sun Educational Services.
Preface-xxii
Conventions
Conventions
The following conventions are used in this course to represent various training elements and alternative learning resources.
Icons
Discussion Indicates a small-group or class discussion on the current topic is recommended at this time.
!
?
Note Indicates additional information that can help students but is not crucial to their understanding of the concept being described. Students should be able to understand the concept or complete the task without this information. Examples of notational information include keyword shortcuts and minor system adjustments. Caution Indicates that there is a risk of personal injury from a nonelectrical hazard, or risk of irreversible damage to data, software, or the operating system. A caution indicates that the possibility of a hazard (as opposed to certainty) might happen, depending on the action of the user.
Preface-xxiii
Conventions
Typographical Conventions
Courier is used for the names of commands, les, directories, user names, host names, programming code, and on-screen computer output; for example: Use the ls -al command to list all les. host1# cd /home Courier bold is used for characters and numbers that you type; for example: To list the les in this directory, type the following: # ls
Courier italics is used for variables and command-line placeholders that are replaced with a real name or value; for example:
To delete a le, use the rm filename command.
Courier italic bold is used to represent variables whose values are to be entered by the student as part of an activity; for example:
Type chmod a+rwx filename to grant read, write, and execute rights for filename. Palatino italics is used for book titles, new words or terms, or words that you want to emphasize; for example: Read Chapter 6 in the Users Guide. These are called class options.
Preface-xxiv
Conventions
Additional Conventions
Java programming language examples use the following additional conventions:
q
Method names are not followed with parentheses unless a formal or actual parameter list is shown; for example: The doIt method... refers to any method called doIt. The doIt() method... refers to a method called doIt that takes no arguments.
Line breaks occur only where there are separations (commas), conjunctions (operators), or white space in the code. Broken code is indented four spaces under the starting code. If a command used in the Solaris OS is different from a command used in the Microsoft Windows platform, both commands are shown; for example: If working in the Solaris OS $ cd $SERVER_ROOT/bin If working in Microsoft Windows C:\> cd %SERVER_ROOT%\bin
Preface-xxv
Module 1
Describe network model fundamentals Describe the layers of the TCP/IP model Describe basic peer-to-peer communication and related protocols Identify TCP/IP protocols
The course map in Figure 1-1 shows how this module ts into the current instructional goal.
Figure 1-1
1-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Network Protocols
Computer networks use protocols to communicate. Protocols dene the procedures to be followed by the systems involved in the communication process. A data communication protocol is a set of rules that must be followed for two electronic devices to communicate with each other. These rules describe:
q q q
Syntax Data format and coding Semantics Control information and error handling Timing Speed matching and sequencing
Functions of Protocols
A protocol denes how systems can communicate and facilitates communication between software, rmware, and other devices in data transfer. Each protocol provides a function essential for data communication. Each software module that implements a protocol can be developed and updated independently of other modules, as long as the interface between the modules remains constant. Many protocols provide and support data communication. Many protocols are used so that communication can be broken into smaller, manageable processes. They form a communication architecture, also known as a protocol stack. The TCP/IP model is a protocol stack used by the Solaris OS for data communication.
1-2
Each layer has a specic purpose and exists on both the source and destination hosts. Each layer communicates with its peer layer on another host in a given process of communication. Each layer on a host acts independently of other layers on the same machine but is synchronous with the same layer on other hosts.
Separates the complexity of networking into many functions or layers Enables you to introduce changes or new features in one layer without having to change the other layers Provides a standard to follow, enabling inter-operability between software and hardware vendors Simplies troubleshooting
1-3
Consists of user-accessed application programs and network services Denes how cooperating networks represent data Manages the transfer of data by using acknowledged and unacknowledged transport protocols Manages the connections between cooperating applications Manages data addressing and delivery between networks Fragments data for the Network Interface layer Manages the delivery of data across the physical network Provides error detection and packet framing
Transport
Internet
Network Interface
RFCs are a frame of reference for describing the protocol architecture and functions specic to the TCP/IP protocol stack. For a complete listing of RFCs, visit http://www.ietf.org/rfc.html.
1-4
Managing the delivery of data across the physical network Detecting errors Framing packets
TCP/IP Layers
Hardware Layer
Figure 1-2 TCP/IP Network Interface Layer
The Network Interface layer services the Internet layer by providing communication between nodes on the same network. This layer denes how bits are assembled into manageable units of data. A packet data unit (PDU) is a structured series of bits with a well-dened beginning and a well-dened end. Figure 1-3 shows a specic type of PDU known as an Ethernet frame, where the bits are divided into elds containing information labels, such as preamble, destination and source hardware address, frame length or type, data, and cyclic redundancy check (CRC).
Preamble
Destination Address
Source Address
Type
Data
CRC
Figure 1-3
Structure of a Frame
1-5
Introducing the Layers of the TCP/IP Model Examples of Network Interface layer protocols are:
q
Institute of Electrical and Electronics Engineers (IEEE) 802.3 Ethernet standards IEEE 802.4 Token bus standards IEEE 802.5 Token ring standards IEEE 802.11 Wireless network standards
q q q
Internet Layer
The Internet layer attempts to ensure that messages reach their destination system using the most efcient route. Figure 1-4 shows the position of the Internet layer in the TCP/IP network model. The primary functions of the Internet layer are:
q q
1-6
Introducing the Layers of the TCP/IP Model Using routing information, the Internet layer determines the next directly accessible node in the path to a packets destination. This node is either the destination itself if the destination is on the local network, or the next gateway node in the route if the destination is on another network. The Internet layer uses the Internet Protocol (IP) and Internet Control Message Protocol (ICMP). IP is responsible for fragmenting and routing data, and ICMP assists routing and performs error detection and other network management tasks. IP encapsulates data in datagrams, which in turn are encapsulated inside Network Interface layer PDUs.
Transport Layer
The Transport layer manages the transfer of application data between communicating hosts. It also controls the ow of data and denes the transport quality of the data transmission. Figure 1-5 shows the position of the Transport layer in the TCP/IP network model.
TCP/IP Layers
The mechanisms used by the Transport layer to determine whether data has been correctly delivered are:
q q q
1-7
Introducing the Layers of the TCP/IP Model The Transport layer facilitates end-to-end data transfer. It supports multiple operations simultaneously. Two Transport layer protocols are found in the Solaris OS TCP/IP stack: the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). TCP uses packets called segments, and UDP uses packets called datagrams. Both TCP segments and UDP datagrams are encapsulated in Internet layer datagrams for transmission to the next node. The Transport layer facilitates two types of communication:
q
Connection-oriented (TCP) A connection must be established at the Transport layer of both systems before the application can transmit any data. Connectionless (UDP) Systems do not need to establish a connection with the recipient prior to data exchange.
Application Layer
The top layer of the TCP/IP stack is the Application layer. Figure 1-6 shows the position of the Application layer in the TCP/IP network model.
TCP/IP Layers
Stream or Message
Application Layer
Hardware Layer
Figure 1-6
1-8
Introducing the Layers of the TCP/IP Model The Application layer includes all of the protocols that use Transport layer protocols to deliver data to the Internet layer. There are many application protocols, and new protocols are frequently included in the Solaris OS TCP/IP stack. Some common TCP/IP applications or protocols include:
q q q q q q q q q
Telnet Protocol File Transfer Protocol (FTP) Simple Network Management Protocol (SNMP) Simple Mail Transfer Protocol (SMTP) Dynamic Host Conguration Protocol (DHCP) Domain Name System (DNS) Network Information Service (NIS) Network File System (NFS) Secure shell (SSH)
The Application layer handles the details of the particular application. The primary functions of this layer are:
q
Formatting data Data is formatted based on a computers architecture. For example, alphanumeric characters are represented by using American Standard Code for Information Interchange (ASCII) on a UNIX host, and Extended Binary Coded Decimal Interchange Code (EBCDIC) on an IBM mainframe computer. Protocols operating at this layer of the model encapsulate packets into streams or messages. Presenting data If end users specify how they want their data presented to them, the Application layer makes sure that it reaches the end users in this format. A common syntax ensures compatibility between various end-user applications and machines. The Application layer also provides translations between locally represented data and data used for transfer between end systems. Transporting data The Application layer stipulates a transfer syntax, which represents a coding agreement for the data to be formatted and transferred. Remote procedure call (RPC) libraries enable high-level language programs to make procedure calls to other machines on a network. Application layer protocols, such as NIS and NFS, use RPC for session management between clients and servers.
1-9
Peer-to-Peer Communication
Peer-to-peer communication occurs when one layer on a system communicates with a corresponding layer on another system. Figure 1-7 illustrates the peer-to-peer communications between the layers at either end of a network interaction. For example, the Application layer on the source system interacts with the Application layer on the destination system.
Source System Destination System
Application X
Application Y
Application Layer
Encapsulation
User Data
Decapsulation
Message or Message or Stream Stream
User Data
Application Layer
TH
A-PDU
TH
A-PDU
T-PDU
Datagram Datagram
IH
T-PDU
I-PDU
NT
Frame Frame
NH
I-PDU
NT
TH
= Transport Header
IH
= Internet Header
NH
= Network Header
NT
= Network Trailer
Figure 1-7
Peer-to-Peer Communication
1-10
Header information is added at each layer before the data is passed down to the next layer. The header information helps the destination system to direct the data to the appropriate protocol. At the nal layer, trailer information is also added.
Figure 1-7 on page 1-10 shows data encapsulation occurring on the source system. Data arriving at a destination system is decapsulated. During decapsulation:
q q
Data travels up through the layers. Headers and trailers are removed at each layer before the data is passed up to the next layer.
Figure 1-7 on page 1-10 shows data decapsulation occurring on the destination system.
1-11
TCP/IP Protocols
TCP/IP Protocols
The following tables describe briey the common TCP/IP protocols. Table 1-2 shows a list of Network Interface layer protocols, their corresponding RFCs, and a short description of each protocol. Table 1-2 Some TCP/IP Network Interface Layer Protocol Descriptions RFC 1055 1661 Protocol SLIP PPP Description Serial Line Internet Protocol compresses IP datagrams on serial lines. Point-to-Point Protocol transmits datagrams over serial, point-to-point links.
1-12
TCP/IP Protocols Table 1-3 shows a list of Internet layer protocols, their corresponding RFCs, and a short description of each protocol. Table 1-3 Some TCP/IP Internet Layer Protocol Descriptions RFC 826 903 791, 950, 919, 922 792 2401, 2406, 2402, 2407, 2408 Protocol ARP RARP IP ICMP IPSecrelated RFCs Description Address Resolution Protocol denes the method used to map a 32-bit IP address to a 48-bit Ethernet address. Reverse Address Resolution Protocol denes the method used to map a 48-bit Ethernet address to a 32-bit IP address. Internet Protocol determines the path that a datagram must take, based on the destination hosts IP address. Internet Control Message Protocol communicates error messages and other controls within IP datagrams. Internet Protocol Security Architecture Encapsulating Security Payload (ESP) IP authentication header Internet IP security domain of interpretation for the Internet Security Association and Key Management Protocol (ISAKMP) Table 1-4 shows a list of Transport layer protocols, their corresponding RFCs, and a short description of each protocol. Table 1-4 Some TCP/IP Transport Layer Protocol Descriptions RFC 793 Protocol TCP Description Transmission Control Protocol is a connection-oriented protocol that provides the full-duplex, stream service on which many application protocols depend. User Datagram Protocol is a connectionless protocol that provides non-acknowledged datagrams delivered over reliable networks.
768
UDP
1-13
TCP/IP Protocols Table 1-5 shows a list of some Application layer protocols, their corresponding RFCs, and a short description of each protocol. Table 1-5 Some TCP/IP Application Layer Protocol Descriptions RFC 1034, 1035 Protocol DNS Description Domain Name System is a text-based, distributed database for domain names, host names, and IP addresses. Domain names index a hierarchical tree of names and ultimately identify hosts and domains. File Transfer Protocol is used to transfer les between systems. Telnet Protocol enables terminals and terminal-oriented processes to communicate on a network by using TCP/IP. The rlogin command enables users to log in to remote hosts. Dynamic Host Conguration Protocol is responsible for automatically assigning IP addresses in an organizations network. Simple Mail Transfer Protocol transfers electronic mail (email) messages from one machine to another. Simple Network Management Protocol enables system administrators to monitor and control network devices. Post Ofce Protocol, version 3, enables users to access their email box across a wide area network (WAN) or local area network (LAN) from a POP3 server. Internet Message Access Protocol, version 4, enables users to access their email box across the network from an IMAP4 server. IMAP4 is suited to mobile users because the mail remains on the server. IMAP4 is server-centric, whereas POP3 is client-centric.
FTP Telnet
2821 1157
SMTP SNMP
1939
POP3
2060
IMAP4
1-14
TCP/IP Protocols Table 1-5 Some TCP/IP Application Layer Protocol Descriptions (Continued) RFC 1945, 2068 None Protocol HTTP HTTPS Description Hypertext Transfer Protocol and Secure Hypertext Transfer Protocol are used on the World Wide Web to transfer text, pictures, audio, and other multimedia information that is accessible through a web browser. Secure shell is based on a number of drafts. SSH logs in securely to a system across a network.
None
SSH
1-15
Preparation
There is no preparation for this exercise.
Tasks
Perform the following steps: 1. List the layers of the TCP/IP network model by their name and function. Name:_______________________________________________________ Function: ____________________________________________________ Name:_______________________________________________________ Function: ____________________________________________________ Name:_______________________________________________________ Function: ____________________________________________________ Name:_______________________________________________________ Function: ____________________________________________________ 2. In your own words, dene the term peer-to-peer. _____________________________________________________________ _____________________________________________________________ 3. In your own words, dene the term protocol. _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________
1-16
Exercise: Reviewing the TCP/IP Model 4. Which protocols are part of the TCP/IP suite? a. b. c. d. 5. a. b. c. d. ARP IP TCIP ICMP Data travels up through layers at the destination systems end. Data travels down through layers at the source systems end. Headers and trailers are removed before the data is passed up to the next layer. Headers and trailers are added before the data is passed down to the next layer.
1-17
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
1-18
Exercise Solutions
Exercise Solutions
Solutions to the exercise are as follows: 1. List the layers of the TCP/IP network model by their name and function. Name: Application Function: Consists of user-accessed application programs and network services. This layer is also responsible for dening the way in which cooperating networks represent data. Name: Transport Function: Manages the transfer of data using connection-oriented and connectionless transport protocols. Name: Internet Function: Manages data addressing and delivery between networks, as well as fragmenting data for the Network Interface layer. Name: Network Interface Function: Manages the delivery of data across the physical network. This layer provides error detection and packet framing. 2. In your own words, dene the term peer-to-peer. Peer-to-peer communication is the ability of a specic layer to communicate with a corresponding layer on another host. 3. In your own words, dene the term protocol. A protocol is set of rules governing the exchange of data between two entities. These rules describe:
q q q
Syntax Data format and coding Semantics Control information and error handling Timing Speed matching and sequencing
1-19
Exercise Solutions 4. Which protocols are part of the TCP/IP suite? a. b. d. 5. b. d. ARP IP ICMP Data travels down through layers at the source systems end. Headers and trailers are added before the data is passed down to the next layer.
1-20
Module 2
The course map in Figure 2-1 shows how this module ts into the current instructional goal.
Figure 2-1
2-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Bus Topologies
The bus conguration was the typical LAN topology for the original Ethernet network specication. A typical bus conguration has coaxial cables running through an area. Systems are attached at points along the cable to enable communication with each other. The bandwidth of the cable is shared between all the systems connected to the cable. Figure 2-2 shows an example of a bus conguration.
Figure 2-2
Bus Conguration
2-2
Star Topologies
The LAN topology in a star conguration uses a central location, or hub, from which a number of signal-carrying cables extend to each individual device on a branch. Star congurations are well suited to many of todays LAN network methodologies. An intelligent hub controls:
q q
Which messages are transferred between which ports What devices are connected to each port or segment
Note A non-intelligent hub does not make any decisions about which ports to send data. This essentially makes star congurations behave exactly like bus congurations from the point of view of the nodes. A benet of the star conguration is that a fault on the cable to a node affects only that node. Depending upon the LAN methodology, there is a limit to the number of segments that can be linked together. Figure 2-3 shows an example of the star conguration.
0K>
Figure 2-3
Star Conguration
2-3
Ring Topologies
In a ring conguration, the output of one node connects to the input of the next node. Each node in the ring is between two other nodes. In a ring network, if one node stops functioning the ring can be broken, which affects communication on the network. With the invention of the intelligent central hub, a ring conguration can be implemented with the reliability of a star conguration. The reliability is a result of the intelligent hubs ability to bypass a non-functioning node in the ring. Figure 2-4 shows a star-wired ring conguration.
Figure 2-4
Ring Conguration
2-4
VLAN Topologies
Virtual local area network (VLAN) topologies are becoming increasingly popular. A VLAN topology is implemented with a central device that supports VLAN technology. All systems are physically connected to the same device; however, the device is congured with multiple logical networks (the VLANs) that have one or more ports on the switch assigned to them. For example, on an 8-port switch, ports 1, 2, 5, and 6 can be assigned to network A, while ports 3, 4, 7, and 8 can be assigned to network B. The trafc on network A is separated from the trafc on network B, and trafc does not pass between the two networks. Ports can be assigned to different VLANs based on port number, the hardware or software address of the systems, or the protocols used by the systems. Using VLANs reduces the size of broadcast domains. You can move computer systems between VLANs without any hardware conguration. Although the term VLAN is in common use, every vendor provides their own VLAN implementation and enhancements. This makes the task of dening the term VLAN difcult. Figure 2-5 shows an example of a network with all systems on the same broadcast domain.
2-5
Introducing Network Topologies Figure 2-6 shows how a single switch can be congured into three VLANs so that there are three separate, smaller broadcast domains.
2-6
Introducing Network Topologies Figure 2-7 shows, through shading, how the three VLANs are congured by using software on the switch to which all systems are connected.
Figure 2-7
2-7
IEEE Identifiers
For the various types of LANs, the IEEE identier indicates the types of media used. These identiers include three pieces of information:
q
The rst piece of information, 10, 100, or 1000, represents a media speed of 10 megabits per second (Mbps), 100 Mbps, or 1000 Mbps, respectively. The second piece of information, BASE, stands for baseband, which is a type of signalling. Baseband signalling uses the entire bandwidth of the cable for one signal. Two systems cannot transmit signals at the same time. The third piece of information indicates the segment type or the approximate segment length. For thick coaxial cable, 5 indicates the 500-meter maximum length allowed for individual segments. For thin coaxial cable, 2 indicates 200 meters, which is rounded up from the 185-meter maximum length for individual thin coaxial segments. The designation T indicates that the segment type is twisted-pair, and the designation F stands for ber-optic cable.
An example identier is 100BASE-T, which means that the transmission speed is 100 megabits per second, baseband signaling is used, and the media is twisted pair. Figure 2-8 shows how baseband segments are designated.
Type of Signal = Baseband
Speed = 10 Mbs
10 BASE-5
10 BASE-T
Figure 2-8
2-8
Introducing LAN Media The thick coaxial cable media segment was the rst media segment to be dened in the Ethernet specications. The thin coaxial cable media segment was dened next, followed by the twisted-pair and ber-optic media segments. The twisted-pair segment type is widely used today for making network connections to the desktop.
2-9
2-10
300 meters over 62.5-micron MMF cable 550 meters over 50-micron MMF cable
550 meters over 62.5-micron and 50-micron MMF cable 3000 meters over 9-micron single-mode ber cable
2-11
Repeaters
Repeaters are devices that amplify and regenerate the data signal, bit by bit, to extend the distance of the transmission. A repeater does not read or interpret the data.
Hubs
Shared hubs are the central devices of a star topology network. The hubs connect all the hosts in a twisted-pair Ethernet installation. Hubs are typically used in small LANs in which network performance is not critical. Collisions commonly occur on a network implementing hubs because the collision domain consists of all systems connected to the hub.
Bridges
A bridge is a network-layer device that reads and interprets addresses for ltering or forwarding packets. Bridges connect two or more network segments. Collisions commonly occur on a bridged network because the collision domains often consist of more than one system.
Switches
Switches are multiport devices that control the logical dynamic connection and disconnection between any two cable segments. Switches are high-bandwidth devices because multiple data paths can be established and used simultaneously. Switches reduce the number of collisions on a network by replacing a single shared data path with multiple dedicated data paths.
2-12
Introducing Network Devices Figure 2-9 shows how you can use an Ethernet switch to interconnect shared hubs. Interconnecting the hubs increases intranet transfer rates greatly and makes connections more economical. Because connecting multiple subnets to an intranet using a switch requires no protocol changes, the cost of a speed increase is minimized.
Hub
Hub
10BASE-T
10BASE-T
Ethernet Switch
10BASE-T 100BASE-T Hub
10BASE-T
10BASE-T Hub
Hub
Figure 2-9
Ethernet Switches
2-13
Preparation
Refer to the lecture notes as necessary to perform the tasks listed.
Tasks
To test your knowledge about common LAN terminology, answer the following questions: 1. Match the terms to their denition. Star topology a. This topology uses a central device, from which signal-carrying cables are connected to each individual device on a branch. Additionally, each individual device can be congured to be in its own broadcast domain. The cabling standard for 100-Mbps, unshielded, twisted-pair media. The central device through which all hosts connect in a single broadcast domain in a twisted-pair, Ethernet installation. This topology uses a central device, from which signal-carrying cables extend to each individual device on this branch. The IEEE standard for 100-Mbps, twisted-pair media. The multiport device that provides for the logical dynamic connection and disconnection between any two cable segments without operator intervention.
_____
_____ _____
b. c.
_____
Category 5
d.
_____ _____
e. f.
2-14
Exercise: Reviewing LANs and Their Components 2. Which are topologies found in LANs? a. b. c. d. 3. a. b. c. d. e. f. Ring Star Bus Wing 10BASE-5 10BASE-2 100BASE-FX 10BASE-T 100BASE-T4 100BASE-TX
2-15
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
2-16
Exercise Solutions
Exercise Solutions
Solutions to the exercise are as follows: 1. Match the terms to their denition. d Star topology a. This topology uses a central device, from which signal-carrying cables are connected to each individual device on a branch. Additionally, each individual device can be congured to be in its own broadcast domain. The cabling standard for 100-Mbps, unshielded, twisted-pair media. The central device through which all hosts connect in a single broadcast domain in a twisted-pair, Ethernet installation. This topology uses a central device, from which signal-carrying cables extend to each individual device on this branch. The IEEE standard for 100-Mbps, twisted-pair media. The multiport device that provides for the logical dynamic connection and disconnection between any two cable segments without operator intervention.
VLAN topology
b.
100BASE-TX
c.
Category 5
d.
f c
e. f.
2-17
Exercise Solutions 2. Which are topologies found in LANs? a. b. c. 3. c. e. f. Ring Star Bus 100BASE-FX 100BASE-T4 100BASE-TX
2-18
Module 3
The course map in Figure 3-1 shows how this module ts into the current instructional goal.
Figure 3-1
3-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Ethernet packets, called frames These are units of data sent across the network. The Ethernet access method, CSMA/CD This method controls packet transmission and information ow across the Ethernet hardware. Hardware cables, connectors, and circuitry These transfer data to and from systems across the network.
3-2
Introducing Ethernet Concepts Figure 3-2 shows how CSMA/CD accesses the network. The gure represents the CSMA/CD developed for the original Ethernet topology. Ethernet originally consisted of a single-wire, bidirectional backbone. The theory of operation is still the same today, but Ethernet topologies use more advanced components that permit a higher transmission rate.
Multiple Access
Carrier Sense
Yes
No
Collision Detect
No
Yes Success.
Figure 3-2
Structure of CSMA/CD
3-3
Ethernet Statistics
The netstat command provides statistics on network-related information, such as the collision rate. In a shared-media topology, collisions occur frequently. The more transmitting nodes there are on a network, the greater the likelihood that collisions occur because of an increase in network trafc. The collision rate increases exponentially until there is almost no throughput of data. To display the current usage of the Ethernet interfaces, execute the netstat command with the -i option, for example:
# netstat -i Name Mtu Net/Dest lo0 8232 loopback hme0 1500 sys11 # Address localhost sys11 Ipkts 52559 18973 Ierrs Opkts 0 52559 0 30292 Oerrs Collis Queue 0 0 0 0 0 0
Collision Rates
Collisions occur when two or more systems attempt to transmit data on the network at the same time. Collision rates indicate the number of collisions that occur on a network. Use collision rates to diagnose network performance problems that are caused by collisions on a network. To compute the collision rate, multiply 100 by the number of collisions, and divide the product by the total number of output packets. For example, assume that the netstat command reports 12 collisions and 1302 output packets. Calculate the collision rate as follows: 100 * 12 / 1302 = 1.0 percent collision rate
3-4
Collision rates higher than 5 percent on a 10-Mbps Ethernet network, and 10 percent on a 100-Mbps Ethernet network, are the rst indication of network overload. Faulty network cabling frequently causes collisions through electrical problems. Technical experts use special electronic equipment to detect the elements that cause a collision and to provide a solution. Switches minimize collisions by limiting the collision domain to one system.
Duplicate IP addresses used on the same network A faulty cable A faulty port on a concentrator, hub, switch, or router A faulty interface
3-5
Ethernet Addresses
An Ethernet address is the devices unique hardware address. An Ethernet address is sometimes referred to as a media access control (MAC) address. An Ethernet address is 48 bits long and is displayed as 12 hexadecimal digits (six groups of two digits) separated by colons. An example of an Ethernet address is 08:00:20:1e:56:7d.
q
The IEEE administers unique Ethernet addresses. IEEE designates the rst three octets as vendor-specic. Sun has various Ethernet prexes, which include 08:00:20, 00:00:be, and 00:03:ba. Sun assigns the last three octets to the products it manufactures to ensure that each node on an Ethernet network has a unique Ethernet address. The list of vendor specic Ethernet addresses can be found at: http://standards.ieee.org/regauth/oui/oui.txt
The IEEE specication enables the vendor to decide whether to use the host-based addressing approach or the port-based addressing approach. By default, Sun uses host-based addressing on its networks interface cards (NICs). The network interface drivers in Sun systems obtain the Ethernet address for the Ethernet interface from a systems hardware. For example, desktop systems use the address in the nonvolatile random access memory (NVRAM) chip, while some large server systems obtain their address from a special board installed in the system. By default, all interface addresses on a system use just one Ethernet address, either the NVRAM or the special board, even though each Ethernet interface controller has a built-in Ethernet address.
For systems congured to have more than one interface on the same physical subnet, you need a unique Ethernet address that is different from the primary host-based assigned Ethernet address.
3-6
Unicast Addresses
Unicast addresses are used for one-to-one communication. The system uses a unicast address to send a message to another system on the local Ethernet network. You can use a systems unique Ethernet address as a unicast address.
Broadcast Addresses
A device uses a broadcast address to send messages to all systems on the local Ethernet network. The Ethernet broadcast address is represented in the form of all 1s in binary format and as ff:ff:ff:ff:ff:ff in hexadecimal format. When the Network Interface layer receives an Ethernet frame with a destination address of all 1s, it passes the address to the next layer for processing.
Multicast Addresses
A system uses a multicast address to send a message to a subset of systems on the local Ethernet. In Ethernet multicast addressing, the value of the rst three octets determines if the address is multicast. The last three octets determine the specic multicasts group identity.
3-7
3-8
Introducing Ethernet Frames You can set the local-mac-address? variable to true by using the eeprom command. This enables network drivers to use their own port-based addresses after a reboot and not the system-default, host-based addresses. To make this change, type the following command: # eeprom local-mac-address?=true # You can also use the ifconfig ether command to congure port-based addressing. This might be necessary if the interface card cannot supply its own unique Ethernet address. You can change the interface Ethernet address of 8:0:20:b9:72:23 from an Ethernet address assigned globally to an address of 0a:0:20:f0:ac:61 assigned locally by changing the seventh bit to 1, and assigning a local unique number to the last three bytes. To change the Ethernet address, type the following command: # ifconfig hme0 ether a:0:20:f0:ac:61 # To verify a change in the Ethernet address, type the following command: # ifconfig hme0 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether a:0:20:f0:ac:61 # This change of Ethernet address is effective until you reboot the system. To make the change persistent across reboots, modify the /etc/hostname.interface le.
3-9
atio
n:
Pre
64
am
Bits
ble
, =@ @H 4
8 B its
5 =@ @H
48 Bits
xim
um
Las
t 4 Oc
tets
Byt
es)
CR 32
Bits
Figure 3-3
Ethernet-II Frame
Note There are two common Ethernet frame formats: the Ethernet-II format and the logical link control (802.3) format. The primary difference between these formats is that in the Ethernet-II format, the fourth eld is a type eld, while in the 802.3 format, the fourth eld is a frame length eld. In the TCP/IP environments, typically the Ethernet-II frame format is used.
3-10
Introducing Ethernet Frames The information in each frame is necessary to receive and transmit data. Table 3-1 shows a description of each frame eld. Table 3-1 Ethernet-II Frames Field Preamble Description The 64-bit Ethernet preamble eld is used for synchronization and is composed of 1s and 0s. Interface synchronization helps the receiving network interfaces determine where the Ethernet frame begins. The Ethernet address of the destination host. The Ethernet address of the source host. The type of data encapsulated in the Ethernet frame, such as IP, ARP, RARP, and IP version 6 (IPv6). The data payload, which consists of header information and data from the higher-level protocols. The cyclic redundancy check (CRC) used for error detection. The value is calculated based on frame contents by both the sending and the receiving hosts. If the two values are not equivalent, the frame is discarded.
3-11
Application Layer
Application Data
Transport Layer
Transport Datagram
Internet Layer
Internet Datagram
1500-byte Payload
Hardware Layer
Figure 3-4
3-12
Jabbers
Long
Giant
Bad CRC
3-13
Summary This is the output mode when the -v or -V options are not used on the command line. Only data that pertains to the highest-level protocol header is displayed. For example, an NFS packet only displays NFS information. The underlying RPC, UDP, IP, and Ethernet frame header information are not displayed. To examine only broadcast frames on the hme0 interface in summary mode, type the following:
# snoop -d hme0 broadcast Using device /dev/hme (promiscuous 192.168.1.12 -> (broadcast) ARP C sys12 -> (broadcast) ARP C sys12 -> (broadcast) ARP C #
q
mode) Who is 192.168.1.3, sys13 ? Who is 192.168.1.2, sys12 ? Who is 192.168.1.1, sys11 ?
Verbose To invoke the verbose option, use the -v option on the command line. Multiple lines of output display for every protocol header in the network packet.
3-14
Using Network Utilities To examine only broadcast packets on the hme0 interface in the verbose mode, type the following: # snoop -v -d hme0 broadcast Using device /dev/hme (promiscuous mode) ETHER: ----- Ether Header ----ETHER: ETHER: Packet 8 arrived at 13:18:44.01 ETHER: Packet size = 60 bytes ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) ETHER: Source = 8:0:20:90:b5:c7, Sun ETHER: Ethertype = 0806 (ARP) ETHER: ARP: ----- ARP/RARP Frame ----ARP: ARP: Hardware type = 1 ARP: Protocol type = 0800 (IP) ARP: Length of hardware address = 6 bytes ARP: Length of protocol address = 4 bytes ARP: Opcode 1 (ARP Request) ARP: Sender's hardware address = 8:0:20:90:b5:c7 ARP: Sender's protocol address = 192.168.1.2, sys12 ARP: Target hardware address = ? ARP: Target protocol address = 192.168.1.1, sys11 ARP:
q
Verbose summary A single line of output is displayed for every protocol or application contained within the packet. You can examine packets by using both verbose summary mode and by ltering the packets by IP address. The snoop utility only displays output when there is network trafc and the trafc matches the lter criteria. For example, to examine packets by using verbose summary mode and by ltering the packets by IP address on the hme0 interface, perform the following command:
# snoop -d hme0 -V 192.168.1.2 Using the /dev/hme device (promiscuous mode) ... sys12 -> sys11 ETHER Type=0800 (IP), size = 98 bytes sys12 -> sys11 IP D=192.168.1.1 S=192.168.1.2 LEN=84, ID=48009, TOS=0x0, TTL=255 sys12 -> sys11 ICMP Echo request (ID: 345 Sequence number: 0) ... sys11 -> sys12 ETHER Type=0800 (IP), size = 98 bytes sys11 -> sys12 IP D=192.168.1.2 S=192.168.1.1 LEN=84, ID=45375, TOS=0x0, TTL=255 sys11 -> sys12 ICMP Echo reply (ID: 345 Sequence number: 0) #
3-15
Using Network Utilities To capture this information to a le, type the following command: # snoop -d hme0 -o /tmp/snooper 192.168.1.2 Using device /dev/hme (promiscuous mode) 2 <Control>-C # To capture broadcast trafc on the hme0 interface and store it in the /tmp/snooper le, type the following command: # snoop -d qfe0 -o /tmp/snooper broadcast # While the snoop utility is capturing information, a record counter displays the number of recorded packets. You nish the capture by typing a Control+C key sequence. The information in the le that is captured by the snoop utility is in a data-compressed format, and can only be read by executing the snoop -i command. # file /tmp/snooper /tmp/snooper: snoop capture file - version 2 # To read this format, type the following command: # snoop -i /tmp/snooper -V
... 1 1 1 ... 2 2 2 # 0.00000 0.00000 0.00000 0.00010 0.00010 0.00010 sys12 -> sys11 sys12 -> sys11 sys12 -> sys11 sys11 -> sys12 sys11 -> sys12 sys11 -> sys12 ETHER Type=0800 (IP), size = 98 bytes IP D=192.168.1.1 S=192.168.1.2 LEN=84, ID=48010, TOS=0x0, TTL=255 ICMP Echo request (ID: 346 Sequence number: 0) ETHER Type=0800 (IP), size = 98 bytes IP D=192.168.1.2 S=192.168.1.1 LEN=84, ID=45376, TOS=0x0, TTL=255 ICMP Echo reply (ID: 346 Sequence number: 0)
To lter out specic protocols or portions of the network trace, pipe the output from the snoop -i command through the egrep command. For example, the egrep -iv 'nfs|ack|contin|ftp|ip' command ignores case (-i) and prints all lines except (-v) lines that contain the patterns nfs, ack, contin, ftp, and ip. # snoop -i /tmp/snooper -V | egrep -iv 'nfs|ack|contin|ftp|ip' ...
1 0.00000 0.00010 sys12 -> sys11 sys11 -> sys12 ICMP Echo request (ID: 346 Sequence number: 0) ICMP Echo reply (ID: 346 Sequence number: 0)
...
2
3-16
Table 3-3 shows the descriptions of the output elds from the netstat command. Table 3-3 The netstat Output Field Descriptions Field Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue Description The name of the device (interface). The MTU in bytes. The network number. The number can be resolved to a name in the /etc/inet/networks le. The IP address for that interface. The address can be resolved to a name in the /etc/inet/hosts le. Input packets. Input errors. Output packets. Output errors. The number of collisions on this interface. The number of packets that are waiting for transmission.
3-17
Using Network Utilities To display protocol-related statistics, use the netstat command with the -s option: # netstat -s
<truncated output> RAWIP rawipInDatagrams = 298 ... UDP udpInDatagrams = 45966 ... TCP tcpRtoAlgorithm = 4 ... IPv4 ipForwarding = 1 ... IPv6 ipv6Forwarding = 2 ... ICMPv4 icmpInMsgs = 3719 ... ICMPv6 icmp6InMsgs = 0 ... IGMP: 123079 messages received ... # rawipInErrors = 0
= = =
3-18
Using Network Utilities The \ character prevents the shell from interpreting ? as a special character. Using the ? parameter lists all parameters for the driver and indicates whether the parameter is read-only or read and write. You can read the current parameter value or status information for the parameters that are marked with at least a read; however, you may only change a value if it is marked as read and write. You can adjust most parameters accessible through the ndd command without rebooting the system. The following example shows how to use the ndd command to examine the value of the link_speed parameter for the hme0 interface. Because multiple hme interfaces might exist, use the ndd command to set the instance parameter rst. The instance parameter determines which hme interface is addressed by subsequent ndd commands. To set the instance to 0, use the following command: # ndd -set /dev/hme instance 0 # To view the current link speed of the hme0 interface, type the command: # ndd /dev/hme link_speed 1 # The output of 1 indicates that the hme0 interface is currently running at 100 Mbps, and a value of 0 indicates that the hme0 interface is running at 10 Mbps. The ndd parameters are also available for other network devices and protocols. For example, to see which parameters are available for other drivers, type the commands: # # # # ndd ndd ndd ndd /dev/arp \? /dev/ip \? /dev/icmp \? /dev/tcp \? Sun Microsystems does not currently provide extensive ndd parameter documentation, except for network card conguration.
3-19
Using Network Utilities There are several trade-offs involved in setting driver parameters. Because the Solaris 10 OS is precongured, changing most driver parameters requires you to change the Solaris 10 OS conguration. The default settings are suitable for most situations. Sun Microsystems does not encourage making parameter changes, because adjusting parameters can affect normal system operation. Sun might also change the names of parameters in future versions of the Solaris OS. You can set device driver parameters in two ways: by using the ndd command or by creating a Service Management Facility (SMF) service.
q
Use the ndd command to set parameters that are valid until you reboot the system. A good way to test parameter settings is by using the ndd command on the command line. You can also create an SMF service.
Note Information about setting ndd parameters in system startup scripts can be found in Chapter 4 of the Solaris Tunable Parameters Reference Manual located at the Uniform Resource Locator (URL) http://docs.sun.com.
3-20
Preparation
Refer to the lecture notes as necessary to perform the tasks listed.
Tasks
Perform the following steps: 1. Match the terms to their denition. MTU a. A general term that describes the unit of data sent across a packet-switching network The process of passing data from layer to layer in the protocol stack and adding header information to the data at each layer The eld in the Ethernet frame that describes the type of data being carried in the frame An address format that reaches a specic host The eld in an Ethernet frame used for synchronization purposes The maximum number of bytes that are contained in the payload section in a Network Interface layer frame The unit of data sent from the Ethernet interface to the Hardware layer
_____
_____
Unicast
b.
_____
Preamble
c.
d. e. f.
_____
Type eld
g.
3-21
Exercise: Reviewing Ethernet Interfaces 2. # man snoop Look at the various modes and options for capturing and viewing frames available to you. a. Which snoop option displays the size of the entire Ethernet frame in bytes on the summary line? ________________________________________________________ b. Which snoop option captures packets to a le instead of to standard output? ________________________________________________________ c. d. Which snoop option displays the most verbose output? ________________________________________________________ Which snoop option displays frames arriving on a non-primary interface? ________________________________________________________ 3. Open another terminal window, and execute the netstat command to determine the name of your Ethernet interface. What are the names of the Ethernet interfaces on your system, and what are their purposes? _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 4. In one terminal window, execute the snoop utility on the default interface to capture only broadcast frames. Let this command run for the next step. Using another terminal window, log in to another host on your subnet, and type the rup command. a. b. Does the rup command send broadcast frames? ________________________________________________________ Do you see the replies to the rup command? Why? ________________________________________________________ Open a terminal window, and type the command:
5.
3-22
Exercise: Reviewing Ethernet Interfaces Now you use different options of the snoop utility to provide different amounts of output. 6. Stop the snoop utility that is currently running, and restart the snoop utility in verbose mode. Capture only broadcast frames. Write the command that you use: _____________________________________________________________ 7. In the terminal window logged in to the remote host, execute the rup command again. Observe the format of the output from the snoop utility running in verbose mode. Stop the snoop utility, and execute the snoop utility in verbose summary mode, capturing only broadcast frames. Write the command that you use: _____________________________________________________________ 9. In the terminal window that is logged in to the remote host, execute the rup command again. How do the two formats differ? _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 10. Log off of the remote host, and quit all instances of the snoop utility that you are running. Note While you might not understand everything that you see in this section of the exercise, you should at least become familiar with the command syntax, options, and output format of the ndd command. The results of the exercise vary, depending on the type of network interface in the system.
8.
3-23
Exercise: Reviewing Ethernet Interfaces In this part of the exercise, you manipulate a specic interface on your system. 11. Use the appropriate argument with the ndd command to make sure that any instance information retrieved is for the primary network interface. Write the command that you use: _____________________________________________________________ 12. Use the ndd command to determine the value of the link_status parameter of the primary network interface on your system. A status of 0 indicates that the interface is down. A status of 1 indicates that the interface is up. Write the command that you use: _____________________________________________________________ 13. What command do you use to make the ndd command set your systems link_status parameter to 0? _____________________________________________________________ 14. Use the ndd command to determine the read and write attributes of ndd parameters for your interface driver. For example, if your systems interface is an hme0 interface, use /dev/hme as the parameter. Write the command that you use: _____________________________________________________________ Do you expect your command from Step 13 to work if you entered it at the command line as the root user? Why? ________________________________________________________
3-24
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss the experiences, issues, or discoveries that you had during the lab exercises.
q q q q
!
?
3-25
Exercise Solutions
Exercise Solutions
Solutions to the exercise are as follows: 1. f Match the terms to their denition. MTU a. A general term that describes the unit of data sent across a packet-switching network The process of passing data from layer to layer in the protocol stack and adding header information to the data at each layer The eld in the Ethernet frame that describes the type of data being carried in the frame An address format that reaches a specic host The eld in an Ethernet frame used for synchronization purposes The maximum number of bytes that are contained in the payload section in a Network Interface layer frame The unit of data sent from the Ethernet interface to the Hardware layer
Unicast
b.
Preamble
c.
b a g
d. e. f.
Type eld
g.
2. # man snoop
Open a terminal window, and type the command: Look at the various modes and options for capturing and viewing frames available to you. a. Which snoop option displays the size of the entire Ethernet frame in bytes on the summary line? Which snoop option captures packets to a le instead of to standard output?
-S b. -o filename
3-26
Exercise Solutions c. -v d. -d interface name 3. Open another terminal window, and execute the netstat command to determine the name of your Ethernet interface. What are the names of the Ethernet interfaces on your system, and what are their purposes? The hme0 interface, the qfe0 interface, or perhaps the eri0 interface, depending on your system. The purpose of the network interface is to provide access to the LAN. 4. In one terminal window, execute the snoop utility on the default interface to capture only broadcast frames. Let this command run for the next step. Using another terminal window, log in to another host on your subnet, and type the rup command. a. Does the rup command send broadcast frames? Yes, you will observe the rup utility sending remote status (RSTAT) requests. b. Do you see the replies to the rup command? Why? No status replies are seen because the replies are sent to the host by using a unicast address. Now you use different options of the snoop utility to provide different amounts of output. 6. Stop the snoop utility that is currently running, and restart the snoop utility in the verbose mode. Capture only the broadcast frames. In the terminal window logged in to the remote host, execute the rup command again. Observe the format of the output from the snoop utility running in the verbose mode. Stop the snoop utility, and execute the snoop utility in verbose summary mode, capturing only broadcast frames. Which snoop option displays frames arriving on a non-primary interface? Which snoop option displays the most verbose output?
# netstat -i
# snoop broadcast 5.
# snoop -v broadcast 7.
8.
# snoop -V broadcast
3-27
Exercise Solutions 9. In the terminal window that is logged in to the remote host, execute the rup command again. How do the two formats differ? The -v option executes the verbose mode. It prints packet headers in great detail. This display consumes many lines per packet and should be used only on selected packets. The -V option executes the summary verbose mode. This is halfway between the summary mode and verbose mode in degree of verbosity. It displays a single summary line for each protocol layer in the packet instead of displaying multiple lines from each layer of encapsulation. 10. Log off of the remote host, and quit all instances of the snoop utility that you are running. Note While you might not understand everything that you see in this section of the exercise, you should at least become familiar with the command syntax, options, and output format of the ndd command. The results of the exercise vary, depending on the type of network interface in the system. In this part of the exercise, you manipulate a specic interface on your system. 11. Use the appropriate argument of the ndd command to make sure that any instance information retrieved is for the primary network interface. # ndd -set /dev/hme instance 0 12. Use the ndd command to determine the value of the link_status parameter of the primary network interface on your system. A status of 0 indicates that the interface is down. A status of 1 indicates that the interface is up. # ndd /dev/hme link_status
3-28
Exercise Solutions 13. What command do you use to make the ndd command set your systems link_status parameter to 0? # ndd -set /dev/hme link_status 0 14. Use the ndd command to determine the read and write attributes of ndd parameters for your interface driver. For example, if your systems interface is an hme0 interface, use /dev/hme as the parameter. # ndd /dev/device_of_interest \? Do you expect your command from Step 13 to work if you entered it at the command line as the root user? Why? The command would fail because the link_status parameter is read only.
3-29
Module 4
The course map in Figure 4-1 shows how this module ts into the current instructional goal.
Figure 4-1
4-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Introducing ARP
Introducing ARP
ARP is the method used to map a 32-bit IP address to a 48-bit Ethernet address.
Purpose of ARP
The ARP function occurs between the Internet and Network Interface layers of the TCP/IP model. Figure 4-2 shows the location of the ARP function in the model.
TCP/IP Layers
Application Layer Transport Layer Internet Layer ARP Network Interface Layer Hardware Layer
Figure 4-2 ARP in the TCP/IP Model
Data is encapsulated into an Ethernet frame before it is transmitted. An Ethernet frame includes a destination Ethernet address. Figure 4-3 shows the Ethernet frame.
Type
Data
Ethernet Frame
When two systems need to communicate, they need each others Ethernet addresses. ARP supplies the destination Ethernet address information if the sending system does not already know the destination address.
4-2
Introducing ARP
Operation of ARP
If the nal destination (receiving system) of the message being sent is on the same LAN as the sending system, only one address resolution is required. If the nal destination is on a different network, an address resolution might be required on each network that the message traverses on the path to its nal destination. Figure 4-4 shows a simplication of the address resolution process.
192.168.1.1 sys11
1
192.168.1.2 sys12
Who is 192.168.1.3?
192.168.1.3 sys13
192.168.1.3 is 8:00:20:c0:78:73
Figure 4-4 Address Resolution Process
For example, assume that the sys11 system must communicate with the sys13 system: 1. The sys11 system sends an ARP request to the local network by using the Ethernet broadcast address (ff:ff:ff:ff:ff:ff). The ARP request includes the IP address of the sys13 system. The broadcast is seen by the sys12 and sys13 systems. The sys12 and sys13 systems recognize that the ARP request contains the IP address and the Ethernet address of the sys11 system, and add this information to their ARP tables if it is not already present. This type of entry is known as an unsolicited entry because the information was not explicitly requested.
2. 3.
4-3
Introducing ARP 4. The sys13 system identies its own IP address in the ARP request and sends an ARP reply to the sys11 system. The ARP reply includes the Ethernet address of the sys13 system, and it is sent using the unicast Ethernet address of the sys11 system (8:0:20:b9:72:23). The sys11 system receives the ARP reply and stores the information about sys13 in its ARP table. This type of entry is a solicited entry because the sys11 system requested the information.
5.
ARP Table
ARP responses are stored in the ARP table so that the information is available if it is required again in the near future. The ARP table, held in memory, stores IP addresses and Ethernet addresses. This table is read each time a destination Ethernet address is required to prepare an Ethernet frame for transmission. If an Ethernet address does not appear in the ARP table, an ARP request is sent to the local network. Other hosts that see the ARP request also update their ARP table with the IP and Ethernet addresses of the requesting host. Use the ndd /dev/ip ip_ire_arp_interval command to display the length of time that solicited ARP entries are cached. The default value is 1200000. This value is stored in milliseconds and translates to 20 minutes. Use the ndd /dev/arp arp_cleanup_interval command to display the length of time that unsolicited ARP entries are cached. The default value is 300000. This value is stored in millisecond and translates to 5 minutes. Solicited entries are those for which an Ethernet address was asked specically by a host, whereas unsolicited entries are a result of storing information learned about a host that was performing an ARP request on the local network.
4-4
Introducing ARP
The elds displayed in the output from the arp -a command are shown in Table 4-1. Table 4-1 ARP Fields Field Device Description The network device (network interface) for this entry. This is the interface connected to the network on which this system resides. The IP address or host name of the system to which this entry applies. The host mask value applied. This indicates whether the entry refers to a host or the multicast address range. The status of the ARP entry:
q q
S is a static entry. Static entries do not time out. P is a published entry. A system can be congured to publish (advertise) an ARP entry on behalf of systems that cannot respond to ARP requests. M is a mapped entry. This is used for the 224.0.0.0 multicast entry only. U is an unresolved or incomplete entry.
Phys Addr The physical address for the entry, also known as the MAC or the Ethernet address.
4-5
Introducing ARP To examine a specic ARP table entry, type the command: # arp hostname where hostname is the name of the host or its decimal-dot notated IP address. For example: # arp sys13 sys13 (192.168.1.3) at 8:0:20:c0:78:73 # Information about any ags is also displayed. For example: # arp sys11 sys11 (192.168.1.1) at 8:0:20:b9:72:23 permanent published # The keyword permanent relates to the S ag. The keyword published refers to the P ag. To add a static (until reboot) ARP table entry, type the command: # arp -s hostname ethernet_address The preceding command overrides the default time-to-live (TTL) value for ARP table entries by creating a static entry. For example, to add a hosts Ethernet address manually to the ARP table, type the command: # arp -s 192.168.1.99 1:2:3:4:5:6 Use the arp and grep commands to search for the new table entry: # arp -a | grep 99 hme0 192.168.1.99 # 255.255.255.255 S 01:02:03:04:05:06
Populate an ARP table manually in situations in which the destination device cannot respond to ARP requests, such as a system which is reached through a modem connection. Use a published ARP entry when you want a host to answer an ARP request on behalf of another host. This is a useful option for heterogeneous environments and for some SLIP or PPP congurations in which some hosts cannot respond to ARP requests for themselves. To add a published ARP table entry, execute the command: # arp -s hostname ethernet_address pub
4-6
Introducing ARP To add ARP table entries from a le, execute the command: # arp -f filename Entries in the le can be in the following form:
4-7
Introducing ARP ARP: ARP: ARP: ARP: ARP: ARP: ARP: ARP: ARP: Protocol type = 0800 (IP) Length of hardware address = 6 bytes Length of protocol address = 4 bytes Opcode 1 (ARP Request) Senders hardware address = 8:0:20:b9:72:23 Senders protocol address = 192.168.1.1, sys11 Target hardware address = ? Target protocol address = 192.168.1.2, sys12
ETHER: ----- Ether Header ----ETHER: ETHER: Packet 2 arrived at 13:47:30.00038 ETHER: Packet size = 60 bytes ETHER: Destination = 8:0:20:b9:72:23, Sun ETHER: Source = 8:0:20:90:b5:c7, Sun ETHER: Ethertype = 0806 (ARP) ETHER: ARP: ----- ARP/RARP Frame ----ARP: ARP: Hardware type = 1 ARP: Protocol type = 0800 (IP) ARP: Length of hardware address = 6 bytes ARP: Length of protocol address = 4 bytes ARP: Opcode 2 (ARP Reply) ARP: Senders hardware address = 8:0:20:90:b5:c7 ARP: Senders protocol address = 192.168.1.2, sys12 ARP: Target hardware address = 8:0:20:b9:72:23 ARP: Target protocol address = 192.168.1.1, sys11 ARP: <Control>-C#
4-8
Introducing RARP
Introducing RARP
RARP is the method used to map a 48-bit Ethernet address to a 32-bit IP address.
Purpose of RARP
RARP is one of the protocols that a system can use when it needs to determine its IP address. Diskless clients and JumpStart software clients depend upon another host or server from which to retrieve a network boot le. Each network boot le has a name that is based on the IP address of each client. To request the correct network boot le, each client uses RARP to obtain its IP address at boot time.
Operation of RARP
A system sends a RARP request to the Ethernet broadcast address when the system is booting and does not have any way to determine what its IP address will be without requesting the information over the network. Any system on the subnet running the RARP server daemon (in.rarpd), and that also has appropriately congured les or network naming service information, responds with the booting systems IP address. RARP operations include a request and a reply. The RARP request is reported as a REVARP request by the snoop utility. For example: # snoop -v -d hme0 rarp Using device /dev/hme (promiscuous mode) ETHER: ----- Ether Header ----ETHER: ETHER: Packet 1 arrived at 12:52:11.00053 ETHER: Packet size = 64 bytes ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) ETHER: Source = 8:0:20:90:b5:c7, Sun ETHER: Ethertype = 8035 (RARP) ETHER: ARP: ----- ARP/RARP Frame ----ARP: ARP: Hardware type = 1 ARP: Protocol type = 0800 (IP)
4-9
Introducing RARP ARP: ARP: ARP: ARP: ARP: ARP: ARP: ARP: Length of hardware address = 6 bytes Length of protocol address = 4 bytes Opcode 3 (REVARP Request) Senders hardware address = 8:0:20:90:b5:c7 Senders protocol address = 0.0.0.0, OLD-BROADCAST Target hardware address = 8:0:20:90:b5:c7 Target protocol address = ?
<Control>-C# The RARP reply is reported as a REVARP reply by the snoop utility. For example: # snoop -v -d hme0 rarp Using device /dev/hme (promiscuous mode) ETHER: ----- Ether Header ----ETHER: ETHER: Packet 1 arrived at 12:52:19.00053 ETHER: Packet size = 42 bytes ETHER: Destination = 8:0:20:90:b5:c7, Sun ETHER: Source = 8:0:20:b9:72:23, Sun ETHER: Ethertype = 8035 (RARP) ETHER: ARP: ----- ARP/RARP Frame ----ARP: ARP: Hardware type = 1 ARP: Protocol type = 0800 (IP) ARP: Length of hardware address = 6 bytes ARP: Length of protocol address = 4 bytes ARP: Opcode 4 (REVARP Reply) ARP: Senders hardware address = 8:0:20:b9:72:23 ARP: Senders protocol address = 192.168.1.1, sys11 ARP: Target hardware address = 8:0:20:90:b5:c7 ARP: Target protocol address = 192.168.1.2, sys12 ARP: <Control>-C# By default, the OpenBoot PROM is congured to use RARP as the network boot strategy. To force a system to perform a RARP boot, type the command: ok boot net:rarp
4-10
Introducing RARP
Note Usually, the /etc/ethers le is created on boot servers only. The in.rarpd daemon queries the /etc/ethers le (or corresponding network-naming service database) for the host name of the system that is performing the RARP request. The host name is resolved to an IP address by using the /etc/inet/hosts le (or corresponding network-naming service database) on the server. The resulting IP address is returned to the system that made the RARP request. Whether the boot server uses the local /etc/ethers and /etc/inet/hosts les or the corresponding naming service database, is specied in the /etc/nsswitch.conf le.
4-11
Preparation
Refer to the lecture notes as necessary to perform the tasks listed. Be sure to write, in the space provided, any commands that you use during the exercise so that you can use this exercise as a reference after you have completed this course. Work with other students to make sure that you all can see the expected results in the next part of this exercise.
4-12
Tasks
Perform the following steps: 1. In a terminal window, display the current contents of the ARP table on your host. _____________________________________________________________ Explain why the table contents contain the entries reported by the arp command. _____________________________________________________________ _____________________________________________________________ To communicate with another host, the system must rst learn the Ethernet address of that host. 2. Issue the ping command to a host in your local network that is not currently in your ARP table. _____________________________________________________________ 3. Examine the ARP table again. Observe the new ARP entry for the host with which your system just communicated. _____________________________________________________________ 4. Use the arp command to delete all host entries except for the multicast entry (224.0.0.x) and your hosts own entries. _____________________________________________________________ 5. In another window, start the snoop utility in verbose summary mode to lter out all but the broadcast frames. _____________________________________________________________ 6. Open a terminal on your local host, and check the contents of your ARP table for another host in your subnet that is not currently listed. ____________________________________________________________ 7. Use the ping command to communicate with a host that is not in your systems ARP table. ____________________________________________________________ 8. Examine the output from the snoop utility. Why did you receive this result? ____________________________________________________________ ____________________________________________________________
4-13
Exercise: Reviewing ARPs and RARPs 9. Stop the snoop utility. ____________________________________________________________ 10. Start the snoop utility in verbose summary mode to lter out all but the ARP frames. ____________________________________________________________ 11. Delete the ARP table entry for the host that you previously used. ____________________________________________________________ 12. Use the ping command, and attempt to contact the host again. ____________________________________________________________ 13. Examine the output from the snoop utility. a. b. c. d. Did you see the ARP request? _______________________________________________________ Why? _______________________________________________________ Did you see the ARP response? _______________________________________________________ Why? _______________________________________________________ _______________________________________________________ _______________________________________________________ 14. Use the ping command, and attempt to contact the host again. ____________________________________________________________ 15. Examine the output from the snoop utility. a. b. Did you see the ARP request? _______________________________________________________ Why? _______________________________________________________ _______________________________________________________ _______________________________________________________ 16. Quit the snoop utility. ____________________________________________________________
4-14
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
4-15
Exercise Solutions
Exercise Solutions
Solutions to the exercise are as follows: 1. In a terminal window, display the current contents of the ARP table on your host.
# arp -a Net to Media Table: IPv4 Device IP Address ------ -------------------hme0 sys13 hme0 sys11 hme0 224.0.0.0 #
Explain why the table contents contain the entries reported by the arp command. If the system has previously contacted another system on the LAN, an entry is present. Locally congured interfaces have their own static, published entries and multicast entries by default. Unsolicited entries generated by ARP requests from other hosts might also be present. To communicate with another host, the system must rst learn the Ethernet address of that host. 2. # ping sys12 sys12 is alive # 3. Examine the ARP table again. Observe the new ARP entry for the host with which your system just communicated. Issue the ping command to a host in your local network that is not currently in your ARP table.
# arp -a Net to Media Table: IPv4 Device IP Address ------ -------------------hme0 sys13 hme0 sys12 hme0 sys11 hme0 224.0.0.0 #
4-16
Exercise Solutions 4. # arp sys12 # arp sys13 # Use the arp command to delete all host entries except for the multicast entry (224.0.0.x) and your hosts own entries.
-d sys12 (192.168.1.2) deleted -d sys13 (192.168.1.3) deleted 5. In another window, start the snoop utility in verbose summary mode to lter out all but the broadcast frames.
# snoop -V broadcast Using device /dev/hme (promiscuous mode) 6. # arp -a Net to Device -----hme0 hme0 # Media Table: IPv4 IP Address Mask Flags Phys Addr -------------------- --------------- ----- --------------sys11 255.255.255.255 SP 08:00:20:b9:72:23 224.0.0.0 240.0.0.0 SM 01:00:5e:00:00:00 7. # ping sys12 sys12 is alive # 8. Examine the output from the snoop utility. Why did you receive this result? The following is observed in the terminal running the snoop utility: ________________________________ sys11 -> (broadcast) ETHER Type=0806 (ARP), size = 42 bytes sys11 -> (broadcast) ARP C Who is 192.168.1.2, sys12 ? An address resolution was required because the host did not have the destination host address information in its ARP table. The snoop utility is ltering on broadcasts, resulting in the broadcast requests that are observed in the snoop utilitys output. Recall that ARP replies are unicasts, which explains why the ARP reply and the ICMP trafc were not observed. Use the ping command to communicate with a host that is not in your systems ARP table. Open a terminal on your local host, and check the contents of your ARP table for another host in your subnet that is not currently listed.
4-17
Exercise Solutions 9. Control-C# 10. Start the snoop utility in verbose summary mode to lter out all but the ARP frames. # snoop -V arp Using device /dev/hme (promiscuous mode) 11. Delete the ARP table entry for the host that you previously used. # arp -d sys12 sys12 (192.168.1.2) deleted # 12. Use the ping command, and attempt to contact the host again. # ping sys12 sys12 is alive # 13. Examine the output from the snoop utility. ________________________________ sys11 -> (broadcast) ETHER sys11 -> (broadcast) ARP C ________________________________ sys13 -> sys11 ETHER sys13 -> sys11 ARP R a. b. c. d. Yes. Why? The snoop utility is ltering out all but the ARP packets. Did you see the ARP response? Yes. Why? The snoop utility is ltering out all but ARP packets. The ARP responses are unicast but are still ARP packets. 14. Use the ping command, and attempt to contact the host again. # ping sys12 sys12 is alive # Type=0806 (ARP), size = 42 bytes Who is 192.168.1.2, sys12 ? Type=0806 (ARP), size = 60 bytes 192.168.1.2, sys12 is 8:0:20:90:b5:c7 Stop the snoop utility. Press the Control+C key sequence to stop the snoop utility.
4-18
Exercise Solutions 15. Examine the output from the snoop utility. No output is seen from the snoop utility. a. b. Did you see the ARP request? No. Why? The system resolved the destination Ethernet address by using its local ARP table; therefore, an ARP request was unnecessary. The snoop utility lters out all but ARP packets, which explains why you did not see any ARP trafc resulting from the ping command. 16. Quit the snoop utility. Press the Control+C key sequence. Control-C#
4-19
Module 5
Conguring IP
Objectives
This module describes the features of IP, including the purpose of IP, the IP datagram, and IP address types. This module also describes subnetting and the variable length subnet mask (VLSM). Additionally, this module explains the purpose of interface conguration les and describes how to congure logical interfaces. Upon completion of this module, you should be able to:
q q q q q q
Describe the Internet layer protocols Describe the IP datagram Describe the IP address types Describe subnetting and VLSMs Describe the interface conguration les Administer logical interfaces
5-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Objectives The course map in Figure 5-1 shows how this module ts into the current instructional goal.
Conguring IP
Conguring Routing
Conguring IPv6
Figure 5-1
Course Map
5-2
Purpose of IP
IP is provided by a loadable kernel module and has two main functions. IP provides:
q q
Connectionless delivery of datagrams on the network Fragmentation and reassembly of data to accommodate data links that implement different sizes of MTUs
A companion protocol for IP, ICMP, enables systems to send control or error messages to other systems. These messages provide a communication mechanism between the IP layer on one system and the IP layer on another system. Message types that are sent include echo request, echo reply, destination unreachable, router advertisement, redirect, router solicitation, and time exceeded. Application data must t in the data portion of an Ethernet frame. The upper limit on the amount of data in the Ethernet frame is dened by the MTU of the Network Interface layer. If the amount of application data is larger than the MTU, fragments are created as units of data that are broken into smaller units for transmission. Internet Protocol version 4 (IPv4) species that fragmentation occur at each router, based on the MTU of the interface through which the IP datagrams must pass. To view the MTU of an interface, type the ifconfig -a command: # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 #
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-3
Purpose of ICMP
ICMP enables IP on one system to send control and error messages to IP on other systems. This communication can include a control message, such as a routing redirect, or an error message, such as Network is unreachable. Network administrators and system utilities, such as the traceroute command, use this error messaging feature as a diagnostic tool.
Echo request and reply Destination unreachable Router advertisement Router solicitation Redirect Time exceeded
Note To obtain supported ICMP message type information, view the /usr/include/netinet/ip_icmp.h le. ICMP messages are dened in RFC 792. The ICMP header appears after the IP header and varies depending on the type of ICMP message. For example, Figure 5-2 shows an ICMP header when the destination is unreachable.
2 0 1 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Type Code Unused Checksum
Figure 5-2
5-4
Introducing the Internet Layer Protocols Figure 5-3 shows an ICMP header for a redirect message.
0 2 1 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Type Code Gateway Internet Address Checksum
Figure 5-3
Figure 5-4 shows an ICMP header for an echo request or echo reply message.
0 2 1 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Type Identifier Code Checksum Sequence Number
Figure 5-4
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-5
" *EJI
" *EJI
" *EJI
Type o Servic f e entifie r
" *EJI
" *EJI
" *EJI
Datag ram L
ram Id
" *EJI
ength ent Of fset
" *EJI
Live
Flags ol e IP A
Protoc
Fragm Check
sum
ddres
ation I
P Add
ress uired
nd Pa
dding
If Req
Figure 5-5
5-6
Introducing the IP Datagram The elds in the datagram header are described in Table 5-1. Table 5-1 IP Datagram Header Fields Field Version Header length Type of service Datagram length Datagram identier Flags Description The version of the protocol, for example 4 (IPv4). The length of a datagram header. This value must be at least 20 bytes The specied quality of service. The length of the entire datagram, measured in bytes. The value assigned by the sender to make reassembly of fragments possible for the receiving system. Information related to fragmentation. These ags dene whether the datagram can be fragmented and whether the datagram is part of a message that was fragmented. The location of the fragment in the overall set of application data. The maximum number of routers through which the datagram can pass. The Transport layer protocol to which the data in this datagram is delivered. The header checksum used to verify that the header is not damaged. The source systems IPv4 address. The destination systems IPv4 address. Optional information and padding, if required.
Fragment offset Time to live Protocol Checksum Source IP address Destination IP address IP options and padding
Refer to RFC 791 for detailed information about the header elds.
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-7
IP Datagram Payload
The IP datagram payload can contain any one of the following: a UDP datagram, a TCP segment, an ICMP message, or an Internet Group Management Protocol (IGMP) message.
5-8
Unicast Addresses
Unicast addresses identify a single interface on a network. Unicast addresses are used when a system needs to communicate with another system. There are three classes of unicast addresses: Class A, Class B, and Class C. The value of the high-order bits (rst three bits) determines which portion of the IPv4 address is the network number and which portion is the host number. This addressing scheme is called classful IPv4 addressing.
Class A Addresses
Class A addresses are for very large networks and provide 16,777,214 host addresses. Figure 5-6 shows the beginning of the address in binary format.
0
1 - 127
Figure 5-6
Example: 10.102.2.113
If the rst bit is 0, that bit and the next seven bits dene the network number, and the remaining 24 bits dene the host number. This makes possible up to 128 Class A networks. The Internet Assigned Numbers Authority (IANA) has reserved the Class A network 10.0.0.0 10.255.255.255 for private networks. These addresses are not routed in the Internet. Refer to RFC 1918 for additional details. In addition, the 127.0.0.0 address range cannot be used because 127.0.0.1 is reserved for the loopback interface.
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-9
Class B Addresses
Class B addresses are for large networks and provide 65,534 host addresses. Figure 5-7 shows the beginning of the address in binary format.
10
Example: 129.150.254.2
If the rst two bits are 10, those two bits and the next 14 bits dene the network number, and the remaining 16 bits dene the host number. This makes possible 16,384 Class B networks. The IANA has reserved the Class B networks 172.16.0.0172.31.255.255 for private networks. These addresses are not routed in the Internet. Refer to RFC 1918 for additional details.
Class C Addresses
Class C addresses are for small-sized and medium-sized networks and provide 254 host addresses. Figure 5-8 shows the beginning of the address in binary format.
110
0 - 255
Example: 192.9.227.13
If the rst three bits are 110, those three and the next 21 bits dene the network number, and the remaining eight bits dene the host number. This makes possible up to 2,097,152 Class C networks. The IANA has reserved the Class C networks 192.168.0.0192.168.255.255 for private networks. These addresses are not routed in the Internet. Refer to RFC 1918 for additional details.
5-10
Broadcast Addresses
A broadcast address is the address that reaches all systems on a particular network. A broadcast means that data is sent to all of the hosts on the LAN. In the Solaris 10 OS, the default broadcast address is an address that has a host number of all ones when represented in binary. An example of a broadcast address is 192.168.1.255. You use the ifconfig command to congure an interfaces broadcast address.
Multicast Addresses
Multicasting is a very efcient way to send large amounts of data to many systems at the same time. A multicast address identies interfaces that belong to a specic multicast group. Packets that are sent to a multicast address are received by all interfaces that are associated with the multicast address. Figure 5-9 shows the beginning of a multicast address in binary format.
1110
0 - 255
0 - 255
Example: 224.0.1.8
Figure 5-9
Multicasting
If the rst four bits are 1110, which makes the rst eld an integer value between 224 and 239, the address is a multicast address. The remaining 28 bits comprise a group identication number for a specic multicast group. An IPv4 multicast address is a destination address for one or more hosts, while a Class A, B, or C address is an address for an individual host. The IPv4 multicast address maps to an Ethernet multicast address so that the network interface listens for a multicast trafc. The low-order 23 bits of the IPv4 multicast address are placed into the low-order 23 bits of the Ethernet multicast address. Therefore, an IPv4 multicast address of 224.0.0.1 maps to 01:00:5e:00:00:01.
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-11
Subnetting
You can divide a network into subnets to do the following:
q
Isolate network trafc within local subnets, therefore reducing contention for network bandwidth Secure or limit access to a subnet Enable localization of specic network protocols to a subnet Permit the association of a subnet with a specic geography or a department Enable administrative work to be broken into logical units
q q q
Figure 5-10 shows the basic idea of subnetting, which is to divide the standard host number eld into two parts: the subnet number and the host number on that subnet.
Two-level Hierarchy
Network Number
Host Number
Three-level Hierarchy
Network Number
Figure 5-10 Subnetting
Subnet Number
Host Number
5-12
Netmasks
An IP address contains both the network on which the Solaris OS is located and the host number on the network assigned to that system. In a subnet environment, you need to be able to determine how much of the IP address represents the network and how much of the IP address represents the host number. The netmask is the mechanism by which this is determined. Each IP address has a netmask associated with it. A netmask is 32 bits in length. Each bit in the netmask is used to state whether the corresponding bit in the IP address forms part of the network number or the host number. The bit values are associated with either the network number or the host number as follows: 1 0 The corresponding bit in the IP address is part of the network number. The corresponding bit in the IP address is part of the host number.
Netmasks are written by using the same decimal dot-separated notation that is used for IP addresses. For example, a netmask which has the rst sixteen bits set to 1 and the last sixteen bits set to 0 is written: 255.255.0.0 A netmask which has the rst twenty bits set to 1 and the last twelve bits set to 0 is written: 255.255.240.0 There are standard netmasks for the three classes of unicast address. The netmask for a Class A network is 255.0.0.0. The netmask for a Class B network is 255.255.0.0. The netmask for a Class C network is 255.255.255.0.
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-13
Introducing Subnetting and VLSM For example, consider the Class B network 172.16.0.0. The default netmask for this network is 255.255.0.0, and the broadcast address is 172.16.255.255. This gives a single network of 65,534 hosts. By using a different netmask, it is possible to divide this single network in to more, smaller networks. If you choose to divide this single network into, for example, eight smaller networks, you can do so by changing the netmask. To do this, you rst need to know what power of 2 the number 8 is. (Netmasks always create a total number of networks that is a power of 2.) The power of 2 value determines how many extra 1s are required in the netmask. Because the number 8 is the number 2 to the power 3, to create 8 separate networks you need three additional 1s in the netmask. The default netmask value (in binary) is: 11111111 11111111 00000000 00000000 The additional 1s are placed in the netmask next to the existing 1s to give: 11111111 11111111 11100000 00000000 Written in decimal format, this is 255.255.224.0. This netmask creates eight new, smaller networks, each with 8190 hosts. The network numbers and broadcast addresses of the eight new networks are listed in Table 5-2. Table 5-2 Netmask Network Addresses Network Number 172.16.0.0 172.16.32.0 172.16.64.0 172.16.96.0 172.168.128.0 172.168.160.0 172.168.192.0 172.168.224.0 Broadcast Address 172.16.31.255 172.16.63.255 172.16.95.255 172.16.127.255 172.16.159.255 172.16.191.255 172.16.223.255 172.16.255.255
5-14
Contiguous Netmasks
Each bit in a netmask is independent of any other bit. It is possible to have netmasks in which the 1s and 0s are interleaved, but this is not recommended. RFC 950 recommends the use of contiguous subnet masks only. A contiguous subnet mask is one that uses only contiguous, high-order bits (that is, the netmask consists of a sequences of 1s followed by a sequence of 0s). For example: 11111111 11111111 11111111 11110000
Noncontiguous Netmasks
Although RFC 950 recommends the use of contiguous subnet masks only, nothing prevents the use of noncontiguous subnet masks. For example: 11111111 11111111 11111111 01001010 Using noncontiguous subnet masks makes administration of the network more difcult and should be avoided if at all possible.
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-15
Dot-separated decimals A single, hexadecimal value preceded by 0x A + (plus) sign A name listed in the /etc/inet/networks le or equivalent naming service database
For example: # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 # ifconfig hme0 down # ifconfig hme0 netmask 255.255.240.0 # ifconfig hme0 up # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask fffff000 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 #
5-16
Introducing Subnetting and VLSM The broadcast address for an interface is related to the netmask. If the netmask is changed, the broadcast address must also be changed to reect the new network. The simplest way to do this is to use the broadcast + argument to the ifconfig command: # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask fffff000 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 # ifconfig hme0 down # ifconfig hme0 broadcast + # ifconfig hme0 up # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask fffff000 broadcast 192.168.15.255 ether 8:0:20:b9:72:23 #
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-17
Introducing Subnetting and VLSM Netmasks for particular networks can be dened in the /etc/inet/netmasks le. The /etc/netmasks le is linked symbolically to the /etc/inet/netmasks le. The /etc/inet/netmasks le enables the permanent assignment of a netmask. The ifconfig command consults the /etc/inet/netmasks le (or equivalent naming-service database) if no netmask is specied as an argument. For every network that is subnetted, an individual line is entered into this le. Each entry in the /etc/inet/netmasks le contains the netmask denition of a network number.
5-18
Introducing Subnetting and VLSM For example: # cat /etc/inet/netmasks # # The netmasks file associates Internet Protocol (IP) address # masks with IP network numbers. # # network-number netmask # # The term network-number refers to a number obtained from the Internet Network # Information Center. # # Both the network-number and the netmasks are specified in # "decimal dot" notation, e.g: # # 128.32.0.0 255.255.255.0 # 192.168.1.0 255.255.255.0 # The netmask value in the netmask le can be specied when conguring the network interface by using the + (plus) argument with the netmask argument: # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask fffff000 broadcast 192.168.15.255 ether 8:0:20:b9:72:23 # ifconfig hme0 down # ifconfig hme0 netmask + broadcast + # ifconfig hme0 up # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 #
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-19
VLSM
RFC 950 species how an IP network could use subnet masks. When an IP network is assigned more than one subnet mask, it is considered a network with VLSMs because the extended-network numbers have different lengths at each subnet level. Two of the main advantages to assign more than one subnet mask to a given IP network number are:
q
Multiple subnet masks permit more efcient use of an organizations assigned IP address space. Multiple subnet masks permit route aggregation, which can signicantly reduce the amount of routing information at the backbone level within an organizations routing domain.
An example of VLSM entries in the /etc/inet/netmasks le is: 12.0.0.0 12.3.0.0 12.3.254.0 255.255.0.0 255.255.255.0 255.255.255.224
Note VLSM subnet masks syntax has been recognized since the Solaris 2.6 OS. Figure 5-11 shows these additional subnet and host addresses.
16-bit Subnet Mask 24-bit Subnet Mask 27-bit Subnet Mask
12.0.0.0
5-20
Introducing Subnetting and VLSM One of the major problems with supporting only a single subnet mask across a given network number is that once the mask is selected, it locks the organization into a xed number of xed-sized subnets. For example, a Class B subnet that is masked with 255.255.252.0 yields additional subnet and host addresses. Figure 5-12 shows the breakdown of the number of networks and the number of hosts as a result of a xed subnet mask being applied to the address.
1024 Two Hosts Per Subnet 64 Subnets
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-21
5-22
Introducing the Interface Configuration Files An example of an /etc/inet/hosts le is: # more /etc/inet/hosts # # Internet host table # 127.0.0.1 localhost 192.168.1.1 sys11 loghost # In this example, the IPv4 address 127.0.0.1 is the loopback address, the reserved network address that supports interprocess communication by permitting the local system to send packets to itself. Every system on a TCP/IP network must use the IP address 127.0.0.1 for the local host.
Note Versions of the Solaris OS before Solaris 10 OS required the /etc/net/*/hosts les to be edited when changing a systems host name. Editing these les is not required in the Solaris 10 OS.
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-23
Systems that use high-availability failover Web servers that require multiple web site URLs Servers that run several applications which must appear as separate systems
Lower cost You do not need to purchase additional Ethernet cards. Easier to back up and administer Backup and maintenance can be done on one host instead of on several hosts.
5-24
Heavy network load Having many logical addresses tied to a specic Ethernet interface can cause a network performance bottleneck. Slower system start Each logical interface must be congured on system boot, which can be a lengthy process when a large number of interfaces are congured.
driver-name physical-unit-number
For example: hme0 qfe3 Logical interfaces have names of the form:
driver-name physical-unit-number:logical-unit-number
For example: hme0:1 qfe3:1 Figure 5-13 shows how a system with one interface can appear as two different systems.
hme0:1 192.168.1.99
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-25
The hme0:1 interface is now congured, it has a default netmask of ffffff00 (255.255.255.0), and it has a broadcast address of 192.169.1.255. You can assign different values for the netmask and broadcast address if you choose to. Notice that the index number is unique for each physical interface, while logical interfaces use the physical interfaces index number.
5-26
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-27
5-28
Exercise: Reviewing IP
Exercise: Reviewing IP
In this exercise, you dene logical interfaces in two ways: by explicitly naming the logical interface and by using a command to automatically add the next available logical interface.
Preparation
Refer to the lecture notes as necessary to perform the tasks listed.
Task Summary
In this exercise, you accomplish the following:
q
Use the ifconfig command to dene and congure a hme0:1 interface on a different network to the hme0 interface. Dene the RFC 1918-compliant address by replacing the 192.168 part of your systems address with 172.18/24. The /24 means that the rst 24 bits of the address represent the network address, and the remaining 8 bits represent the host portion of the address. Congure the interface to use a Class C broadcast address. For example, if your hme0 interface has an address of 192.168.1.2, congure the hme0:1 interface to have an IP address of 172.18.1.2, a netmask of 255.255.255.0, and a broadcast address of 172.18.1.255.
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-29
Exercise: Reviewing IP
Tasks
Complete the following steps: 1. Use the ifconfig command to view the systems interface conguration before making any changes, so that you can easily restore your system to its original state if needed. Write the command that you use: _____________________________________________________________ 2. Use the ifconfig command to congure the hme0:1 interface with the appropriate IP address and a netmask of 255.255.255.0. For example, if your IP address begins with 192.168, then change it so that it begins with 172.18. Use the appropriate command to cause the interface to function properly. Write the command that you use: _____________________________________________________________ 3. View the conguration of the interfaces on the system. Notice that the index for the new logical interface is the same as the physical interface and that no Ethernet address is listed under the new logical interface. Write the command that you use: _____________________________________________________________ 4. Use the ifconfig command with the appropriate option to congure the next available logical interface with an IP address that is incremented by 1 in the second octet. For example if you used 172.18.1.2 in the previous step, use 172.19.1.2 for this interface. Congure a netmask of 255.255.255.0 and a broadcast address of 172.19.1.255. Be sure to use the appropriate command to cause the interface to function properly. Write the command that you use: _____________________________________________________________ 5. View the conguration of the interfaces on the system. Notice that the next sequential logical interface was dened (hme0:2 in this example). Also notice that the index for the new logical interface is the same as the physical interface and that no Ethernet address is listed under the new logical interface. Write the command that you use: _____________________________________________________________
5-30
Exercise: Reviewing IP 6. Use the removeif option of the ifconfig command to remove the rst logical interface that you dened. Write the command that you use: _____________________________________________________________ 7. View the conguration of the interfaces on the system. Notice that the rst logical interface is removed. Write the command that you use: _____________________________________________________________ 8. Use the appropriate command to specically remove the second logical interface that you dened. Write the command that you use: _____________________________________________________________ 9. View the conguration of the interfaces on the system. Write the command that you use: _____________________________________________________________
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-31
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
5-32
Exercise Solutions
Exercise Solutions
Solutions to the exercise are as follows: 1. Use the ifconfig command to view the systems interface conguration before making any changes, so that you can easily restore your system to its original state if needed.
# ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23
# 2. Use the ifconfig command to congure the hme0:1 interface with the appropriate IP address and a netmask of 255.255.255.0. For example, if your IP address begins with 192.168, then change it so that it begins with 172.18. Use the appropriate command to cause the interface to function properly.
3.
View the conguration of the interfaces on the system. Notice that the index for the new logical interface is the same as the physical interface and that no Ethernet address is listed under the new logical interface.
# ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 hme0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.18.1.2 netmask ffffff00 broadcast 172.18.1.255 #
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-33
Exercise Solutions 4. Use the ifconfig command with the appropriate option to congure the next available logical interface with an IP address that is incremented by 1 in the second octet. For example if you used 172.18.1.2 in the previous step, use 172.19.1.2 for this interface. Congure a netmask of 255.255.255.0 and a broadcast address of 172.19.1.255. Be sure to use the appropriate command to cause the interface to function properly.
# ifconfig hme0 addif 172.19.1.2 netmask 255.255.255.0 broadcast 172.19.1.255 up Created new logical interface hme0:2 #
5.
View the conguration of the interfaces on the system. Notice that the next sequential logical interface was dened (hme0:2 in this example). Also notice that the index for the new logical interface is the same as the physical interface and that no Ethernet address is listed under the new logical interface.
# ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 hme0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.18.1.2 netmask ffffff00 broadcast 172.18.1.255 hme0:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.19.1.2 netmask ffffff00 broadcast 172.19.1.255 #
6.
Use the removeif option of the ifconfig command to remove the rst logical interface that you dened.
# ifconfig hme0 removeif 172.18.1.2 # 7. View the conguration of the interfaces on the system. Notice that the rst logical interface is removed.
# ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 hme0:2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.19.1.2 netmask ffffff00 broadcast 172.19.1.255 #
5-34
Exercise Solutions 8. Use the appropriate command to specically remove the second logical interface that you dened.
Conguring IP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
5-35
Module 6
The course map in Figure 6-1 shows how this module ts into the current instructional goal.
Conguring IP
Conguring Routing
Conguring IPv6
Figure 6-1
Course Map
6-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Server
Client
Figure 6-2 IPMP Conguration
6-2
Introducing IPMP
IPMP enables the Solaris 10 OS to recover from network path failures. IPMP also provides increased throughput by spreading the outbound load across interfaces when multiple network adapters are connected to the same IP network, such as to the same Ethernet switch. If a failure occurs in the network link and an alternate adapter is congured, the IP address fails over. The network access changes automatically from the failed adapter to the new adapter, providing uninterrupted access to the network. IPMP has the following features:
q
It enables interfaces to fail over within approximately 10 seconds when using the default conguration. It can be congured by adjusting the parameters in the /etc/default/mpathd le. It can be congured for use with both IPv4 and IPv6. It enables interfaces to be congured as standby interfaces. These types of interfaces are only used for failover and are not used for outbound load spreading, unless they are explicitly chosen by an application.
q q
6-3
The Solaris 8 10/00 OS, as a minimum, must be installed. Unique MAC addresses must be congured on each network interface. The default conguration for most Sun network adapters has all network interfaces on a system using the same MAC (Ethernet) address. IPMP requires that all interfaces in an IPMP group be connected to the same IP link. Switched networks use MAC addresses when making decisions about where to send packets. Therefore, you must change the systems default conguration for MAC addresses to avoid a MAC address conict.
Multiple network adapter interfaces must be connected on each subnet. You can congure IPMP with a single network interface to take advantage of network failure detection. To use the full benet of IPMP, make sure that two or more network interfaces are connected to the same subnet.
An IPMP group name must be assigned to interfaces. Interfaces that are to be deployed as part of an IPMP conguration must belong to an IPMP group. Each IPMP group has an IPMP group name. The in.mpathd daemon uses the IPMP group names. Use a meaningful name that does not include spaces when you choose a group name. The IPMP group name is local to the system and is not used across the network.
6-4
A test address is assigned to an interface. The in.mpathd daemon uses test addresses, which must be routable addresses, to monitor the status of each individual interface. The test addresses are used to detect failure and recovery of an interface. These addresses are deprecated at conguration time to make sure that they cannot be used as source addresses by other applications.
Additional hosts or devices must exist on the same subnet. The test interfaces are used to send ICMP echo requests to targets on the local link, either by addressing a default router on the local link or by using the all hosts multicast group (224.0.0.1), to test that the network link is functioning.
Sending ICMP echo requests and receiving ICMP echo replies through the interface Monitoring the internal IFF_RUNNING ag on the interface
An interface has failed if either of these two detection methods indicates a failure. An interface is considered repaired only if both methods report that the interface is operational and can send and receive packets through the interface. To detect the failure or repair of interfaces that belong to the IPMP group, the in.mpathd daemon sends ICMP echo requests from the test addresses on the IPMP interfaces to targets connected to the local network. The in.mpathd daemon determines which targets to probe dynamically. If ve consecutive probes do not receive replies, the interface is considered failed. Adjust the failure detection time by editing the FAILURE_DETECTION_TIME variable from the default value of 10,000 milliseconds (10 seconds) in the /etc/default/mpathd le. When responses to the ICMP echo requests are not received and a specic time period has elapsed, the physical interface is considered failed. The IP address that is associated with the failed address is moved to a new logical interface associated with another physical interface in the same IPMP group. Communications that were taking place continue to function as though the original interface is still working properly.
6-5
Configuring IP Network Multipathing ICMP echo requests are still attempted through the failed NIC to detect if a physical interface is repaired. If all the NICs or targets appear to fail at the same time, this is a group failure, and no fail over is performed. The in.mpathd daemon ushes all of the current targets and attempts to discover new targets. You cannot congure the targets because the in.mpathd daemon determines dynamically which targets to probe. Default routers connected to the link are chosen as targets for probing. If no routers exist on the link, arbitrary hosts on the link are chosen by sending a multicast packet to the all hosts multicast address. When you congure IPMP, be sure to have at least one additional system on the network that can act as a target. You can congure IPMP by changing conguration les and rebooting, or you can work at the command line to avoid rebooting the system.
The 192.168.1.51 address for the hme0 interface The 192.168.1.71 address for the qfe1 interface
The data address for the hme0 interface remains as 192.168.1.1, and the data address for the qfe1 interface is 192.168.1.21.
6-6
Configuring IP Network Multipathing To congure probe-based IPMP, complete the following steps, which are described in greater detail in the next sections. 1. 2. 3. 4. 5. 6. Verify the Solaris OS release. Congure unique MAC addresses. Dene IP addresses. Congure the interfaces. Reboot the system. View the interface conguration.
You must know the state of the system if you need to restore it. Before making any changes to the system, view the systems interface conguration by executing the command: # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 #
6-7
Note Depending on the combination of your systems rmware and hardware architecture, you must either plumb an interface or reboot the system to enable unique MAC address assignment after changing the local-mac-address? variable.
# Data address for hme0 # Data address for qfe1 # Test address for hme0 # Test address for qfe1
6-8
-failover
6-9
Configuring IP Network Multipathing Create the /etc/hostname.qfe1 le with contents similar to the following: # cat /etc/hostname.qfe1 sys11-data-qfe1 netmask + broadcast + group mpgrp-one up \ addif sys11-test-qfe1 deprecated netmask + broadcast + -failover up #
6-10
Observe the additional information that is reported by the preceding ifconfig command for the hme0:1 interface:
hme0:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 192.168.1.51 netmask ffffff00 broadcast 192.168.1.255
The interfaces index number is 2, the same as the physical interface. The hme0:1 interfaces MAC address is not shown because logical interfaces use the same MAC address as the physical interface. The DEPRECATED and NOFAILOVER ags indicate that the interface is not to be used by any application (other than the in.mpathd daemon), and the interface must not be failed if a communication failure occurs. The RUNNING ag is also monitored by the in.mpathd daemon to ensure that communications are functioning as expected.
The system remains available to users if either of the interfaces fails or becomes unusable for any reason.
6-11
The 192.168.1.51 address for the hme0 interface The 192.168.1.71 address for the qfe1 interface
The data address for the hme0 interface remains 192.168.1.1, and the data address for the qfe1 interface is 192.168.1.21. To congure IPMP, complete the following steps, which are described in greater detail in the next sections. 1. 2. 3. 4. 5. 6. 7. 8. Verify the Solaris OS release. Congure unique MAC addresses. Congure IP addresses. Congure the hme0 interface as part of an IPMP group. Congure a test address for the hme0 interface. Congure the qfe1 interface as part of the same IPMP group. Congure a test address for the qfe1 interface. View the interface conguration.
6-12
Configuring IP Network Multipathing You must know what state the system is in if you need to restore it. Before making any changes to the system, view the systems interface conguration by typing the command: # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 #
6-13
Configuring IP Network Multipathing The preceding output indicates that the system is still in its default mode and uses the same MAC address for each interface. This is indicated by the setting of the local-mac-address? variable to false. Use the eeprom command to change the EEPROMs local-mac-address? variable to true. Type the command: # eeprom "local-mac-address?=true" #
Note Depending on the combination of your systems rmware and hardware architecture, you will have to either plumb the interface or reboot the system to enable unique MAC address assignment after changing the local-mac-address? variable. Verify that the local-mac-address? variable is set to true: # eeprom "local-mac-address?" local-mac-address?=true #
# Data address for hme0 # Data address for qfe1 # Test address for hme0 # Test address for qfe1
6-14
6-15
Observe the additional information that is reported by the preceding output of the ifconfig command, for the qfe1 interface: qfe1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.1.21 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp-one ether 8:0:20:ac:9b:21 This information includes the following:
q
The interface index number is incremented to 3 because a unique index number is assigned to each non-logical interface as it is congured. Since lo0 is 1 and hme0 is 2, qfe1 is assigned 3. The qfe1 interfaces MAC address is different from the hme0 interfaces MAC address, which is caused by changing the local-mac-address? variable in the systems EEPROM.
6-16
The interfaces index number is 3, which is the same as the physical interface that supports this logical interface. Notice that the qfe1:1 interface MAC address is not shown because logical interfaces use the same MAC address as the physical interface that supports the logical interface.
6-17
Note Before the Solaris 10 OS, the in.mpathd daemon was started during the execution of the /etc/rc2.d/S69inet start script.
6-18
Configuring IP Network Multipathing If necessary, the in.mpathd daemon can be started from the command line by running the command as the root user: # /sbin/in.mpathd #
The system remains available to users if either of the network interfaces fail or become unusable for any reason.
6-19
Solaris 9 12/02 OS, at a minimum, must be installed. Network interfaces must use any of the following drivers:
q q q q q q q
q q
Unique MAC addresses must be congured on each of the interfaces. An IPMP group name must be assigned to interfaces.
6-20
You must know the state of the system if you need to restore it. Before making any changes to the system, view the systems interface conguration by executing the command: # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23
6-21
6-22
6-23
6-24
To view the current status of the network interfaces, use the ifconfig command: # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=89000842<BROADCAST,RUNNING,MULTICAST,IPv4,NOFAILOVER,OFFLINE> mtu 0 index 2 inet 0.0.0.0 netmask 0 groupname ipmp_group0 ether 8:0:20:b9:72:23 hme1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.1.21 netmask ffffff00 broadcast 192.168.1.255 groupname ipmp_group0 ether 8:0:20:ac:9b:21 hme1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255
Notice, that the IP address of the hme0 interface is 0.0.0.0, and a new logical interface hme1:1 is created on the remaining physical interface hme1. The new logical interface has the IP address (192.168.1.1) that was assigned to the physical hme0 interface before it failed. Reattach the hme0 interface, to force a failback: # if_mpadm -r hme0 The message on the console indicates that the failback was successful: Dec 16 13:41:47 sys11 in.mpathd[119]:Successfully failed back to NIC hme0
6-25
Configuring IP Network Multipathing To view the current status of the network interfaces, use the ifconfig command: # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 groupname ipmp_group0 ether 8:0:20:b9:72:23 hme1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.1.21 netmask ffffff00 broadcast 192.168.1.255 groupname ipmp_group0 ether 8:0:20:ac:9b:21 # The hme0 interface is reassigned its original IP address, and the hme1:1 logical interface is removed automatically.
6-26
Note Do not use the deprecated option because this prevents applications from using the interfaces only IP address as a source address. If the single interface will be included in an IPMP group with multiple interfaces, also set the NOFAILOVER ag on the interface by using the -failover option.
Note Use IPMP only on a single interface if multiple default routers exist on the local network. This enables multiple targets to be probed when checking the availability of the network.
6-27
6-28
Configuring IP Network Multipathing The detached interface is assigned an IP address of 0.0.0.0, and a new logical interface, qfe1:2, is created automatically on the functional qfe1 physical interface. The new logical interface has the IP address that was assigned to the physical hme0 interface while it was working. To reattach an ofine interface, type the command: # if_mpadm -r hme0 Aug 4 14:02:09 sys11 in.mpathd[535]: Successfully failed back to NIC hme0 #
Note This message appears in the console window and is not seen if you are using an xterm or dtterm window. The message indicates that the fail back was successful. To view the status of the interfaces, use the ifconfig command: # ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp-one ether 8:0:20:b9:72:23 hme0:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 192.168.1.51 netmask ffffff00 broadcast 192.168.1.255 qfe1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.1.21 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp-one ether 8:0:20:ac:9b:21 qfe1:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 3 inet 192.168.1.71 netmask ffffff00 broadcast 192.168.1.255 #
The hme0 interface is reassigned its original IP address, and the qfe1:2 logical interface is removed automatically.
6-29
6-30
Configuring IP Network Multipathing The in.mpathd daemon reports that it can now perform failure detection. Be aware that more than one interface is required to provide effective failover. To view the interface conguration, use the ifconfig command: # ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp-one ether 8:0:20:b9:72:23 hme0:1: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 2 inet 192.168.1.51 netmask ffffff00 broadcast 192.168.1.255 #
6-31
Preparation
Refer to the lecture notes as necessary to perform the tasks listed. At least two interfaces of the same type (for example, Ethernet) are required for this exercise. Verify that your system meets the minimum requirements and has enough network cabling before you continue. Work with another student if your system does not have enough interfaces. Caution Remove any interfaces that you congured that are not part of previous exercises before starting this exercise. You need the following information when you congure IPMP in this exercise:
q
The IPMP group name This name is required for each physical interface that will be part of the IPMP group. A data IP address for each physical interface Users and applications use this address when accessing the system. A logical interface for each physical interface The in.mpathd daemon uses this interface to monitor the status of the physical interface. A second physical interface This interface must be connected with a network cable. An IP address for each logical interface This is the test address.
6-32
Exercise: Configuring IPMP Write the names and addresses that you will use:
q
The IPMP group name is unique to your system. Write the IPMP group name: _____________________________________________________________
The new physical interface uses an IP address of your systems IP address plus 20; for example, the new interface has an address of 192.168.1.21. Write the new physical interfaces IP address: _____________________________________________________________ The test IP address for each logical interface is the physical interfaces IP address plus 50. For example, the physical interface address of 192.168.1.1 uses test a test address of 192.168.1.51, and the physical interface IP address of 192.168.1.21 uses a test address of 192.168.1.71. Write the rst logical interfaces IP address: _____________________________________________________________ Write the second logical interfaces IP address: _____________________________________________________________
The following is an example of a complete list of the information that you need when you congure multipathing in the exercise.
q q
Assume that the IPMP group name is mpgrp-one. Assuming that the existing IP address is 192.168.1.1, the new physical interfaces IP address is 192.168.1.21. The rst logical interfaces IP address is 192.168.1.51. The second logical interfaces IP address is 192.168.1.71.
q q
6-33
Tasks
Complete the following steps: 1. Open a console window to see any messages that might be sent to the console but perform the other steps in a different (non-console) window. Verify that your system has a supported version of the Solaris OS. Write the command that you use: _________________________________________________ 3. Can the system that displayed the preceding output be congured to support IPMP? Why or why not? _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 4. View and document your systems current interface information with the ifconfig command, so that you can compare the output after you congure IPMP. Write the command that you use: _____________________________________________________________ 5. Document the existing interface information. Ignore the loopback interface that has an index of 1. Write the interface type for index 2: _____________________________________________________________ 6. Congure your system to use unique MAC addresses. Write the command that you use: _____________________________________________________________ 7. 8. Reboot your system to enable unique MAC address assignment. Edit your /etc/inet/hosts le, and add entries for the interfaces. Use comments to help limit confusion. Write the command that you use: _____________________________________________________________ _____________________________________________________________ _____________________________________________________________
2.
6-34
Exercise: Configuring IPMP 9. Determine if the IPMP daemon is running on your system.
q
Write the command that you use: ________________________________________________________ Is the daemon running? Why or why not? ________________________________________________________ ________________________________________________________ ________________________________________________________
10. Congure IPMP on your system without rebooting, as follows: a. Assign the systems existing interface to an IPMP group. Write the command that you use: ________________________________________________________ b. Determine if the IPMP daemon is running on your system. Write the command that you use: ________________________________________________________ c. Is the daemon running? Why or why not? ________________________________________________________ ________________________________________________________ ________________________________________________________ 11. Congure a test interface for the physical interface that you just assigned to an IPMP group. Be sure to set the appropriate netmask and broadcast addresses. Deprecate the interface, and congure failover appropriately. Then, congure the interface so that it is up. Write the command that you use: _____________________________________________________________ _____________________________________________________________
6-35
Exercise: Configuring IPMP 12. Verify that the new physical interface is connected to the network before proceeding with the following steps: a. Congure and plumb the second physical interface. Specify the appropriate IP address and addresses for broadcast and netmask. Do not assign it membership in the IPMP group yet or bring the interface up. ________________________________________________________ b. Assign the newly plumbed interface to the appropriate IPMP group and bring the interface up. ________________________________________________________ 13. Congure a test interface for the physical interface that you just congured. Be sure to congure the netmask and broadcast addresses. Deprecate the interface, and congure failover appropriately. Then, congure the interface so that it is up. Write the command that you use: _____________________________________________________________ 14. Work with another teammate for this step. Have your teammate: a. b. c. Connect to one of your systems physical IP addresses over the network by using the telnet command. Open an edit session by using an editor of your teammates choice in the telnet session. Start typing. While your teammate is typing, either unplug the network cable to the interface or use the if_mpadm command to detach one of your systems IPMP interfaces. Write the command you need if you used the if_mpadm command: ________________________________________________________ Notice that your teammates work is frozen for a moment and then continues, even though the interface to which your teammate is connected is disabled. d. Repair the interface by reconnecting the network cable or by using the if_mpadm command. Write the command that you need if you used the if_mpadm command: ________________________________________________________
6-36
Exercise: Configuring IPMP 15. Congure your system so that the interfaces are congured automatically for IPMP at boot time. Be sure to make copies of your systems original conguration les because you will need to restore your systems conguration later in this exercise. Document your conguration steps here: _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 16. Reboot your system to test the IPMP conguration. Write the command that you use: _____________________________________________________________ Pay careful attention to the systems console while it is booting. Look for any error messages relating to interfaces and address assignments. 17. Work with another teammate for this step. Have your teammate: a. b. c. Connect to one of your systems physical IP addresses over the network by using the telnet command. Open an edit session by using an editor of your teammates choice in the telnet session. Start typing. While your teammate is typing, either unplug the network cable to the interface or use the if_mpadm command to detach one of your systems IPMP interfaces. Write the command you need if you used the if_mpadm command: ________________________________________________________ Notice that your teammates work is frozen for a moment and then continues, even though the interface to which your teammate is connected is disabled. d. Repair the interface by reconnecting the network cable or by using the if_mpadm command. Write the command that you need if you used the if_mpadm command: ________________________________________________________
6-37
Exercise: Configuring IPMP 18. To prepare your system for future exercises, complete the following steps and remove the IPMP conguration: a. b. Restore the rst hostname.interface le that you saved earlier and delete the second interface le. Reboot your system.
6-38
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
6-39
Exercise Solutions
Exercise Solutions
Solutions to the exercise are as follows: 1. Open a console window to see any messages that might be sent to the console but perform the other steps in a different (non-console) window. Verify that your system has a supported version of the Solaris OS.
# dtterm -C & 2. # cat /etc/release Solaris 10 3/05 s10_74L2a SPARC Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 22 January 2005 # 3. Can the system that displayed the preceding output be congured to support IPMP? Why or why not? Yes. This system can be congured with IPMP because it has a version of the operating environment that is at a minimum the Solaris 8 10/00 OS. 4. View and document your systems current interface information with the ifconfig command, so that you can compare the output after you congure IPMP.
# ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 # 5. Document the existing interface information. Ignore the loopback interface that has an index of 1. Write the interface type for index 2: hme0 6. Congure your system to use unique MAC addresses. Use the eeprom command. # eeprom local-mac-address?=true #
6-40
Exercise Solutions 7. # init 6 8. Edit your /etc/inet/hosts le, and add entries for the interfaces. Use comments to help limit confusion. The following is an example of the /etc/inet/hosts le: # cat /etc/inet/hosts # # Internet host table # 127.0.0.1 localhost 192.168.1.1 sys11 loghost # entries added for IPMP example 192.168.1.51 sys11-hme0-ipmp-test 192.168.1.21 sys11-local-qfe1 192.168.1.71 sys11-qfe1-ipmp-test # 9. Reboot your system to enable unique MAC address assignment.
# Existing phys hme0 interface # IPMP logical test addr for hme0 # IPMP phys interface for qfe1 # IPMP logical test addr for qfe1
Is the daemon running? Why or why not? No, the in.mpathd daemon should not be running because no interfaces were dened as part of an IPMP group.
10. Congure multipathing on your system without rebooting, as follows: a. Assign the systems existing interface to an IPMP group. Write the command that you use: # ifconfig hme0 group mpgrp-one # b. Determine if the IPMP daemon is running on your system. # pgrep -lf in.mpathd 603 /usr/lib/inet/in.mpathd # c. Is the daemon running? Why or why not? Yes, the in.mpathd daemon should be running because you just assigned an IPMP group name to an interface. Recall that the group option of the ifconfig command starts the in.mpathd daemon automatically.
6-41
Exercise Solutions 11. Congure a test interface for the physical interface that you just assigned to an IPMP group. Be sure to set the appropriate netmask and broadcast addresses. Deprecate the interface, and congure failover appropriately. Then, congure the interface so that it is up. # ifconfig hme0 addif 192.168.1.51 deprecated netmask + \ broadcast + -failover up Created new logical interface hme0:1 # 12. Verify that the new physical interface is connected to the network before proceeding with the following steps: a. Congure and plumb the second physical interface. Specify the appropriate IP address and addresses for broadcast and netmask. Do not assign it membership in the IPMP group yet or bring the interface up. Assign the newly plumbed interface to the appropriate IPMP group and bring the interface up. Console message: in.mpathd[603]: No test address configured on interface qfe1; disabling probe-based failure detection on it 13. Congure a test interface for the physical interface that you just congured. Be sure to congure the netmask and broadcast addresses. Deprecate the interface, and congure failover appropriately. Then, congure the interface so that it is up. Write the command that you use: # ifconfig qfe1 addif 192.168.1.71 deprecated netmask 0xffffff00 \ broadcast + -failover up Created new logical interface qfe1:1 # Console message: in.mpathd[603]: Test address now configured on interface qfe1; enabling probe-based failure detection on it
6-42
Exercise Solutions 14. Work with another teammate for this step. Have your teammate: a. b. c. Connect to one of your systems physical IP addresses over the network by using the telnet command. Open an edit session by using an editor of your teammates choice in the telnet session. Start typing. While your teammate is typing, either unplug the network cable to the interface or use the if_mpadm command to detach one of your systems IPMP interfaces.
# if_mpadm -d qfe1 # Console message: in.mpathd[603]: Successfully failed over from NIC qfe1 to NIC hme0 Notice that your teammates work is frozen for a moment and then continues, even though the interface to which your teammate is connected is disabled. d. # if_mpadm -r qfe1 # Console message: in.mpathd[603]: Successfully failed back to NIC qfe1 15. Congure your system so that the interfaces are automatically congured for IPMP at boot time. Be sure to make copies of your systems original conguration les because you will need to restore your systems conguration later in this exercise. a. b. Copy your systems interface les for future use: Edit the /etc/hostname.hme0 le so that it has contents similar to the following: # cp /etc/hostname.hme0 /etc/_hostname.hme0 Repair the interface by reconnecting the network cable or by using the if_mpadm command.
sys11 netmask 0xffffff00 broadcast + group mpgrp-one up addif 192.168.1.51 deprecated netmask 0xffffff00 broadcast + -failover up c. Create a /etc/hostname.qfe1 le so that it has contents similar to the following:
sys11-local-qfe1 netmask 0xffffff00 broadcast + group mpgrp-one up addif 192.168.1.71 deprecated netmask 0xffffff00 broadcast + -failover up
6-43
Exercise Solutions 16. Reboot your system to test the IPMP conguration. Write the command that you use: # init 6 # Pay careful attention to the systems console while it is booting. Look for any error messages relating to interfaces and address assignments. 17. Work with another teammate for this step. Have your teammate: a. b. c. Connect to one of your systems physical IP addresses over the network by using the telnet command. Open an edit session by using an editor of your teammates choice in the telnet session. Start typing. While your teammate is typing, either unplug the network cable to the interface or use the if_mpadm command to detach one of your systems IPMP interfaces.
# if_mpadm -d qfe1 # Console message: in.mpathd[159]: Successfully failed over from NIC qfe1 to NIC hme0 Notice that your teammates work is frozen for a moment and then continues, even though the interface to which your teammate is connected is disabled. d. # if_mpadm -r qfe1 # Console message: in.mpathd[159]: Successfully failed back to NIC qfe1 Repair the interface by reconnecting the network cable or by using the if_mpadm command.
6-44
Exercise Solutions 18. To prepare your system for future exercises, complete the following steps and remove the IPMP conguration: a. Restore the rst hostname.interface le that you saved earlier and delete the second interface le.
6-45
Module 7
Conguring Routing
Objectives
This module describes how to congure routing, routing schemes, routing types, and troubleshooting. Upon completion of this module, you should be able to:
q q q q q q q q q
Identify the fundamentals of routing Describe routing table population Describe routing protocol types Describe the routing table Congure static routing Congure dynamic routing Describe classless inter-domain routing (CIDR) Congure routing at system boot Troubleshoot routing
7-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Objectives The course map in Figure 7-1 shows how this module ts into the current instructional goal.
Conguring IP
Conguring Routing
Conguring IPv6
Figure 7-1
Course Map
7-2
Purpose of Routing
Routing is one of the important functions of the Internet layer in the TCP/IP network model. This function is primarily supported by IP. An IP router connects two or more networks and forwards IP datagrams between them. An IP router can forward IP datagrams based on the information in the IP header and information obtained from its routing table. Figure 7-2 shows the layer in the TCP/IP network model in which routing takes place.
TCP/IP Layers
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-3
Types of Routes
Routes can be dividing in to two types: direct routes and indirect routes. A direct route is a route in which the destination system is on the same local network as the source system. The source system can send the IP datagram to the destination system without any involvement from another system. This activity could be thought of as direct delivery of a datagram because no routers are required to complete the transaction. An indirect route is a route in which the destination system is not on the same local network as the source system. The IP datagram is sent through one or more routers or gateways on its way to the destination. Because the delivery of the datagram is not direct and other systems are involved in the delivery, this is called an indirect route. Note A router connects two networks running the same protocol stack. A gateway connects two networks running different protocol stacks.
7-4
Identifying the Fundamentals of Routing Figure 7-3 shows an example of direct and indirect routes. The sys11 system has a direct route to the sys13 system and an indirect route to the sys24 system through the sys21 router.
192.168.1.0
192.168.30.0
192.168.4.0
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-5
Static Routes
Static routes are permanent entries in the routing table. Static routes can be removed through manual intervention only. The most common static entries are the direct routes that a system creates to its local networks. The ifconfig command updates the routing table with static entries for networks that are directly connected to the local network interfaces when an interface is congured as up. Therefore, even in single-user mode, a system can route directly to its local network or networks because the interfaces are initialized by the ifconfig command. Static routes can also be added to your systems routing table manually by using the /etc/defaultrouter le or by using entries placed in the /etc/gateways le. The /etc/defaultrouter le denes one or more static default routes for a system. A default route denes the router to use for all destinations that do not have an explicit routing table entry. The /etc/gateways le is used to dene static indirect routes to networks and hosts.
7-6
Dynamic Routes
Dynamic routes are added to or removed from the routing table by processes, such as the in.routed daemons. When the routing table is updated with information about other reachable networks, the router can forward or deliver datagrams to these networks. The svc:/network/initial SMF service enables routing. Routing in the Solaris 10 OS is implemented by the in.routed daemon. The in.routed daemon implements three routing protocols:
q q q
Routing Information Protocol version 1 (RIPv1) Routing Information Protocol version 2 (RIPv2) ICMP Router Discovery Protocol
Routers advertise the networks that they know about. Other hosts and routers listen to these periodic announcements and update their routing table with the most current and correct information. Only those entries calculated to be the best paths to a network destination remain in the routing table.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-7
Autonomous Systems
An autonomous system (AS), as shown in Figure 7-4, is a collection of networks and routers under a single administrative control. This broad denition was incorporated into the Internet in an attempt to reduce excessively large routing tables.
)5
)5
)5
Figure 7-4 Autonomous Systems
An autonomous system number is a unique 16-bit address that is assigned by the Internet Corporation for Assigned Names and Numbers (ICANN). The Internet can be considered to be a set of autonomous systems that are connected together.
7-8
1/2 )5
1/2 )5
)5
Figure 7-5
1/2
Use of IGPs in Networks
Many routing protocols are designed to pass routing information within an autonomous system. Two popular protocols are RIP and the Open Shortest Path First (OSPF) Protocol. RIP is a distance-vector protocol that exchanges route information between IP routers. Distance-vector algorithms obtain their name from the fact that they compute the least-cost path by using information that is exchanged with other routers that describes reachable networks with their distances, in the form of hop counts. There are two versions of RIP: RIPv1 and RIPv2.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-9
Introducing Routing Protocol Types OSPF is a link-state protocol. OSPF maintains a map of the network topology instead of computing route paths that are based on distance vectors in the way that RIP computes the route paths. OSPF provides a view of the entire network and provides the shortest path choices on routes. The map on each OSPF router is updated regularly.
)5
Figure 7-6
EGP and the Border Gateway Protocol (BGP) are the two principal protocols that exchange routing information among autonomous systems.
7-10
Introducing Routing Protocol Types EGP was developed in the early 1980s. The concept of an autonomous system developed out of the research and development of EGP. BGP was developed in the mid 1990s to replace EGP. BGP replaces the distance-vector algorithm of EGP with a path-vector algorithm. The path vector that is implemented by BGP causes the routing information to include a complete path (all autonomous system numbers) from the source to the destination. This eliminates the possibility of looping problems that might arise from complex network topologies, such as the Internet. A loop is detected by BGP when the path it receives has an autonomous system listed twice. If this occurs, BGP generates an error condition.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-11
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------192.168.1.1 U 1 51 hme0 192.168.30.31 U 1 54 qfe0 192.168.1.1 U 1 0 hme0 127.0.0.1 UH 37 132 lo0
7-12
Gateway Flags
U The interface is up. H Host route. The destination is a system, not a network. G The delivery system is another system (an indirect route). D The entry was added dynamically by an ICMP redirect.
Ref Use
The current number of routes that share the same network interface (Ethernet) address. The number of datagrams that have used this route. For the localhost entry, it is a snapshot of the number of datagrams that are received. The local interface used to reach the destination.
Interface
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-13
Does the destination IP address match a host-specific route in the route table?
Yes
Encapsulate the datagram by setting the destination Ethernet address to that of the router associated with the host route table entry. Deliver the frame through the interface connected to the system.
No Encapsulate the datagram by setting the destination Ethernet address to that of the router associated with the route table entry. Deliver the frame through the interface connected to the system.
Does the network number match one found in the route table?
Yes
No Encapsulate the datagram by setting the destination Ethernet address to that of the default router found in the route table. Deliver the packet through the interface frame connected to the system.
Yes
No
Figure 7-7
7-14
Working With the Routing Table The kernel routing algorithm searches for routing table entries in the following order when determining where to send a datagram: 1. The kernel routing algorithm checks to see if the IP address is on a local network. The kernel extracts the destination IP address from the IP datagram and computes the destination network number. The destination network number is then compared with the network numbers of all of the local interfaces (interfaces that are physically attached to the system) for a match. If the destination network number matches that of a local interface network number, the kernel encapsulates the IP datagram inside an Ethernet frame and sends it through the matching local interface for delivery. 2. The kernel routing algorithm checks the routing table for a route to a matching host IP address on a non-local network. The kernel searches the routing table entries for a matching host IP address. If an entry that matches the host IP address is found, the kernel encapsulates the IP datagram inside an Ethernet frame and sends the frame to the router that is associated with that destination. 3. The kernel routing algorithm checks the routing table for a route to a matching network number. The kernel searches the routing table for a matching network number. If a matching number is found, the kernel sets the destination Ethernet address to that of the corresponding router and delivers the frame to that router. The router that receives the frame repeats the execution of the route algorithm, but leaves the destination IP address unchanged. 4. The kernel routing algorithm checks for a default route in the routing table. The kernel searches the routing table for a default entry, which signies that a default route is congured. If a default route is found, the kernel encapsulates the datagram, sets the destination Ethernet address to that of the default router, leaves the destination IP address unchanged, and delivers the datagram through the interface that is local to the default router. 5. If there is no route to the destination, the kernel routing algorithm check generates an ICMP error message. The kernel cannot forward the datagram. The error message states either No route to host or Network is unreachable.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-15
# Historical
When the /etc/inet/networks le is modied, you can use the dened network name in a command instead of a network address.
7-16
Working With the Routing Table To view how dened networks are displayed in the output from the netstat command, use the netstat command with the -r option: # netstat -r Routing Table: IPv4 Destination -------------------one two three thirty 224.0.0.0 localhost #
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------sys11 U 1 53 hme0 sys11ext UG 1 0 sys11ext UG 1 0 sys11ext U 1 56 qfe0 sys11 U 1 0 hme0 localhost UH 3 132 lo0
Observe that the destination networks are now displayed by name instead of by network number, and the loopback address is replaced by its entry from the /etc/inet/hosts le.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-17
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------192.168.1.1 U 1 53 hme0
U U UH
1 1 3
77 0 132
The 127.0.0.1 entry in the routing table is a loopback route to the local host that is created when the lo0 pseudo interface is congured.
7-18
The /etc/defaultrouter le prevents unneeded routing processes from starting. The default entries result in a smaller routing table, which reduces the processing time spent on each IP datagram. Multiple default routers can be identied, which eliminate single points-of-failure within a network. Systems that use default route entries do not depend on actual routing protocols.
The default entries created by the /etc/defaultrouter le are always present, even when the default router is not available. The system does not learn about other possible routes. All systems must have a local /etc/defaultrouter le congured properly because this le cannot be administered by a name service. This can be an administrative problem on large, evolving networks.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-19
Note It is a better practice to use IP addresses rather than the host names because it might not be possible to resolve host names. The /etc/gateways le also supports the use of directives to control the behavior of the system. For example, you can disable the RIP protocols (RIPv1 and RIPv2) by placing the following directive in the /etc/gateways le: no_rip Use the no_rip_v1in directive when you want your system to ignore RIPv1 information received on a specic interface. For example, to ignore RIPv1 information received on the qfe3 interface, use the following directive in the /etc/gateways le: no_ripv1_in if=qfe3 You can disable the RDISC protocol by placing the following directive in the /etc/gateways le: no_rdisc Refer to the gateways man page for more information on the /etc/gateways le.
7-20
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-21
Configuring Static Routes To retrieve information about a specic route, use the route get command. For example, to retrieve information about the default route, type the following command: # route get default
route to: default destination: default mask: default gateway: instructor interface: hme0 flags: <UP,GATEWAY,DONE,STATIC> recvpipe sendpipe ssthresh rtt,ms rttvar,ms 0 0 0 0 0 #
hopcount 0
mtu 1500
expire 0
To change the routing table, use the route change command. For example, to change the default route from instructor to sys41, type a command similar to the following: # route change default sys41 change net default: gateway sys41 # To continuously report any changes to the routing table, route look-up misses, or suspected network partitionings, use the route monitor command. For example, when a route is deleted, to receive the following output, type the route monitor command: # route monitor got message of size 124 RTM_DELETE: Delete Route: len 124, pid: 633, seq 1, errno 0, flags:<UP,GATEWAY,DONE,STATIC> locks: inits: sockaddrs: <DST,GATEWAY,NETMASK> 192.168.3.0 sys11ext 255.255.255.0 To ush (remove) the routing table of all gateway entries, use the route flush command. For example: # route flush 192.168.9 two two default # sys13 sys13 sys11ext 172.20.4.248 done done done done
7-22
Configuring Static Routes To cause the routing table to ush before the remaining options are evaluated, use the flush option in combination with other options. For example, to ush the routing table of gateways and to add a route to the 192.168.2.0 network, type a command similar to the following: # route -f add net 192.168.2.0 sys21ext add net 192.168.2.0: gateway sys21ext # To add a route manually to the multicast address range of 224239, type the command: # route add 224.0/4 uname -n
Note You can nd the command syntax in the /lib/svc/method/net-svc SMF method le. To dene a route that uses a specic netmask to support a network, use the -netmask option with the route command. For example, to add a route to the 192.168.3.0 network that uses a netmask of 255.255.255.224, type the command: # route add net 192.168.3.0 sys31ext -netmask 255.255.255.224 add net 192.168.3.0: gateway sys31ext # To achieve the same results in a more concise way, specify the length of the subnet mask after the destination. For example, enter: 192.168.3.0/27 The 255.255.255.224 netmask for the 192.168.3.0 network is 11111111.11111111.11111111.11100000 in binary format. There are 27 ones (1s) in the binary netmask, hence the /27 after the network address. A command similar to the following is identical to the command in the preceding example: # route add net 192.168.3.0/27 sys31ext add net 192.168.3.0/27: gateway sys31ext #
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-23
Note The in.routed process does not detect any routing table changes that are performed by other programs on the machine, for example, routes that are added, deleted, or ushed as a result of the route command. Therefore, do not perform these types of changes while the in.routed process is running. Instead, shut down the in.routed process, make the required changes, and then restart the in.routed process. This ensures that the in.routed process learns of any changes. Network names can also be used to dene routes. To add a route to the two network, dened in the /etc/inet/networks le, type a command similar to the following: # route add net two 192.168.30.31 add net two: gateway 192.168.30.31 #
Note Use of the metric argument in the route command is no longer supported.
7-24
RIP Version 1
RIP version 1 is a distance-vector protocol that exchanges route information between IP routers. RIP version 1 does not support VLSM or CIDR.
Distance-Vector Protocols
Distance-vector algorithms compute the least-cost path of a route by using information that is exchanged with other routers. This information describes how far away (in distance) reachable networks are from the sending or receiving system. This distance is measured by a metric known as a hop. The total number of hops is called the hop count. The efciency of a route is determined by its distance from the source to the destination. RIP maintains only the best route to a destination. When multiple paths to a destination exist, only the rst path with the lowest hop count is maintained. Figure 7-8 shows the least hop count between a source host and a destination host.
Metric = 1
(propagated to route tables)
Router
Router Destination
Metric = 2
(discarded)
Host
Figure 7-8
RIP species a number of features that make its operation more stable in the face of rapid network topology changes. These stability features include a hop-count limit, hold-down states, split horizons, triggered updates, and route poisoning.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-25
Hop-Count Limits
RIP permits a maximum hop count of 15. A destination greater than 15 hops away is tagged as unreachable. The maximum hop count of RIP greatly restricts its use in large networks but prevents a problem called count to innity from causing endless network routing loops. This upper limit of 15 does not cause problems since RIP is an IGP and is used within autonomous systems only.
Hold-Down States
Hold-down states prevent regular update messages from inappropriately reinstating a route that has gone bad. When a route goes down, neighboring routers detect this condition. These routers then calculate new routes and send route update messages to inform their neighbors of the route change. This activity begins a wave of route updates that lter through the network. These updates do not instantly arrive at every network device. It is possible that a device that has yet to be informed of a network failure can send a regular update message (indicating that a route that has just gone down is still available) to a device that has just been notied of the network failure. In this case, the latter device now contains (and potentially advertises) incorrect route information. Hold-down states tell routers to hold down any changes that can affect recently removed routes for a specied period of time. The hold-down period is usually calculated to be just greater than the period of time that is necessary to update the entire network with a route change.
Split Horizons
Split horizons derive from the fact that it is never useful to send information about a route back in the direction from which it came. The split-horizon rule prohibits this from happening. This helps prevent two-node routing loops.
Triggered Updates
Triggered updates propagate changing route information quickly throughout the network. As the router becomes aware that new routes are available or that existing routes are not available, it advertises this information immediately rather than waiting until the next 30-second (default) advertisement interval occurs.
7-26
Route Poisoning
When a router learns that a destination is no longer available, it issues a triggered update for that destination. This update includes a hop-count advertisement of 16. All other hosts and routers consider the destination as unreachable, and the hosts and routers remove the route entry. This is to ensure that other systems do not attempt to use the bad route.
RIP Version 2
RIP version 2 was developed to address some of the limitations of RIPv1, while maintaining backward compatibility combined with the simplicity of RIPv1. RIPv2 has the following characteristics:
q q
RIPv2 supports VLSM and non-byte-bounded subnet masks. RIPv2 uses muticast to advertise routes. The 224.0.0.9 multicast address is reserved for RIPv2. RIPv2 includes support for simple authentication of messages.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-27
"/usr/sbin/in.routed" "" "kill -TERM cat /var/tmp/in.routed.pid" "/usr/lib/inet/in.ripngd" "-s" "kill -TERM cat /var/tmp/in.ripngd.pid"
7-28
Configuring Dynamic Routing To stop the in.routed daemon, type the command: # routeadm -u -d ipv4-routing # To start the in.routed daemon, type the command: # routeadm -u -e ipv4-routing # The -d option changes the contents of the /etc/inet/routing.conf le to list the argument as disabled explicitly. The -e option changes the contents of the /etc/inet/routing.conf le to list the argument as enabled explicitly. The -u option updates the systems current conguration by using the contents of the /etc/inet/routing.conf le. Note Using the routeadm command without the -u option causes the conguration to be changed in the /etc/inet/routing.conf le, but does not change the current conguration of the system. To cause the system to revert to default behavior at system boot (start the in.routed daemon unless the /etc/defaultrouter le is not empty), type the command: # routeadm -r ipv4-routing #
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-29
Is independent of routing protocol Uses a multicast address Results in small routing tables Provides redundancy through multiple default-route entries
Note The RDISC Protocol was previously implemented by using the in.rdisc daemon. While the in.rdisc daemon is still present in the Solaris 10 OS, it is no longer started at system boot. In the Solaris 10 OS, the in.routed daemon has been enhanced to include equivalent route discovery funtionality. Some disadvantages of the RDISC protocol are:
q
An advertisement period of 10 minutes can result in a black hole. A black hole is the time period in which a router path is present in the table, but the router is not actually available. The default lifetime for a non-advertised route is 30 minutes (three times the advertising time interval). Routers must still run a routing protocol, such as RIP, to learn about other networks. The RDISC protocol provides a default route from hosts to routers, not between routers.
The behavior of the RDISC protocol can be controlled by entries in the /etc/gateways le. For example, to change the advertisement interval to 100 seconds, create the entry: rdisc_interval=100
7-30
ICMP Redirects
ICMP provides control and error messages. ICMP on a router or gateway attempts to send reports of problems to the original source if an IP datagram cannot be delivered for some reason. ICMP datagrams are always encapsulated in IP. ICMP redirects occur when a system uses more than one default route. If the router determines a more efcient route, or if there is only one way to forward the datagram, it redirects the datagram using the better or only route and reports that route to the sender. Figure 7-9 on page 7-32 shows an ICMP redirect process where the sys21 system needs to communicate with the server1 system and has a default route of sys11. The information does reach the server1 system and the sys11 system sends an ICMP redirect to the sys21 system, telling it that the best route to the server1 system is through the instructor system. The sending systems routing table is updated with the new information. The drawback to this method of routing is that for every ICMP redirect, there is a separate entry in the sending systems routing table. This action can lead to a large routing table. However, this method of routing also ensures that the datagrams that are going to all reachable hosts are taking the shortest route. Caution An attacker might forge redirect errors to install false routes, which might initiate a denial of service attack if the newly specied router is not a router at all. There are rules governing valid redirect errors, all of which can be spoofed easily. Use this ndd command to ignore IPv4 ICMP redirect errors: ndd -set /dev/ip ip_ignore_redirect 1. Refer to the Sun BluePrints document Solaris Operating Environment Network Settings for Security, available at: http://www.sun.com/solutions/blueprints/1200/ network-updt1.pdf.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-31
server1
4 5
Datagram
Datagram
instructor
sys11
Figure 7-9
ICMP Redirect
7-32
Introducing CIDR
Introducing CIDR
The rapid growth of the Internet in the early 1990s created concerns about the ability to scale and support future growth. The most severe problems are:
q q
Depletion of Class B networks creates a problem for large organizations because Class C addresses with 254 as their maximum number of host addresses are not large enough. Assigning multiple Class C networks to companies will, over time, dramatically increase the number of routes in the routing table. Large routing tables cause poor router performance because the router spends excessive time performing address lookups.
Purpose of CIDR
A task force was created by the Internet Engineering Task Force (IETF) to develop a solution to the scale and growth problems. The solution became known as CIDR, or supernetting, and is a way to make more-efcient use of the IP address space. CIDR is documented in RFC 1517, RFC 1518, RFC 1519, and RFC 1520. Three important features of CIDR that address scalability and growth issues for the Internet are:
q q q
Elimination of network classes (Class A, Class B, and Class C) Block address allocation Hierarchical routing
Operation of CIDR
CIDR uses classless addresses. Netmasks are referred to as network prexes and are used to create networks of varying sizes. The network prex is expressed in the following notation: X.X.X.X/Y. The value Y is an integer value that species the number of 1s in the netmask. For example, using /18 is equivalent to a netmask of 255.255.192.0. The rst 18 bits identify the network, and the remaining 14 bits identify the host.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-33
pppppppp.pppppppp.pp000000.00000000
Prefix Route Prefix Length n = Network s = Subnet h = Host
Figure 7-10 CIDR Prex This use of variable length subnet masks means making efcient use of network address space by supernetting or subnetting. Supernetting is the combining of two or more contiguous network addresses. For example, 192.168.2/24 (11000000.10101000.00000010, 0xffffff00, or 255.255.255.0) and 192.168.3/24 (11000000.10101000.00000011, 0xffffff00, or 255.255.255.0) can be supernetted by using a prex of /23 (11000000.10101000.0000001X, 0xfffffe00, or 255.255.254.0). The systems on the supernetted networks must all use the following in order to properly communicate without a router:
q q
Valid host addresses for this supernetted network range from 192.168.2.1192.168.3.254 (510 addresses). The 192.168.2.255 and 192.168.3.0 addresses are valid host addresses, but they are not used in the Solaris 10 OS.
7-34
Introducing CIDR Following is an example that congures an interface on this supernetted network: # ifconfig eri0 plumb 192.168.3.239/23 broadcast + up # ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 eri0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4 inet 192.168.3.239 netmask fffffe00 broadcast 192.168.3.255 ether 0:3:ba:2a:9d:7a # netstat -rnv
IRE Table: IPv4 Destination Mask Gateway Device Mxfrg Rtt Ref Flg --------------- --------------- --------------- ------ ----- ---- --- --172.20.221.6 255.255.255.255 192.168.2.254 1500* 0 1 UGH 192.168.2.0 255.255.254.0 192.168.3.239 eri0 1500* 0 1 U 127.0.0.1 255.255.255.255 127.0.0.1 lo0 8232* 0 1 UH # Out In/Fwd ---- -----0 0 0 0 10 0
A CIDR and VLSM aware routing protocol, such as RIPv2, must be used on the router that connects this supernetted network to other networks. Subnetting is the application of a netmask on an IP address to divide the network up into smaller pieces. CIDR and VLSM permit a portion of the IP address space to be divided into successively smaller pieces. For example, an Internet service provider (ISP) could be allocated blocks of address space, which they then assign in subset address blocks to smaller ISPs. These smaller ISPs can then supply an even smaller subset of addresses to a customer or private organization. CIDR and VLSM make this aggregation and subdivision of address space possible. The routing table entry for each ISP or organization reects the rst address in the block assigned to it, for example, 204.106.8.0/22, even though there can be additional network addresses that are associated with the block. A range of CIDR addresses is known as a CIDR block. This support of network addresses eliminates the number of entries required in the backbone routing tables.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-35
Introducing CIDR Consider an ISP that requires IP addresses for 1000 clients. Based on 254 clients per Class C network, the ISP requires four Class C networks. You can supernet four Class C networks, for example:
q q q q
Figure 7-11 shows the network addresses that can result from applying different network prexes.
Figure 7-11 CIDR Network Addresses It can be seen from Figure 7-11 that the four networks being considered have identical values in their rst 22 bits. Therefore, if you consider the rst 22 bits only of an address on any of these networks to represent the network portion of the address, every address on the four networks has the same network address. The networks can therefore be supernetted and a single route can be used to reach all four networks.
7-36
204.106.0.0/21
Internet Service Provider
204.106.8.0/22 (1024 Host Addresses) 204.106.0.0/20 (4096 Host Addresses) Address Range 204.106.8.0204.106.11.0
Figure 7-12 Supernetting Example An ISP who is given a block of supernetted addresses can then divide the range into different sized blocks to suit the needs of their customers, while minimizing the number of routing table entries required.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-37
Initializing a Router
When a system boots, the system rst checks the contents of the /etc/inet/routing.conf le. If the ipv4-routing or ipv4-forwarding options are set explicitly to either enabled or disabled, the setting is applied. If either option has not been set explicitly, then the system determines whether or not to enable or disable each option. IPv4 routing is disabled if the /etc/defaultrouter le is not empty. If the /etc/defaultrouter le is not present, or is empty, IPv4 routing is enabled (the in.routed daemon is started). IPv4 forwarding is disabled by default and must be enabled explicitly by using the routeadm command.
7-38
Configuring Routing at Boot Time Figure 7-13 shows how the /lib/svc/method/net-init method congures a system for IPv4 forwarding and routing.
Start
/etc/defaultrouter
exist?
Does
Yes
No
Yes
Yes
End
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-39
Turn on IP forwarding on all of the interfaces: Turn on IP forwarding for specic interfaces:
# routeadm -u -e ipv4-forwarding
q
# ifconfig specific_interface router 3. Stop and restart the in.routed daemon: # routeadm -u -d ipv4-routing # routeadm -u -e ipv4-routing # The system now functions as a router.
# cat /etc/hostname.qfe2 sample-hostname-for-qfe2 # This causes the interfaces to be congured by the SMF methods at boot time.
7-40
Configuring Routing at Boot Time 3. Add an entry to the /etc/inet/hosts le so that the interface can be assigned an IP address at boot time. The entry looks similar to the following:
# grep sample /etc/inet/hosts 192.168.19.1 sample-hostname-for-qfe2 # 4. Do either of the two following procedures:
q q
Reboot the system with the init 6 command. Complete the following steps to enable the conguration without rebooting: 1. Use the ifconfig command to congure the new interface as appropriate, but do not enable the interface at this stage:
# ifconfig qfe2 plumb 192.168.19.1 netmask + broadcast + # 2. Use the routeadm command to disable IP forwarding explicitly:
# routeadm -u -d ipv4_forwarding # 3. # ifconfig qfe2 up # The system is now a multihomed host that has connectivity to more than one network and can be used without concern of advertising routes and potentially causing routing issues on any of the networks to which it belongs. Use the ifconfig command to enable the interface:
Initializing a Non-Router
Disabling IP forwarding stops a router from forwarding packets between the networks to which it is connected. To initialize a non-router, use the routeadm command to disable IP forwarding on all interfaces by typing the following command: # routeadm -u -d ipv4_forwarding
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-41
Troubleshooting Routing
Troubleshooting Routing
One of the most challenging tasks that a network administrator has to perform is troubleshooting routing. Router conguration and troubleshooting relies on mastering other basic network skills.
The device information tree recognizes the additional interfaces. Use the prtconf command, and search for the interface with the grep command. For example, to determine if the qfe interface is in the device tree, use the following command: instance instance instance instance #0 #1 #2 #3
The ifconfig command reports the interface to be congured as expected. For example, to determine if the qfe0 interface is congured as expected, use the following command:
# ifconfig qfe0 qfe0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.30.31 netmask ffffff00 broadcast 192.168.30.255 ether 8:0:20:ac:9b:20 # If the interface is up, examine the inet (IP address), netmask, and broadcast entries, and make sure that they are set correctly. If the IP address is set incorrectly, check the contents of the /etc/inet/hosts le. If the netmask and broadcast addresses are wrong, check the contents of the /etc/inet/netmasks le.
q
The correct device and le name are dened for the interface. For example, if you are conguring the qfe0 interface, to verify that the hostname.qfe0 le is correct, type the command: 113 Nov 16 14:58 /etc/hostname.qfe0
7-42
Troubleshooting Routing
q
The name that is assigned to the interface is correct. For example, to determine if qfe0 has an assigned host name of sys11ext, type the command:
The name that is dened in the hostname.interface le exists in the /etc/inet/hosts le and is associated with the correct address. For example, to determine if sys11 has an assigned IP address of 192.168.1.1, type the command:
# grep sys11 /etc/inet/hosts 192.168.30.31 sys11ext 192.168.1.1 sys11 192.168.1.21 sys11-data-qfe1 192.168.1.51 sys11-test-hme0 192.168.1.71 sys11-test-qfe1 #
# # # #
Data address for hme0 Data address for qfe1 qfe0:1 Test address for hme0 qfe1:1 Test address for qfe1
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-43
Troubleshooting Routing
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------sys33ext UG 1 0 sys11 U 1 189 hme0 sys32ext UG 1 0 sys11ext U 1 175 qfe0 sys11 U 1 0 hme0 localhost UH 3 132 lo0
Observe how some of the destinations have names instead of numbers. This can lead to errors when you congure a new interface. To report addresses as numbers instead of names, use the -n option with the netstat command. For example: # netstat -rn Routing Table: IPv4 Destination -------------------192.168.3.0 192.168.1.0 192.168.2.0 192.168.30.0 224.0.0.0 127.0.0.1 #
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------192.168.30.33 UG 1 0 192.168.1.1 U 1 191 hme0 192.168.30.32 UG 1 0 192.168.30.31 U 1 176 qfe0 192.168.1.1 U 1 0 hme0 127.0.0.1 UH 3 132 lo0
7-44
Preparation
Refer to the lecture notes as necessary to perform the tasks listed. Populate your systems /etc/inet/hosts le with all of the hosts in the class network if this is not already done. Your /etc/inet/hosts le should have contents similar to the following: # cat /etc/inet/hosts # # Internet host table # 127.0.0.1 localhost # SA-300-S10 host information 192.168.30.31 sys11ext 192.168.1.1 sys11 192.168.1.2 sys12 192.168.1.3 sys13 192.168.1.4 sys14 # 192.168.30.32 sys21ext 192.168.2.1 sys21 192.168.2.2 sys22 192.168.2.3 sys23 192.168.2.4 sys24 # 192.168.30.33 sys31ext 192.168.3.1 sys31 192.168.3.2 sys32 192.168.3.3 sys33 192.168.3.4 sys34 # 192.168.30.30 instructor #
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-45
Exercise: Reviewing Routing Configuration Caution If your system is designated by the instructor as being a router, verify that its second interface is not congured. If the interface is congured, the command output will not match the solutions properly for the exercises. Figure 7-14 shows the classrooms network diagram. Take a few moments to familiarize yourself with the diagram.
instructor xxx.xxx.xxx.xxx 192.168.30.0 192.168.1.0 .31 192.168.2.0 .30 .32 .33 192.168.3.0
Internet
.1 sys11
.1 sys21 sys31
.1
.2 sys12
.2 sys22 sys32
.2
.2 sys13
.3 sys23 sys33
.3
.4 sys14
.4 sys24 sys34
.4
7-46
Tasks
Complete the following steps: 1. In your own words, dene each of the following routing schemes: a. Static route ________________________________________________________ ________________________________________________________ ________________________________________________________ b. Dynamic route ________________________________________________________ ________________________________________________________ ________________________________________________________ c. Default route ________________________________________________________ ________________________________________________________ ________________________________________________________ 2. What is a multihomed host? _____________________________________________________________ _____________________________________________________________ 3. Dene the term autonomous system. _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 4. In your own words, describe the differences between an interior gateway protocol and an exterior gateway protocol. _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 5. Give two examples of an interior gateway protocol. _____________________________________________________________ _____________________________________________________________
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-47
Exercise: Reviewing Routing Configuration 6. Give two examples of an exterior gateway protocol. _____________________________________________________________ _____________________________________________________________ 7. Explain the purpose of ICMP redirects. _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________
Caution Do not proceed if your system has more than one physical interface congured. If additional interfaces are congured, remove the relevant /etc/hostname.interface les, and use the ifconfig command or reboot the system to remove the interface conguration. The success of this exercise depends on your system having only one congured physical interface. If the /etc/defaultrouter le or the /etc/gateways le exists on your system: 1. Remove the le/s. 2. Reboot the system in order to restore it to a default state for this exercise. a. Which class of IPv4 address (A, B, or C) is assigned to your system? ________________________________________________________ b. How many bits of your IPv4 address are currently being used for your network address? ________________________________________________________
7-48
Exercise: Reviewing Routing Configuration 9. Use the netstat -r command to observe your current routing table. Write down which route destinations are available. _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ 10. Use the netstat command with the -rn options. What is the difference between this output and the previous netstat -r output? _____________________________________________________________ 11. Use the ps command to determine if the routing daemon is currently running on the system. _____________________________________________________________ _____________________________________________________________ _____________________________________________________________
b.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-49
Exercise: Reviewing Routing Configuration 14. Congure IP forwarding and IP routing for IPv4 to become enabled on the next boot of the router. Write the command that you use: _____________________________________________________________ Note Do not proceed beyond this point until everyone in the class has completed this step. 15. Reboot the router. Write the command that you use: _____________________________________________________________ 16. Verify that each router is correctly congured. a. Display the conguration of each network interface. How many external interfaces are congured and running now? ________________________________________________________ b. Display the contents of the routing table. Which network destinations are now available? ________________________________________________________ ________________________________________________________ ________________________________________________________ c. Determine that the routing daemon is running on the router. ________________________________________________________ ________________________________________________________ ________________________________________________________ What does this daemon do? ________________________________________________________ ________________________________________________________ ________________________________________________________
7-50
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-51
7-52
b.
c. d.
26. Verify that the process has been terminated. Write the command that you use: _____________________________________________________________
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-53
7-54
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-55
7-56
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-57
7-58
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-59
Exercise Solutions
Exercise Solutions
Solutions to the exercise are as follows: 1. In your own words, dene each of the following routing schemes: a. Static route Static routes are routes that are do not time-out and must be removed manually. Rebooting the system removes the static entries. The most common static entry is a system that routes datagrams to the locally connected networks. b. Dynamic route Dynamic routing means that the routing environment changes. Dynamic routing identies other network destinations that are not connected directly but are reachable through a router. After the routing table identies the other reachable networks, the identied router can forward or deliver the datagrams. c. Default route A default route is a table entry that permits a system to dene default routes to use if a route entry for a specic destination does not exist. It is used for all indirectly connected workstations. The default routers must be reliable. There is no need to dene every reachable network. All indirectly connected datagram destinations go to the default router. 2. What is a multihomed host? A multihomed host is a host that has more than one physical network interface and does not forward IP datagrams between networks. 3. Dene the term autonomous system. An autonomous system is a collection of networks and routers under a single administrative control. This intentionally broad denition was incorporated into the Internet to handle overly large routing tables. 4. In your own words, describe the differences between an interior gateway protocol and an exterior gateway protocol. A routing protocol used within an autonomous system is called an interior gateway protocol. A routing protocol that communicates routes between autonomous systems is called an exterior gateway protocol. 5. Give two examples of an interior gateway protocol. OSPF protocol and RIP.
7-60
Exercise Solutions 6. 7. Give two examples of an exterior gateway protocol. EGP and BGP. Explain the purpose of ICMP redirects. ICMP redirects are used most commonly when a system uses default routing. If the router determines a more efcient way to forward the datagram, it redirects the datagram using the best route and reports the correct route to the sender.
router# ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 The netmask is ffffff00. The broadcast address is 192.168.1.255. Caution Do not proceed if your system has more than one physical interface congured. If additional interfaces are congured, remove the relevant /etc/hostname.interface les, and use the ifconfig command or reboot the system to remove the interface conguration. The success of this exercise depends on your system having only one congured physical interface. If the /etc/defaultrouter le or the /etc/gateways le exist on your system: 1. Remove the le/s. 2. Reboot the system in order to restore it to a default state for this exercise. a. Which class of IPv4 address (A, B, or C) is assigned to your system? Class C (this might be different in your classroom). b. How many bits of your IPv4 address are currently being used for your network address? Twenty-four bits (this might be different in your classroom).
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-61
Exercise Solutions 9. Use the netstat -r command to observe your current routing table. Write down which routing destinations are available.
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------sys11 U 1 0 hme0 sys11 U 1 0 hme0 localhost UH 2 6 lo0
10. Use the netstat command with the -rn options. What is the difference between this output and the previous netstat -r output? The netstat -rn command displays the table in numeric form. router# netstat -rn Routing Table: IPv4 Destination -------------------192.168.1.0 224.0.0.0 127.0.0.1
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------192.168.1.1 U 1 0 hme0 192.168.1.1 U 1 0 hme0 127.0.0.1 UH 2 6 lo0
11. Use the ps command to determine if the routing daemon is currently running on the system. router# ps -ef | grep in[.] root 153 1 0 04:42:54 ? 0:00 /usr/sbin/in.routed
7-62
Exercise Solutions
router# grep sys11ext /etc/inet/hosts 192.168.30.31 sys11ext # router to get to instructor->Internet 14. Congure IP forwarding and IP routing for IPv4 to become enabled on the next boot of the router. Write the command that you use: router# routeadm -e ipv4-forwarding router# routeadm -e ipv4-routing Caution Do not proceed beyond this point until everyone in the class has completed this step. 15. Reboot the router. Write the command that you use: router# init 6
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-63
Exercise Solutions 16. Verify that each router is correctly congured. a. router# ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4, VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 qfe0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.30.31 netmask ffffff00 broadcast 192.168.30.255 ether 8:0:20:ac:9b:20
How many external interfaces are congured and running now? Two interfaces: hme0 and qfe0. The interfaces might be different on your system. b. router# netstat -r Routing Table: IPv4 Destination -------------------192.168.1.0 192.168.2.0 192.168.30.0 224.0.0.0 localhost Display the contents of the routing table.
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------sys11 U 1 0 hme0 sys21ext UG 1 0 sys11ext U 1 1 qfe0 sys11 U 1 0 hme0 localhost UH 2 6 lo0 Which network destinations are now available? You should see the following routes if all of the groups in the classroom have congured their routers (you may have to wait up to 5 minutes):
q q q q q q
c.
Determine that the routing daemon is running on the router. 0:00 /usr/sbin/in.routed
What does this daemon do? The /usr/sbin/in.routed daemon sends ICMP router advertisement messages and RIP messages.
7-64 Network Administration for the Solaris 10 Operating System
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Exercise Solutions
Why is this daemon running? The daemon is responsible for listening for ICMP router advertisements and RIP messages. b. Run the netstat -r command, and record the current network destinations.
non-router# netstat -r Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------192.168.1.0 sys12 U 1 1 hme0 192.168.2.0 sys11 UG 1 1 hme0 192.168.30.0 sys11 UG 1 1 hme0 224.0.0.0 sys12 U 1 0 hme0 localhost localhost UH 2 6 lo0 c. Run the ifconfig -a command, and record the current netmask and broadcast values.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-65
Exercise Solutions
Notice that routers send direct advertisements to the multicast adddress to which clients are listening.
7-66
Exercise Solutions
Which new type of entry is now present? How was it entered into the routing table? The newest entry is a default route. The system learns the default route from routers on the subnet through the router discovery ICMP messages. 22. Use the ps command on the non-router systems to determine if the routing daemon is now running. non-router# ps -ef | grep in[.] root 91 1 0 12:36:05 ? Why is this daemon running? The in.routed daemon is running because the daemon is invoked by default, at boot time. This is controlled by the routeadm utility. You can view the conguration by looking at the contents of the /etc/inet/routing.conf le. 0:00 /usr/sbin/in.routed
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-67
Exercise Solutions 25. View the output from the snoop utility. Look for the router notication when the in.routed daemon terminated gracefully. Hint: Look for multicasts and ICMP messages. ETHER: ----- Ether Header ----ETHER: ETHER: Packet 8 arrived at 12:46:52.27 ETHER: Packet size = 50 bytes ETHER: Destination = 1:0:5e:0:0:1, (multicast) ETHER: Source = 8:0:20:ac:9b:20, Sun ETHER: Ethertype = 0800 (IP) ETHER: ... ... IP: Protocol = 1 (ICMP) IP: Header checksum = ea98 IP: Source address = 192.168.1.1, sys11 IP: Destination address = 224.0.0.1, 224.0.0.1 ... ... a. Examine the snoop trace. Did you see the router notication when the in.routed daemon terminated gracefully? Yes. b. What was the ETHER destination, as reported by the snoop trace? 1:0:5e:0:0:1. c. d. What protocol did the router notication use? ICMP. What was the destination IP address of the router notication? 224.0.0.1. 26. Verify that the process has been terminated. router# ps -ef | grep routed root 94 1 0 10:52:12 ? 0:00 grep routed
7-68
Exercise Solutions
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-69
Exercise Solutions IP: Source address = 192.168.1.1, sys11 IP: Destination address = 224.0.0.1, 224.0.0.1 IP: No options IP: ICMP: ----- ICMP Header ----ICMP: ICMP: Type = 9 (Router advertisement) ICMP: Code = 0 (Lifetime 270s [1]: {sys11 0}) ... ...
non-router# while true > do > date > netstat -rn | grep default > sleep 20 > done Tue Dec 4 17:17:44 MST 2004
7-70
Exercise Solutions default Tue Dec default ... ... sys11 4 17:18:04 MST 2004 sys11 UG UG 1 1 0 0
4 17:20:24 MST 2004 sys11 4 17:20:44 MST 2004 sys11 4 17:21:04 MST 2004 4 17:21:25 MST 2004
UG UG
1 1
0 0
Approximately how long did it take for the default entry to be removed from the table? Four and a half (4-1/2) minutes. When done, stop the script by pressing the Control+C key sequence. 33. Stop the in.routed daemon on the non-router systems. non-router# ps -ef | grep in[.] root 91 1 0 12:36:05 ? non-router# non-router# routeadm -u -d ipv4-routing 0:00 /usr/sbin/in.routed
Caution Do not proceed beyond this point until everyone in the class has completed this step.
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-71
Exercise Solutions
7-72
Exercise Solutions
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------sys11 U 1 16 hme0 sys21ext UG 1 0 sys31ext UG 1 0 sys11ext U 1 14 hme0 sys11 U 1 0 hme0 localhost UH 2 6 lo0
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-73
Exercise Solutions
Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------sys12 U 1 1 hme0 sys11 UG 1 2 sys11 UG 1 0 sys11 UG 1 0 sys12 U 1 0 hme0 localhost UH 2 6 lo0
Are the networks described in the /etc/inet/networks le present in the routing table? Yes. Caution Do not proceed beyond this point until everyone in the class has completed this step. 42. Reboot the routers. Schedule a job so that the non-routers reboot two minutes later. Check to see if the in.routed daemon was started on each of the non-router systems. Explain why you see the results that you do.
7-74
Exercise Solutions
Conguring Routing
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
7-75
Exercise Solutions 48. Remove the /etc/inet/routing.conf le. non-router# rm /etc/inet/routing.conf 49. Reboot the system. non-router# init 6
7-76
Module 8
Conguring IPv6
Objectives
This module describes IPv6 management, features, conguration and troubleshooting, and IPv6 addressing and interfaces. Upon completion of this module, you should be able to:
q q q q q q q q q
Describe IPv6 Describe IPv6 addressing Describe IPv6 autoconguration Describe IPv6 unicast address types Describe IPv6 multicast address types Enable IPv6 Manage IPv6 Congure 6to4 routing Congure IPv6 multipathing
8-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Objectives The course map in Figure 8-1 shows how this module ts into the current instructional goal.
Conguring IP
Conguring Routing
Conguring IPv6
Figure 8-1
Course Map
8-2
Introducing IPv6
Introducing IPv6
IPv6 is the most recent version of the IP specication. Refer to RFC 2460 for a description of IPv6. In 1991, the Internet Architecture Board (IAB) sponsored a working group to address a pending IP address shortage. The IAB predicted that all Class B networks would be allocated by 1994 and that all IP addresses would be allocated by 2002 (see Christian Huitema, Routing in the Internet, Second Edition, 2000).
IPv4 address shortage IPv6 implements a 128-bit address scheme that supports 340,282,366,920,938,463,463,347,607,431,768,211,456 nodes. IPv4, with a 32-bit address scheme, provides for more than 4 billion addresses. However, many of these addresses were not usable because classful addressing techniques wasted large numbers of possible IPv4 addresses. A technique for using IP addresses on private networks without exposing them to the Internet is dened in RFC 1918. This technique helps to alleviate the IP address shortage. Autoconguration IPv6 systems congure their IPv6 addresses automatically. There is no need to assign manually an IPv6 address, as is done in IPv4 by editing the /etc/inet/hosts le and creating /etc/hostname.xxx les. Autoconguration allocates IPv6 addresses to systems automatically. Administrators, however, still have to administer the name-to-IPv6 address mapping.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-3
Introducing IPv6
Features of IPv6
The IPv6 features are:
q
Expanded addressing The address size is increased from 32-bit addresses to 128-bit addresses. Simplied header format This format reduces the number of header elds in an IPv6 datagram from 10 elds to 6 elds. Improved extension header and option support This feature supports extension headers in addition to the primary header. Extension headers are located between the required IPv6 datagram header and the payload; therefore, they provide special treatment of some datagrams without a performance penalty. Quality of service A ow label in the header provides for ows. Flows identify a sequence of datagrams from the same source to the same destination when the source requests special handling of the specied datagram sequence by the intervening routers. Authentication and privacy headers An authentication header (AH) provides the authentication services, and the encapsulating security payload (ESP) header provides privacy.
8-4
Address Types
Like IPv4, IPv6 has three types of addresses that you can use to communicate across a network. For sending messages, IPv6 supports:
q q q
IPv6 differs from IPv4 in that IPv6 does not provide broadcast addresses as a mechanism for communicating with other hosts on a subnet. In IPv6 it is normal for several IPv6 addresses to be assigned to the same physical interface.
Unicast Addressing
With the unicast address type, a unique address is assigned to an interface. A unicast datagram is sent to a single machine with the matching destination IPv6 address. Unicast addressing is called point-to-point addressing in IPv4.
Multicast Addressing
With the multicast address type, an address is assigned to a group of systems. Datagrams are delivered to all interfaces as identied by the multicast address. Multicast addressing in IPv6 replaces broadcast addressing in IPv4.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-5
Anycast Addressing
With the anycast address type, an address is assigned to a group of systems. Anycast addresses identify the nearest member of a group of systems that provide a particular type of service. Datagrams are delivered to the nearest interface member, as identied by the routing protocol, instead of being delivered to all members of a group.
Eight 16-bit hexadecimal numbers, for example: fe80:0000:0000:0000:0a00:20ff:feb5:4137 Eight 16-bit hexadecimal numbers in which 0s (zeros) are represented by a single leading 0, for example: fe80:0:0:0:a00:20ff:feb5:4137
IPv6 permits address compression. You can compress leading or embedded 0s (zeros) with a double colon (::). To compress an address, you can represent consecutive 16-bit 0 numbers with double colons (::). You can only do this once in any address, for example: fe80::a00:20ff:feb5:4137
Format Prefixes
The format prex (FP) in the address indicates the type of IPv6 address that is used. For example:
q
Link-local addresses are intended to identify hosts on a single network link. They are similar to the way Ethernet addresses are used to communicate on an Ethernet segment or subnet. Site-local addresses are valid across an intranet. They are similar to an organization choosing a random IPv4 address class for the organization, but not connecting to the Internet.
8-6
Aggregatable global addresses are valid across the Internet. They are similar to an ofcially registered IPv4 address class for organizations connected to the Internet. A multicast address is an identier for a group of systems. A node can belong to any number of multicast groups.
Table 8-1 shows several common types of IPv6 addresses. Table 8-1 Initial Allocation of Format Prexes From RFC 2373 Allocation Link-local unicast addresses Site-local unicast addresses Aggregatable global-unicast addresses Multicast addresses FP (Binary) 1111 1110 10 1111 1110 11 001 1111 1111 FP (Hexadecimal) FE8 FEC 2 or 3 FF
Note Refer to RFC 2373 for information about FPs that are not related to the Solaris OS. The FP byte is binary. As dened in RFC 2373, unused trailing bits in the byte are not shown. For example, the FP represented by 001 is 0x2 or 0x3, because the two binary values are 0010 and 0011. The FP represented by 001 should not be confused with 0001, which is equal to 0x1.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-7
Determining what information should be autocongured, such as addresses and routing prexes Verifying the uniqueness of link-local addresses on the link
Stateful Autoconfiguration
Stateful autoconguration requires the additional setup of a DHCP server. For this reason, stateful autoconguration is not a preferred conguration method. Stateful autoconguration and stateless autoconguration, as dened in IPv6, can coexist and operate together. Stateful autoconguration supplies address and service information similar to the way that DHCP provides information in IPv4.
Stateless Autoconfiguration
The stateless mechanism permits a host to generate its own addresses by using a combination of information this is available locally and information that is advertised by routers. Routers advertise prexes that identify the subnets associated with a link, while hosts generate an interface identier that uniquely identies an interface on a subnet. An address is formed by combining the advertised prex and the interface identier. In the absence of routers, a host can generate only link-local addresses. However, link-local addresses are sufcient for permitting communication among systems that are attached to the same link.
8-8
08:00:20 is the company identier (CID) b5:41:37 is the vendor-supplied identier (VID)
To build an interface identier, perform the following steps: 1. Obtain the MAC address. Figure 8-2 shows this address.
08:00:20:b5:41:37
+1,
81,
Figure 8-2 2.
MAC Address
Convert the address to binary format. Figure 8-3 shows the address in binary format.
+1, 81,
&
"
Figure 8-3
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-9
Introducing IPv6 Autoconfiguration 3. Toggle bit 7, the universal/local bit, which is the seventh bit from the left. Figure 8-4 shows the address after conversion.
+1, 81,
"
Figure 8-4 4.
Insert two additional octets, 0xFF and 0xFE, between the CID and the VID. This converts the MAC address to an interface identier. Figure 8-5 shows the resulting interface identier.
+1, 81,
"
Figure 8-5 5.
Convert the binary address to hexadecimal format, and include colons to show the IPv6-autocongured interface identier address of 0a00:20ff:feb5:4137. This unique interface identier is the basis of autocongured IPv6 addresses on the system. This unique interface identier is only 64 bits of the 128-bit address and is called an end-unit identier-64 (EUI-64).
8-10
Link-Local Addresses
Link-local addresses are valid on a local network link only. Link-local addresses are not forwarded by routers. The rst 10 bits of the address prex identify an address as a link-local address. The link-local address format prex is 1111 1110 10 in binary, or FE8 in hexadecimal, as shown in Figure 8-6.
*EJI
1111111010
#" *EJI
All Zeros (0)
$" *EJI
Interface ID
fe80::a00:20ff:feb5:4137
Figure 8-6
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-11
Site-Local Addresses
Site-local addresses are similar to link-local addresses but can be routed through an intranet. Intranet routers can forward site-local addresses through the intranet but not outside of the intranet. The rst 10 bits of the address prex identify an address as a site-local address.The site-local address format prex is 1111 1110 11 in binary, or FEC in hexadecimal format, as shown in Figure 8-7.
*EJI
1111111011
!& *EJI
All Zeros (0)
$ *EJI
Subnet ID
$" *EJI
Interface ID
fec0::0003:a00:20ff:feb5:4137
Figure 8-7
Figure 8-8
A prex The assigned prex for aggregatable global addresses (001). The top-level aggregator (TLA) The identifying number of the Internet authority that assigned the provider portion of the address, for example, the IANA. The next level aggregator (NLA) The address identier that is assigned to a company or organization by its ISP.
8-12
The site-level aggregator (SLA) The subnet address assigned to networks in the company or organization. Interface ID The portion of the IP address that derives from the MAC address, that is, the EUI-64 address.
Prefix Notation
RFC 2373 describes how IPv6 addresses use prex notation. IPv6 addresses have two parts. The rst part is the format prex. The second part is the interface identier and is analogous to the IPv4 host portion. An example of a subnet prex address is: fec0::0003:a00:20ff:feb5:4137/64 The /64 indicates that the subnet prex is 64 bits in length. The rst 64 bits of the address contain a subnet mask. The address can be broken into a subnet prex and a node address or into an interface identier.
q q
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-13
8-14
FP
8 Bits
Flags Scope
4 Bits : 4 Bits ::::
Multicast Group ID
112 Bits
ff02:0:0:0:0:0:0:1
Figure 8-9
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-15
Scope Bits
Multicast addresses include four scope bits after the ag bits. The scope bits determine how far the multicast datagram is routed:
q
Node-local FF01. Route to all members of the group on the same node as the sender. Link-local FF02. Route to all members of the group on the same link as the sender. Site-local FF05. Route to all members of the group at the same site as the sender. Organization-local FF08. Route to all members of the same organization as the sender. Global FF0E. Route to all members of the group on the Internet.
FF01:0:0:0:0:0:0:2 Node-local routers FF02:0:0:0:0:0:0:2 Link-local routers FF05:0:0:0:0:0:0:2 Site-local routers FF02:0:0:0:0:0:0:9 Link-local, RIPv2 routers
8-16
Membership query Determines which groups have members on a network Membership report Reports if a system is part of a multicast group Leave group Determines when a system leaves a multicast group
All of the IGMP functionality has moved to ICMP version 6, which is dened in RFC 1885.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-17
Enabling IPv6
Enabling IPv6
You can enable IPv6 from the command line or by creating specic les that are read by the /lib/svc/method/net-init and /lib/svc/method/net-physical SMF methods at boot time. Note You can also enable IPv6 during initial installation of the Solaris 10 OS.
Perform address autoconguration Systems congure an address for an interface automatically. This eliminates the common duplicate IP address problem experienced on IPv4 networks. Obtain MAC addresses Neighbor solicitation messages are sent by a node to determine the link-layer address of a neighbor or to verify that a neighbor is still reachable by a cached link-layer address. A solicitation can be sent if a node does not have an entry for a system in its neighbor cache. This is similar to the ARP in IPv4. Neighbor solicitations are also used for duplicate address detection. Gather reachability information about paths to active neighbors The in.ndpd daemon sends unsolicited neighbor advertisements to discover newly available systems. The in.ndpd daemon can also send unsolicited neighbor advertisements to announce a link-layer address change. Systems use received neighbor advertisements to update their neighbor cache with the MAC address of the sender. Discover routers In IPv4, hosts had no way of knowing how to locate routers unless the host had a static route dened or it was running a type of routing protocol. IPv6 neighbor discovery replaced the function that the IPv4s RDISC protocol provided. Systems send router solicitations to prompt routers to send router advertisements.
8-18
Enabling IPv6 Routers advertise their presence with various link and Internet parameters, either periodically or in response to a router solicitation message.
q
Router advertisements contain prexes used for on-link determination or address conguration, a suggested hop limit value, and other information. Systems use router advertisements to populate their neighbor cache with the MAC address of the router. When an interface becomes enabled, hosts can send router solicitations that request routers to generate router advertisements immediately, rather than at their next scheduled time. This enables the host to become part of a network more quickly than it would have if it waited for a normal router advertisement.
Provide router redirects A router informs a host of a better rst-hop node to reach a particular destination.
/etc/hostname6.interface This le has similar functionality to the /etc/hostname.interface le but contains no IP address or host name information.
Note The /etc/hostname6.interface le can still contain an IPv6 address or a resolvable host name to disable autoconguration and enforce a given IPv6 address.
q
/etc/inet/ipnodes This le has similar functionality to the /etc/inet/hosts le. There is no link from the /etc/ipnodes le. The /etc/inet/ipnodes le can contain both IPv6 and IPv4 addresses.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-19
Enabling IPv6
Note If an application is IPv6-capable, the /etc/inet/ipnodes le is consulted rst, and then the /etc/inet/hosts le is consulted. The /etc/inet/hosts le is the only le that is contacted for IPv4 applications, and it can only contain IPv4 addresses.
# ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 823 2 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:90:b5:c7 # 2. Create the /etc/hostname6.hme0 le to cause the interface to congure with IPv6, and then reboot the system.
8-20
Notice how both the lo0 and hme0 interfaces have inet6 components and that each interface has an inet6 address. Recall from a previous step that an IPv6 address was not dened. 4. View the startup log les in the /var/svc/log directory.
sys12-v6
The /etc/inet/ipnodes le on each system on the local link that is running IPv6 can be congured with a similar entry. You can now address a system by its IPv6 interface by using the sys12-v6 host name. For example: # uname -n sys11 # ping sys12-v6 sys12-v6 is alive #
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-21
Enabling IPv6 Name service lookup conguration for IPv6 is similar to name service lookup conguration for IPv4. The following are additional les:
q
Two new NIS IPv6 maps are the ipnodes.byname and ipnodes.byaddr maps. These maps have similar functionality to the hosts.byname and hosts.byaddr les in IPv4. An additional NIS+ IPv6 table is created: ipnodes.org_dir. This table has similar functionality to the hosts.org_dir. table in IPv4. A new DNS record type, AAAA (quad A) is available. The reverse is similar to a normal PTR record but is much longer. Following is an example of an AAAA record and a PTR record: IN AAAA fec0::a00:20ff:feb5:4137
sys22.two.edu.
The ipnodes line is used in the nsswitch.conf le for IPv6 system name resolution.
To view multicast group information for IPv6 interfaces, perform the following command, which uses the g option for groups: # netstat -f inet6 -g Group Memberships: IPv6
8-22
Enabling IPv6 If ----lo0 lo0 hme0 hme0 hme0 Group RefCnt --------------------------- -----ff02::1:ff00:1 1 ff02::1 1 ff02::202 1 ff02::1:ff90:b5c7 1 ff02::1 2
# You can use the ifconfig command to obtain IPv6-specic information by using the inet6 address family parameter. For example, to view the conguration of all IPv6 interfaces, perform the command:
# ifconfig -a inet6 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 825 2 index 1 inet6 ::1/128 hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 inet6 fe80::a00:20ff:fe90:b5c7/10 #
Router discovery Prex discovery Address autoconguration Address resolution Neighbor unreachability detection
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-23
Enabling IPv6
2.
8-24
Enabling IPv6 3. Use the ifconfig command to congure the qfe0 interface.
A link-local address starts with FE8. A site-local address starts with FEC. An aggregatable global-unicast address starts with 2 or 3.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-25
Enabling IPv6 The following example demonstrates how to congure this information:
q q
Router advertisements are to be sent out to all interfaces. A site-local address on which the hme0 interface has a prex of fec0:0:0:9255::0/64. An aggregatable global-unicast address on which the hme0 interface has a prex of 2000:0:0:9255::0/64. A site-local address on which the qfe0 interface has a prex of fec0:0:0:9256::0/64. An aggregatable global-unicast address on which the qfe0 interface has a prex of 2000:0:0:9256::0/64.
Complete the following steps: 1. Dene the /etc/inet/ndpd.conf le to have the following contents:
# cat /etc/inet/ndpd.conf # Send router advertisements out all interfaces ifdefault AdvSendAdvertisements on # # Advertise an unregistered (bogus) site local prefix and global # prefix using the default lifetimes prefix fec0:0:0:9255::0/64 hme0 prefix 2000:0:0:9255::0/64 hme0 # prefix fec0:0:0:9256::0/64 qfe0 prefix 2000:0:0:9256::0/64 qfe0 #
8-26
Reboot the system. Proceed to the Step 3 to congure the system from the command line.
b. 3.
Observe how the site-local and aggregatable global-unicast addresses are assigned to logical interfaces.
To congure your system without rebooting it, complete the following steps: a. Switch IPv6 IP forwarding on. or
# routeadm -u -e ipv6-forwarding # /usr/sbin/ndd -set /dev/ip ip6_forwarding 1 # b. Congure the system to send routing redirects. # /usr/sbin/ndd -set /dev/ip ip6_send_redirects 1 # c. Congure the system to ignore routing redirects for IPv6. # /usr/sbin/ndd -set /dev/ip ip6_ignore_redirect 1 #
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-27
Enabling IPv6 d. Start the in.ndpd daemon that reads the /etc/inet/ndpd.conf le. Restart it if it is already running.
# /usr/lib/inet/in.ndpd # e. Start the in.ripngd daemon, and force it to supply routing information to the network.
8-28
Enabling IPv6 Figure 8-10 shows how the /lib/svc/method/net-init method congures a system for IPv6 forwarding and routing.
Start
Disable IPv6-forwarding
/etc/inet/ndpd.conf
exists?
Yes
Enable IPv6-routing
Yes
End
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-29
Enabling IPv6
Gateway System
IPv4 Network
Gateway System
Figure 8-11 Connecting IPv6 Networks Over an IPv4 Network Implementing the 6to4 mechanism requires the use of a particular IPv6 address prex. The 2002 prex, part of the aggregatable global-unicast address space, is reserved for 6to4 addresses. The 2002 prex is combined with the IPv4 address used on the boundary router to generate the format prex for all networks served by a particular boundary router. The IPv4 address of the boundary router needs to be converted to hexadecimal notation as part of the process. For example, if the boundary routers IPv4 address 192.168.30.31, 192 is c0 in hexadecimal, 168 is a8 in hexadecimal, 30 is 1e in hexadecimal, and 31 is 1f in hexadecimal, giving the representation c0a8:1e1f.
8-30
Enabling IPv6
A 16-bit prex that denotes the address as a 6to4 address (2002) A 32-bit, public IPv4 address on the boundary router in hexadecimal notation A 16-bit subnet ID unique to each subnet One subnet ID is used by the end point of the tunnel
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-31
Enabling IPv6 This congures the tunnel endpoint with a subnet number of zero (0) and a host number of one (1). The tunnel conguration can be seen in the output from the ifconfig -a command: # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2 inet 192.168.1.3 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:f8:b7:23 qfe0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 3 inet 192.168.30.31 netmask ffffff00 broadcast 192.168.30.255 ether 8:0:20:f8:b7:23 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2 inet6 fe80::a00:20ff:fef8:b723/10 ether 8:0:20:f8:b7:23 hme0:1: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index 2 inet6 2002:c0a8:1e1f:1:a00:20ff:fef8:b723/64 hme0:2: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index 2 inet6 fec0::1:a00:20ff:fef8:b723/64 ip.6to4tun0: flags=2300041<UP,RUNNING,ROUTER,NONUD,IPv6> mtu 8212 index 4 inet tunnel src 192.168.30.31 tunnel hop limit 60 inet6 2002:c0a8:1e1f::1/64 #
To congure a 6to4 tunnel with an explicit IPv6 host address as the tunnel end point, use the syntax: ifconfig ip.6to4tun0 inet6 tsrc IPv4_Address IPv6_Address up
Note The 6to4 tunnel end point resides on its own IPv6 subnet. The subnet ID used for the 6to4 tunnel must not be used on any of the local IPv6 networks. For example, to congure the tunnel end point as host ID 1 (one) on subnet ffff: # ifconfig ip.6to4tun0 inet6 tsrc 192.168.30.31 2002:c0a8:1e1f:ffff::1/64 up # The 6to4 tunnels can be congured at system boot by creating an /etc/hostname.ip.6to4tun0 le. The contents of the le are the arguments that follow the inet6 keyword on the command line. For example: # cat /etc/hostname6.ip.6to4tun0 tsrc 192.168.30.31 2002:c0a8:1e1f:ffff::1/64 up
8-32
Enabling IPv6
# uname -n sys11 # pgrep -lf ndpd 108 /usr/lib/inet/in.ndpd # # uname -n sys21 # pgrep -lf ndpd 1497 /usr/lib/inet/in.ndpd
q
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-33
Gateway Flags Ref Use If --------------------------- ----- --- ------ ----2000::9257:a00:20ff:fec0:449d U 1 0 hme0:1 fec0::9257:a00:20ff:fec0:449d U 1 0 hme0:2 2000::9256:a00:20ff:feb8:2b08 U 1 0 qfe0:1 fec0::9256:a00:20ff:feb8:2b08 U 1 0 qfe0:2 fe80::a00:20ff:feb9:7223 UG 1 0 qfe0 fe80::a00:20ff:feb9:7223 UG 1 0 qfe0 fe80::a00:20ff:feb8:2b08 U 1 0 qfe0 fe80::a00:20ff:fec0:449d U 1 1 hme0
Send an ICMP echo request to a remote system to determine if you receive an ICMP echo response from the remote system. Do not attempt to communicate with the link-local address of a system across a router because routers do not forward link-local addresses.
8-34
Managing IPv6
Managing IPv6
The tasks you use to manage IPv6 interfaces are similar to the tasks you use to manage IPv4 interfaces.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-35
Managing IPv6
8-36
Congure IPv6 on your local subnet Congure 6to4 routing so that you can contact IPv6 systems on other subnets Congure the whole classroom network to use IPv6
Preparation
Refer to the lecture notes as necessary to perform the tasks listed. Work with another group for these tasks if your system functions as a router in the classroom.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-37
Exercise 1: Configuring IPv6 4. View the systems interface conguration after the boot. ______________________________________________ Write your systems IPv6 IP address: ______________________________________________ Can this IPv6 IP address be used by systems on other subnets to contact your system? Why or why not? ______________________________________________ ______________________________________________ ______________________________________________ 5. Ask another group on your subnet for its link-local IPv6 IP address. Write the IP address: ______________________________________________ 6. Use the ping command to verify that your system can send and receive ICMP echo messages with another local IPv6 system. ______________________________________________ 7. View the current routing table so that you will be able to see the difference after the router is recongured later. ______________________________________________ 8. Use the ps command to determine which routing daemons are currently running on the system. ______________________________________________ Describe why the process or processes are running. ______________________________________________ ______________________________________________ ______________________________________________ ______________________________________________
8-38
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-39
Exercise 1: Configuring IPv6 7. Create an /etc/inet/ndpd.conf le to advertise a 6to4 address prex and a site-local address prex to your local subnet. Make the subnet ID for both prexes the same as the subnet ID used in your IPv4 addresses. (For example, if you are on subnet 192.168.1.0, use 1 (one) as your subnet ID). Use the following prex lines:
q
For sys11: prefix fec0:0:0:1::0/64 prefix 2002:c0a8:1e1f:1::0/64 hme0 hme0 hme0 hme0 hme0 hme0
8. 9.
Reboot the router. ______________________________________________ Log in to the router and view the conguration of its network interfaces. ______________________________________________
10. View the routing table on the router. ______________________________________________ 11. View the daemons running on the router. ______________________________________________
8-40
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-41
Exercise 1: Configuring IPv6 5. Edit the correct le on your router to cause it to use a site-local and an aggregated global-unicast address for each interface on the router. Use the following addresses:
q
192.168.1.0 uses fec0:0:0:1::0/64 and 2000:0:0:1::0/64 192.168.2.0 uses fec0:0:0:2::0/64 and 2000:0:0:2::0/64 192.168.3.0 uses fec0:0:0:3::0/64 and 2000:0:0:3::0/64 192.168.30.0 uses fec0:0:0:30::0/64 and 2000:0:0:30::0/64
q q q
Congure the le to cause the routing daemon to advertise IPv6 out of all interfaces. Be sure to remove an existing prex 2002 lines. Document your work. 6. 7. Reboot the router systems. ______________________________________________ Verify that each router is congured correctly. Display the conguration of each network interface. ______________________________________________ 8. 9. View your routers IPv6 routing table. What routes are available? ______________________________________________ Determine which routing daemons are running on the router. Which options are running with each routing daemon, and why? ______________________________________________ ______________________________________________ ______________________________________________ ______________________________________________ ______________________________________________ ______________________________________________
8-42
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-43
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
8-44
Exercise 1 Solutions
Exercise 1 Solutions
The following solution is specic to an individual system. Your results will be different if you are working on different systems.
Display the conguration of the systems interfaces before you make any changes.
# 2. Create the relevant le to cause your systems primary interface to be congured with both IPv4 and IPv6. Reboot the system.
# touch /etc/hostname6.hme0 3. # init 6 # INIT: New run level: 6 svc.startd: The system is coming down. ... ...
Please wait.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-45
# The systems primary interface is now congured with both the IPv4 and IPv6 protocol stacks. Write your systems IPv6 IP address: fe80::a00:20ff:fec1:4b44/10 Can this IPv6 IP address be used by systems on other subnets to contact your system? Why or why not? No, other systems cannot contact this IPv6 IP address because the address has an FP of fe8, which is a link-local address and is limited to the local subnet. The FP denes the scope that an IPv6 datagram is able to travel. 5. Ask another group on your subnet for its link-local IPv6 IP address. Write the IP address: fe80::a00:20ff:fe90:b5c7/10 6. Use the ping command to verify that your system can send and receive ICMP echo messages with another local IPv6 system.
8-46
View the current routing table so that you will be able to see the difference after the router is recongured later.
Flags Ref Use If ----- --- ------ ----U 1 0 hme0 U 1 0 hme0 U 1 0 hme0 UH 1 0 lo0
# 8. Use the ps command to determine which routing daemons are currently running on the system. 0:00 /usr/sbin/in.routed 0:00 /usr/lib/inet/in.ndpd
Describe why the process or processes are running. The in.routed daemon is attempting to locate routers by sending solicitation, and is listening for IPv4 routing messages after it boots. The in.ndpd daemon provides the autoconguration components of neighbor discovery and is not really considered to be a routing daemon.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-47
Exercise 1 Solutions
# ifconfig hme0 inet6 plumb up # touch /etc/hostname6.hme0 # 2. Enable IPv6 routing. # routeadm -u -e ipv6-routing # routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------IPv4 forwarding enabled enabled IPv4 routing enabled enabled IPv6 forwarding enabled enabled IPv6 routing enabled enabled IPv4 routing daemon routing daemon args routing daemon stop IPv6 routing daemon routing daemon args routing daemon stop 3. "/usr/sbin/in.routed" "" "kill -TERM cat /var/tmp/in.routed.pid" "/usr/lib/inet/in.ripngd" "-s" "kill -TERM cat /var/tmp/in.ripngd.pid"
# routeadm -u -e ipv6-forwarding #
8-48
# ifconfig ip.6to4tun0 inet6 plumb # ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 qfe2: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 3 inet 192.168.30.31 netmask ffffff00 broadcast 192.168.30.255 ether 8:0:20:ac:9b:22 hme0: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2 inet6 fe80::a00:20ff:feb9:7223/10 ether 8:0:20:b9:72:23 ip.6to4tun0: flags=2300040<RUNNING,ROUTER,NONUD,IPv6> mtu 65515 index 4 inet tunnel src 0.0.0.0 tunnel hop limit 60 inet6 fe80::32:0:10/10
5.
Congure the IPv6 tunnel using the routers IPv4 address on the 30.X network (for example 192.168.30.31), and use network number 0 (zero) and host number 1 (one) for the tunnel end point.
# ifconfig ip.6to4tun0 inet6 tsrc 192.168.30.31 up # cat /etc/hostname6.ip.6to4tun0 tsrc 192.168.30.31 up 6. Create an /etc/hostname6.ip.6to4tun0 le so that the 6to4 tunnel is created automatically with the appropriate source when the system boots.
# echo tsrc 192.168.30.31 up > /etc/hostname6.ip.6to4tun0 # cat /etc/hostname6.ip.6to4tun0 tsrc 192.168.30.31 up ______________________________________________ 7. Create an /etc/inet/ndpd.conf le to advertise a 6to4 address prex and a site-local address prex to your local subnet. Make the subnet ID for both prexes the same as the subnet ID used in your IPv4 addresses. (For example, if you are on subnet 192.168.1.0, use 1 (one) as your subnet ID). Use the following prex lines:
q
For sys11: prefix fec0:0:0:1::0/64 prefix 2002:c0a8:1e1f:1::0/64 hme0 hme0 hme0 hme0
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-49
Exercise 1 Solutions
q
# cat /etc/inet/ndpd.conf # Send router advertisements out all interfaces ifdefault AdvSendAdvertisements on # Advertise an unregistered (bogus) global prefix and a site # local prefix using the default lifetimes # Site-local address prefix fec0:0:0:1::0/64 hme0 # 6to4 address prefix 2002:c0a8:1e1f:1::0/64 hme0 # 8. # init 6 9. # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:f8:b7:23 qfe0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 3 inet 192.168.30.31 netmask ffffff00 broadcast 192.168.30.255 ether 8:0:20:f8:b7:23 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2 inet6 fe80::a00:20ff:fef8:b723/10 ether 8:0:20:f8:b7:23 hme0:1: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index 2 inet6 2002:c0a8:1e1f:1:a00:20ff:fef8:b723/64 hme0:2: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index 2 inet6 fec0::1:a00:20ff:fef8:b723/64 ip.6to4tun0: flags=2300041<UP,RUNNING,ROUTER,NONUD,IPv6> mtu 8212 index 4 inet tunnel src 192.168.30.31 tunnel hop limit 60 inet6 2002:c0a8:1e1f::1/64 #
Reboot the router. Log in to the router and view the conguration of its network interfaces.
8-50
Flags Ref Use Interface ----- ----- ------ --------U 1 38 hme0 UG 1 0 qfe0 U 1 34 qfe0 U 1 0 hme0 UH 9 152065 lo0
Routing Table: IPv6 Destination/Mask --------------------------2002:c0a8:1e1f:1::/64 fec0:0:0:1::/64 2002:c0a8:1e1f::/64 2002::/16 fe80::/10 ff00::/8 ::1 #
Gateway Flags Ref Use If --------------------------- ----- --- ------ ----2002:c0a8:1e1f:1:a00:20ff:fef8:b723 U 1 6 hme0:1 fec0::1:a00:20ff:fef8:b723 U 1 0 hme0:2 2002:c0a8:1e1f::1 U 1 0 ip.6to4tun0 2002:c0a8:1e1f::1 U 1 1 ip.6to4tun0 fe80::a00:20ff:fef8:b723 U 1 18 hme0 fe80::a00:20ff:fef8:b723 U 1 0 hme0 ::1 UH 30 494 lo0
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-51
Exercise 1 Solutions
Display the routers interface conguration so that you can back out of the conguration at any stage.
# 2. Uncongure the 6to4 tunnel interface # ifconfig ip.6to4tun0 inet6 down unplumb # rm /etc/hostname6.ip.6to4tun0 # 3. Determine which, if any, processes related to IPv6 routing are running and, if so, with what options. Why are the processes running with these options?
8-52
Exercise 1 Solutions root root root 161 158 163 1 1 1 0 14:25:20 ? 0 14:25:20 ? 0 14:25:20 ? 0:00 /usr/lib/inet/in.ndpd 0:01 /usr/sbin/in.routed 0:00 /usr/lib/inet/in.ripngd -s
The in.routed daemon runs to supply routing information to the local networks. This is possible even if this system is not congured as a router. 4. Verify that the les that you use to congure the routers interfaces with IPv6 at boot time exist. If they do not, create them.
# touch /etc/hostname6.hme0 # touch /etc/hostname6.qfe0 # 5. Edit the correct le on your router to cause it to use a site-local and an aggregated global unicast address for each interface on the router. Use the following addresses:
q
192.168.1.0 uses fec0:0:0:1::0/64 and 2000:0:0:1::0/64 192.168.2.0 uses fec0:0:0:2::0/64 and 2000:0:0:2::0/64 192.168.3.0 uses fec0:0:0:3::0/64 and 2000:0:0:3::0/64 192.168.30.0 uses fec0:0:0:30::0/64 and 2000:0:0:30::0/64
q q q
Congure the le to cause the routing daemon to advertise IPv6 out of all interfaces. Be sure to remove existing prex 2002 lines. Document your work. Edit the sys11 routers /etc/inet/ndpd.conf le to contain contents similar to the following: sys11# cat /etc/inet/ndpd.conf # Send router advertisements out all interfaces ifdefault AdvSendAdvertisements on # Advertise an unregistered (bogus) global prefix and a site # local prefix using the default lifetimes # Site-local addresses: prefix fec0:0:0:2::0/64 qfe0 prefix fec0:0:0:30::0/64 hme0 # Aggregatable global unicast addresses prefix 2000:0:0:2::0/64 qfe0 prefix 2000:0:0:30::0/64 hme0 Edit the sys21 routers /etc/inet/ndpd.conf le to contain contents similar to the following: sys21# cat /etc/inet/ndpd.conf
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-53
Exercise 1 Solutions # Send router advertisements out all interfaces ifdefault AdvSendAdvertisements on # Advertise an unregistered (bogus) global prefix and a site # local prefix using the default lifetimes # Site-local addresses: prefix fec0:0:0:2::0/64 qfe0 prefix fec0:0:0:30::0/64 hme0 # Aggregatable global unicast addresses prefix 2000:0:0:2::0/64 qfe0 prefix 2000:0:0:30::0/64 hme0
8-54
Please wait.
Verify that each router is congured correctly. Display the conguration of each network interface.
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:b9:72:23 qfe0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.30.31 netmask ffffff00 broadcast 192.168.30.255 ether 8:0:20:ac:9b:20 lo0: flags=2000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2 ether 8:0:20:b9:72:23 inet6 fe80::a00:20ff:feb9:7223/10 hme0:1: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index inet6 2000::1:a00:20ff:feb9:7223/64 hme0:2: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index inet6 fec0::1:a00:20ff:feb9:7223/64 qfe0: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 3 ether 8:0:20:ac:9b:20 inet6 fe80::a00:20ff:feac:9b20/10 qfe0:1: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index inet6 2000::30:a00:20ff:feac:9b20/64 qfe0:2: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index inet6 fec0::30:a00:20ff:feac:9b20/64
2 2
3 3
8.
View your routers IPv6 routing table. What routes are available?
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-55
Exercise 1 Solutions 9. Determine which routing daemons are running on the router. Which options are running with each routing daemon, and why? 0:00 /usr/sbin/in.routed 0:00 /usr/lib/inet/in.ndpd 0:00 /usr/lib/inet/in.ripngd -s
# ps -ef | grep in[.] root 107 1 0 12:36:01 ? root 116 1 0 12:36:02 ? root 118 1 0 12:36:02 ? #
The in.routed process runs to supply routing information to the local networks. This is possible even if this system is not congured as a router. The in.ndpd process provides the autoconguration components of neighbor discovery and is not really considered to be a routing daemon. The in.ripngd process runs with the -s option to force the process to supply routing information. This is possible even if this system is not congured as a router.
11. Use the ping command to send ICMP echo requests from a nonrouter system to the site-local address of another non-router system on another subnet to verify that the routing is functioning as expected. (You may have to wait enough time for the routing information to be updated after the prior steps system boot). # ping fec0::2:a00:20ff:feb8:30c8 ICMPv6 Address Unreachable from gateway ... # ping fec0::2:a00:20ff:feb8:30c8 fec0::2:a00:20ff:feb8:30c8 is alive # ....
8-56
Exercise 1 Solutions 12. Determine which routing daemons are running on each non-router system. Which options are running with each routing daemon, and why? # ps -ef | grep in[.] root 102 1 0 12:51:52 ? root 109 1 0 12:51:52 ? # 0:00 /usr/sbin/in.routed 0:00 /usr/lib/inet/in.ndpd
The in.routed daemon is listening for IPv4 routing information. 13. Display the systems routing table. What type of routes are in the routing table (link-local, site-local, or global)?
# netstat -rn -f inet6 Routing Table: IPv6 Destination/Mask --------------------------2000:0:0:1::/64 fec0:0:0:1::/64 fe80::/10 ff00::/8 default ::1 #
Flags Ref Use If ----- --- ------ ----U 1 0 hme0:1 U 1 0 hme0:2 U 1 0 hme0 U 1 0 hme0 UG 1 0 hme0 UH 1 0 lo0
The fe8, fec, and 200 FPs indicate that the system is aware of link-local, site-local, and global networks. 14. Display the systems interface conguration. Notice the logical addresses that provide access to the different networks based on the FP.
# ifconfig -a lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.3 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:c1:4b:44 lo0: flags=2000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:c1:4b:44 inet6 fe80::a00:20ff:fec1:4b44/10 hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::1:a00:20ff:fec1:4b44/64 hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::1:a00:20ff:fec1:4b44/64 #
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-57
8-58
Configuring IPv6 Multipathing View your systems interface conguration to have a baseline before you make any changes to the system, so that you know the state of the system if you need to restore the system for any reason. Perform the command: # ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4, VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.3 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:c1:4b:44 lo0: flags=2000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:c1:4b:44 inet6 fe80::a00:20ff:fec1:4b44/10 hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::1:a00:20ff:fec1:4b44/64 hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::1:a00:20ff:fec1:4b44/64 #
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-59
Note You must reboot the system for EEPROM changes to take place. You can also set the EEPROMs local-mac-address? variable from the OpenBoot PROM.
Note You only see this and subsequent failure messages if you are viewing the console.
8-60
Configuring IPv6 Multipathing You can ignore the preceding message because the interface is still being congured. View the changes to the interface: # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.3 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp6-one ether 8:0:20:c1:4b:44 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:c1:4b:44 inet6 fe80::a00:20ff:fec1:4b44/10 groupname mpgrp6-one hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::1:a00:20ff:fec1:4b44/64 hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::1:a00:20ff:fec1:4b44/64 #
Observe the additional information in the preceding ifconfig output for the inet6 hme0 interface output that indicates the new multipath group information: groupname mpgrp6-one
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-61
Configuring IPv6 Multipathing To view the changes to the interface, use the ifconfig command: # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.3 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp6-one ether 8:0:20:c1:4b:44 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2 ether 8:0:20:c1:4b:44 inet6 fe80::a00:20ff:fec1:4b44/10 groupname mpgrp6-one hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::1:a00:20ff:fec1:4b44/64 hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::1:a00:20ff:fec1:4b44/64 #
Observe the additional information that is reported by the preceding ifconfig command for the hme0 interface: hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2 ether 8:0:20:c1:4b:44 inet6 fe80::a00:20ff:fec1:4b44/10 groupname mpgrp6-one This information includes the following:
q
The NOFAILOVER ag indicates that the interface must not be used as a failover interface if another interface in the group fails. You do not need to mark IPv6 test addresses as deprecated. The RUNNING ag is monitored by the in.mpathd daemon to ensure that communications are functioning as expected.
Be aware that the logical interface cannot function if the physical interface fails.
8-62
Conguring the qfe1 Interface as Part of the hme0 Interface Multipath Group
Half of the interface conguration is complete. Now, you congure the qfe1 interface with IPv4, netmask, and broadcast addresses. You must also congure it as part of the same IPMP group as the hme0 interface. Type the following: # ifconfig qfe1 plumb 192.168.1.200 netmask + broadcast + group \ > mpgrp6-one up # Congure the new interface to also support IPv6. You do not need to assign the interface to group because the IPv6 interface assumes the same group membership as the IPv4 interface. Type the following: # ifconfig qfe1 inet6 plumb up To view the changes to the interface, use the ifconfig command:
# ifconfig -a lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.3 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp6-one ether 8:0:20:c1:4b:44 qfe1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.1.200 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp6-one ether 8:0:20:b7:4e:5d lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2 ether 8:0:20:c1:4b:44 inet6 fe80::a00:20ff:fec1:4b44/10 groupname mpgrp6-one hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::1:a00:20ff:fec1:4b44/64 hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::1:a00:20ff:fec1:4b44/64 qfe1: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 3 ether 8:0:20:b7:4e:5d inet6 fe80::a00:20ff:feb7:4e5d/10 groupname mpgrp6-one qfe1:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 3 inet6 2000::1:a00:20ff:feb7:4e5d/64 qfe1:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 3 inet6 fec0::1:a00:20ff:feb7:4e5d/64 #
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-63
Configuring IPv6 Multipathing Observe the additional information that is reported by the preceding ifconfig command for the qfe1 interface: qfe1: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 3 ether 8:0:20:b7:4e:5d inet6 fe80::a00:20ff:feb7:4e5d/10 groupname mpgrp6-one The interface index number is incremented to 3 because every physical interface obtains its own index number (which is identical for a physical interfaces different virtual interfaces): 1 for lo0, 2 for hme0, and 3 for qfe1.
8-64
Configuring IPv6 Multipathing To view the changes to the interface, use the ifconfig command: # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.3 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp6-one ether 8:0:20:c1:4b:44 qfe1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.1.200 netmask ffffff00 broadcast 192.168.1.255 groupname mpgrp6-one ether 8:0:20:b7:4e:5d lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2 ether 8:0:20:c1:4b:44 inet6 fe80::a00:20ff:fec1:4b44/10 groupname mpgrp6-one hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::1:a00:20ff:fec1:4b44/64 hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::1:a00:20ff:fec1:4b44/64 qfe1: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 3 ether 8:0:20:b7:4e:5d inet6 fe80::a00:20ff:feb7:4e5d/10 groupname mpgrp6-one qfe1:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 3 inet6 2000::1:a00:20ff:feb7:4e5d/64 qfe1:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 3 inet6 fec0::1:a00:20ff:feb7:4e5d/64 #
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-65
If the TRACK_INTERFACES_ONLY_WITH_GROUPS variable is set to yes, the ifconfig commands group option starts the in.mpathd daemon automatically. If the TRACK_INTERFACES_ONLY_WITH_GROUPS variable is set to no, then the /lib/svc/method/net-init SMF method starts the in.mpathd daemon at boot time. If you need to start the in.mpathd daemon from the command line, use the following command as the root user: # /sbin/in.mpathd #
8-66
The system now remains available to users even if either of the multipath network interfaces fail or become unusable for any reason.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-67
View your systems interface conguration to have a baseline before you make any changes to the system, so that you know the state of the system if you need to restore the system for any reason. # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.3 netmask ffffff00 broadcast 192.168.1.255 ether 8:0:20:c1:4b:44 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:c1:4b:44 inet6 fe80::a00:20ff:fec1:4b44/10 #
8-68
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-69
Note You must reboot the system for EEPROM changes to take place. You can also set the EEPROMs local-mac-address? variable from the OpenBoot PROM level.
8-70
group mpgrp6-one up
Congure the /etc/hostname.qfe1 le to permit the IPv4 stack to be congured on the qfe1 interface at boot time. Create the /etc/hostname.qfe1 le to contain contents similar to the following: # cat /etc/hostname.qfe1 192.168.1.200 #
Create the /etc/hostname6.qfe1 le to contain contents similar to the following: # cat /etc/hostname6.qfe1 -failover group mpgrp6-one up #
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-71
The system remains available to users, even if either of the multipath network interfaces fail or become unusable for any reason.
8-72
If the single interface will be included in an IPMP group with multiple interfaces in the future, you should also set the NOFAILOVER ag on the link local by using the -failover option.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-73
Preparation
Unplumb any secondary interfaces that might be congured before beginning this exercise. Refer to the lecture notes as necessary to perform the tasks listed.
Tasks
Complete the following steps.
8-74
Exercise 2: Configuring IPv6 Multipathing 3. Verify that your system is congured to use unique MAC addresses. Write the command that you use: _____________________________________________________________ What command do you use to cause your system to use unique MAC addresses? _____________________________________________________________ Note You must reboot the system for EEPROM changes to take place. Write the name that you are going to assign to your multipath group: _____________________________________________________________ 4. Check your system for interfaces, and decide which interfaces that you will use for multipathing. Complete the following elds: Multipath group name: _________________________ First interface: _______________________________ Second interface: _____________________________ IPv4 address for second interface: __________________ 5. Congure your rst interface as part of the multipath group that you will use. Write the command that you use: _____________________________________________________________ 6. 7. Use the ifconfig command to verify that the interfaces were congured as expected. Congure a test address for your systems rst multipath interface, and set the failover option appropriately for a multipathing test address. Write the command that you use: _____________________________________________________________ 8. Use the ifconfig command to verify that the interfaces were congured as expected.
Caution Before performing the next step, bring down and unplumb any secondary interfaces that might be congured, as described in the preparation section at the beginning of this exercise.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-75
Exercise 2: Configuring IPv6 Multipathing 9. Congure the IPv4 component of your systems second interface. Be sure to use the plumb option to enable the interface. Assign an IP, netmask, and broadcast address; and assign it a status of up. Write the command that you use: _____________________________________________________________ 10. Congure IPv6 on your systems second multipathing interface. Be sure to use the plumb option to enable the interface, assign it to the multipath group, set an appropriate failover option to cause it to function properly as a multipathing test address, and assign it a status of up. Write the command that you use: _____________________________________________________________ 11. Use the ifconfig command to verify that the interfaces were congured as expected. 12. Verify that the multipathing daemon is running. 13. Verify that the multipathing is working as expected. Use the ping command to send an echo request every second from any other IPv6 system to a site-local address on your system. While the ping command is running, simulate a network failure and disconnect the network interface cable connected to the interface that you are using the ping command to detect. 14. Plug in the cable, and notice that the output from the ping command continues without interruption when the interfaces fail back.
8-76
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-77
Exercise 2 Solutions
Exercise 2 Solutions
The output in the following solution is specic to an individual system. Your results will be different depending upon the system on which you are working.
Task Solutions
This section provides solutions to the exercise tasks.
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.2.3 netmask ffffff00 broadcast 192.168.2.255 ether 8:0:20:b8:30:c8 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:b8:30:c8 inet6 fe80::a00:20ff:feb8:30c8/10 hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::2:a00:20ff:feb8:30c8/64 hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::2:a00:20ff:feb8:30c8/64 #
8-78
Exercise 2 Solutions 2. Verify that your operating system release can support multipathing.
# cat /etc/release Solaris 10 3/05 s10_74L2 SPARC Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 12 January 2005 This system can support multipathing because it is more recent than the Solaris 8 10/00 OS. 3. Verify that your system is congured to use unique MAC addresses. # eeprom local-mac-address? local-mac-address?=true # This system assigns unique MAC addresses to each interface. What command do you use to cause your system to use unique MAC addresses? # eeprom local-mac-address?=true #
Note You must reboot the system for EEPROM changes to take place. Write the name that you are going to assign to your multipath group: This solution uses a multipath group name of mp-demo. 4. Check your system for interfaces, and decide which interfaces that you will use for multipathing. Complete the following elds: Multipath group name: _________________________ First interface: _______________________________ Second interface: _____________________________ IPv4 address for second interface: __________________ # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.2.3 netmask ffffff00 broadcast 192.168.2.255 ether 8:0:20:b8:30:c8 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:b8:30:c8
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-79
Exercise 2 Solutions
inet6 fe80::a00:20ff:feb8:30c8/10 hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::2:a00:20ff:feb8:30c8/64 hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::2:a00:20ff:feb8:30c8/64 #
This solution demonstrates use of the hme0 and qfe1 interfaces. The qfe1 interface is not congured for any network trafc at this stage.
q q q
Multipath group name mp-demo First interface hme0 Second interface qfe1
The IPv4 address used for the secondary will be the primary interfaces address plus 200. For example, 192.168.2.3 uses 192.168.2.203 for the secondary interface. 5. Congure your rst interface as part of the multipath group that you will use.
Use the ifconfig command to verify that the interfaces were congured as expected.
Observe that the IPv4 interface has also joined the multipath group. 7. Congure a test address for your systems rst multipath interface, and set the failover option appropriately for a multipathing test address.
8-80
Use the ifconfig command to verify that the interfaces were congured as expected.
Observe that only the IPv6 interface has a test address assigned to it. Caution Before performing the next step, bring down and unplumb any secondary interfaces that might be congured, as described in the preparation section at the beginning of this exercise. 9. Congure the IPv4 component of your systems second interface. Be sure to use the plumb option to enable the interface. Assign an IP, netmask, and broadcast address; and assign it a status of up. Write the command that you use:
# ifconfig qfe1 plumb 192.168.2.203 netmask 255.255.255.0 + broadcast + up # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.2.3 netmask ffffff00 broadcast 192.168.2.255 groupname mp-demo ether 8:0:20:b8:30:c8 qfe1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.2.203 netmask ffffff00 broadcast 192.168.2.255 ether 8:0:20:b8:30:c9 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2 ether 8:0:20:b8:30:c8 inet6 fe80::a00:20ff:feb8:30c8/10 groupname mp-demo hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::2:a00:20ff:feb8:30c8/64
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-81
Exercise 2 Solutions
hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::2:a00:20ff:feb8:30c8/64
10. Congure the new IPv6 multipathing interface to be part of the multipathing group. Set an appropriate failover option to cause it to function properly as a multipathing test address and assign it a status of up. # ifconfig qfe1 inet6 plumb group mp-demo -failover up # 11. Use the ifconfig command to verify that the interfaces were congured as expected. # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.2.3 netmask ffffff00 broadcast 192.168.2.255 groupname mp-demo ether 8:0:20:b8:30:c8 qfe1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.2.203 netmask ffffff00 broadcast 192.168.2.255 groupname mp-demo ether 8:0:20:b8:30:c9 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2 ether 8:0:20:b8:30:c8 inet6 fe80::a00:20ff:feb8:30c8/10 groupname mp-demo hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2000::2:a00:20ff:feb8:30c8/64 hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 fec0::2:a00:20ff:feb8:30c8/64 qfe1: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 3 ether 8:0:20:b8:30:c9 inet6 fe80::a00:20ff:feb8:30c9/10 groupname mp-demo qfe1:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 3 inet6 2000::2:a00:20ff:feb8:30c9/64 qfe1:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 3 inet6 fec0::2:a00:20ff:feb8:30c9/64 #
8-82
Exercise 2 Solutions 12. Verify that the multipathing daemon is running. # ps -ef|grep mpath root 480 273 root 457 1 # 0 12:34:29 console 0 11:46:17 ? 0:00 grep mpath 0:00 # /usr/lib/inet/in.mpathd
Yes, the multipathing process is running as expected. 13. Verify that the multipathing is working as expected. Use the ping command to send an echo request every second from any other IPv6 system to a site-local address on your system. While the ping command is running, simulate a network failure, and disconnect the network interface cable connected to the interface that you are using the ping command to detect. # ping -s fec0::2:a00:20ff:feb8:30c8 PING fec0::2:a00:20ff:feb8:30c8: 56 data bytes 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=0. time=1. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=1. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=2. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=3. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=4. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=5. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=14. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=15. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=16. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=17. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=18. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=19. time=0. ms 64 bytes from fec0::2:a00:20ff:feb8:30c8: icmp_seq=20. time=0. ms <Control>-C # Notice how nine seconds worth of data from the ping command was lost, as can be seen by looking at the ICMP sequence numbers. 14. Plug in the cable, and notice that the output from the ping command continues without interruption when the interfaces fail back.
Conguring IPv6
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
8-83
Module 9
Describe Transport layer fundamentals Describe UDP Describe TCP Describe TCP ow control
The course map in Figure 9-1 shows how this module ts into the current instructional goal.
Conguring IP
Conguring Routing
Conguring IPv6
Figure 9-1
Course Map
9-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Application Layer
Transport Layer
Protocol Characteristics
There are two main protocols that operate at the Transport layer, TCP and UDP. To understand the differences between TCP and UDP, you must be familiar with the different characteristics of network protocols. The two protocols associated with the Transport layer, TCP and UDP, are provided by a kernel-loadable module. Application designers decide which transport protocol to use for their application.
9-2
Connection-Oriented Protocols
With connection-oriented protocols, you must establish a logical connection with the communication partner before exchanging data. Figure 9-3 illustrates how a connection-oriented protocol could work.
Figure 9-3
Is highly reliable because of acknowledgements Requires more computational processing than connectionless protocols Has more overhead because of connection establishment and termination
9-3
Connectionless Protocols
Figure 9-4 illustrates how a connectionless protocol could work.
Figure 9-4
Connectionless Protocol
With connectionless protocols, establishing a connection before sending data is not necessary. Connectionless protocols transmit self-contained messages. Self-contained messages:
q q
The connectionless protocol method has virtually no reliability features, and therefore is best suited for use in highly reliable networks. This method also requires lower overhead because it has no connection and no setup requirements. This method is also suited to protocols that use a broadcast approach to transmit information. This avoids the protocol having to wait for multiple acknowledgements and having to know how many acknowledgements to expect.
9-4
Stateful Protocols
A stateful protocol is a protocol in which part of the data that is exchanged between the client and the server systems includes state information. Both systems keep track of the state of the communication session. Figure 9-5 illustrates how interaction in a stateful protocol could work.
Client
Server
Figure 9-5
Stateful Protocol
Stateless Protocols
A stateless protocol is a protocol in which neither the client nor the server system has an obligation to keep track of the state of the communication session. A stateless protocol does not support most reliability features; therefore, data that is sent can be lost or delivered out-of-sequence. Figure 9-6 illustrates how interaction in a stateless protocol could work.
Client
Figure 9-6
Server
Stateless Protocol
The advantages of a stateless protocol are that it has lower overheads and it has a degree of isolation between the client and the server. Connectionless protocols are typically stateless.
9-5
Reliable Protocols
A reliable protocol requires that each transmission is acknowledged by the receiving host. The sender retransmits, if necessary. Figure 9-7 shows how a reliable protocol could work.
Sender
Receiver
Time
Send Packet 1
1
Receive Packet 3
Figure 9-7
Reliable Protocol
9-6
Unreliable Protocols
An unreliable protocol does not require that each transmission is acknowledged by the receiving host. Figure 9-8 shows how an unreliable protocol could work.
Sender
Receiver
Time
Send Packet 1
Send Packet 2
Send Packet 3
Packet Lost
Send Packet 4
Figure 9-8
Unreliable Protocol
9-7
9-8
Introducing UDP
Introducing UDP
UDP is a connectionless, stateless, and unreliable protocol. UDP is designed for applications that do not require a reliable Transport layer mechanism. UDP packets can be lost, duplicated, or delivered out-of-order. The application program that uses UDP is responsible for reliability, sequencing, and ow control, if required.
Purpose of UDP
UDP gives an application direct access to the Internet layer and includes the source and the destination port numbers. UDP does not require that the receiving host acknowledge transmissions. UDP has low overhead, and it is designed for high-speed applications that run on reliable networks. UDP is also used by Application layer protocols that transmit information by broadcast mechanisms.
9-9
Introducing TCP
Introducing TCP
TCP is a connection-oriented, stateful, and reliable protocol. TCP is suited for situations where large volumes of data must travel between systems, particularly across multiple routers and gateways. TCP has four main features:
q q q q
Virtual circuit connection Full-duplex connection Unstructured stream orientation Buffered transfer
Figure 9-11 TCP Segment Header Notice that the segment header includes sequence and acknowledgment numbers that are used for connection-oriented and stateful connections. Refer to RFC 793 and RFC 3168 for additional information.
9-10
Introducing TCP
Full-Duplex Connection
TCP connections provide concurrent transfer in both directions. A full-duplex connection consists of two independent streams of data that ow in opposite directions. The TCP protocol software sends control information for one stream back to the source in the segments that carry data in the opposite direction. This process is called piggybacking, and it reduces network trafc.
Buffered Transfer
Data that comes from the application is a owing stream. Data can ow fast or slow. To ensure the efcient ow of data to and from the application, TCP provides both input and output buffers to regulate the ow of data. The input and output buffers also enable the application to see TCP as a full-duplex connection.
9-11
9-12
9-13
Dene Transport layer terms Describe why an application programmer uses an unacknowledged transmission protocol Review the differences between TCP and UDP
Preparation
Refer to the lecture notes as necessary to perform the tasks listed.
Tasks
Complete the following steps: 1. Match the terms to their denition. Sliding window a. A protocol that establishes a communication session before sending data A reliable, stateful, and connection-oriented Transport layer protocol An unacknowledged Transport layer protocol A principle that optimizes TCP ow control
_____
_____
UDP
b.
_____ _____
c. d.
2.
Why would an application programmer use an unacknowledged transmission protocol? ____________________________________________________________ ____________________________________________________________
9-14
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
9-15
Exercise Solutions
Exercise Solutions
Solutions to the exercise are as follows: 1. d Match the terms to their denition. Sliding window a. A protocol that establishes a communication session before sending data A reliable, stateful, and connection-oriented Transport layer protocol An unacknowledged Transport layer protocol A principle that optimizes TCP ow control
UDP
b.
a b
c. d.
2.
Why would an application programmer use an unacknowledged transmission protocol? UDP has less overhead than TCP. UDP is best suited for short bursts of communication or broadcast communication.
9-16
Module 10
Conguring DNS
Objectives
This module describes the basic components of DNS, including the Berkeley Internet name domain (BIND), top-level domains, zones of authority, server types, the name resolution process, and resource records. This module also describes DNS conguration, including gathering needed information, editing the BIND conguration le and other relevant les, and performing basic troubleshooting procedures. Upon completion of this module, you should be able to:
q q q
Describe the basics of DNS Congure a DNS server Troubleshoot a DNS server by using basic utilities
The course map in Figure 10-1 shows how this module ts into the current instructional goal.
Conguring DNS
Conguring NTP
10-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
BIND
BIND is the most frequently used implementation of DNS in the UNIX environment. The Solaris 10 OS implements the BIND 9, version 9.2.4 software. Note Earlier versions of the Solaris OS implemented the BIND 8 software. In BIND 8 the daemon is /usr/sbin/in.named. In BIND 9 the daemon is /usr/sbin/named. The latest versions of the BIND software are available from the Internet Systems Consortiums (ISC) Web site, http://www.isc.org/. You can download and compile the latest version; however, Sun Microsystems, Inc. does not support this action.
Top-Level Domains
A domain:
q
Is a collection of names that identies network hosts and is a logical, not physical entity. A domain is maintained by a group of administrators. A single network can consist of hosts that belong to many different domains. Is an index for looking up information in the DNS distributed database. Can be branches or leaves in the DNS tree. Branches represent collections of names in a common domain. Leaves represent individual nodes and are considered domains unto themselves. Represents nodes or systems by name in the DNS naming tree, which might not be in physical proximity. In other words, a domain can span a large physical area. Can be broken into subdomains and can delegate authority for those subdomains to another group of administrators.
10-2
Introducing DNS Basics The top of the DNS hierarchy contains a nameless root domain. This domain is a place holder containing names and servers for the top-level domains. The IANA controls the root domain. The ICANN non-prot group is the governing body of all IP address assignments and domain names and controls the root domain. Top-level domains are below the root domain. Top-level domains (TLDs) include currently domains such as com, edu, gov, org and arpa. All top-level domains are controlled currently by the ICANN. The proposals for new TLDs are available at the http://www.icann.org/tlds URL. Table 10-1 shows top-level domains and their descriptions. Table 10-1 DNS Top-Level Domain Examples Domain com edu gov mil net org arpa ca Description Commercial organizations (predominately in the United States (U.S.)) Educational organizations Governmental organizations (U.S.) Military organizations (U.S.) Networking organizations and ISPs Non-prot and other organizations Reverse address lookups Country-based domains, Canada in this example
Top-level domains have two main categories: organizational domains and geographical domains. Organizational domains are based on the function or the purpose of the domain. Geographical domains are based on the physical location of the domain. Second-level domains are below the top-level domains. The second level is usually the rst place that the ICANN delegates authority for a domain to some other local organization. The ICANN, available at the http://www.icann.org Web site, authorizes domain registrars to sell domain names. The second-level domain, sun.com, for example, is controlled by administrators of Sun Microsystems, not ICANN.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-3
Introducing DNS Basics An organization can break up their second-level domains into lower-level domains. This is usually done on an organizational, political, or as-needed basis. For example, a large, multinational corporation might divide its domain into country-based domains. A university might divide its domain into department-based domains. Lower-level domains can be split into more lower-level domains as needed. All domains are subject to naming length restrictions. There is a 255-character maximum for a fully qualied domain name (FQDN), and a 63-character limit for an individual domain name. Fully qualied is analogous to an absolute path in a le name.
Zones of Authority
In addition to dividing the name space into administrative domains, the name space also divides into various zones of authority. These zones:
q
Are the portion of the name space for which a server is authoritative (that is, contains information for domains over which the server has naming control in the form of resource records in the servers conguration les) Consist of at least one domain and its associated data Can span one or more domains
q q
Server Types
DNS implements name resolution. The following are some of the more common server types, which are described in more detail in this section. Note that a single system can fulll more than one role. For example, a system might be a primary server for one zone and a secondary server for a different zone. All servers also cache information. The types of server are:
q q q q q
Root servers Primary servers Secondary servers Caching-only servers Forwarding servers
10-4
Root Servers
Root servers maintain data about each of the top-level zones. There are (as of September, 2004) 13 root servers. Of these servers, nine serve the root and top-level domains, and four serve the root domain only. ICANN maintains the root servers, and the servers are moved to a common domain for consistent naming purposes. The root servers are currently named A.root-servers.net., B.root-servers.net., and so on. You can download a current copy of the named.root le, which contains a list of the current root servers, from the ftp://ftp.rs.internic.net/domain/named.root URL.
Primary Servers
Each DNS zone must have a primary server. Although DNS does not prohibit having more than one primary server, maintaining multiple primary servers is difcult and is prone to having errors occur; therefore, it is not frequently done. In the /etc/named.conf le, the keyword master indicates the primary server. Primary servers have the following features:
q q
They are the system on which all changes are made to the zone. They are authoritative servers for all zones that they serve. (See the following sections for denitions of authoritative and non-authoritative servers.) They provide update information and synchronize secondary servers when the secondary servers request information. They can specify the delegation of authority for subdomains.
Secondary Servers
Each domain should have at least one secondary server. The ICANN does not permit a domain to be registered ofcially as a subdomain of a top-level domain until a site demonstrates two working DNS servers.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-5
There can be one or more secondary servers per zone. They obtain a copy of the zone information through zone transfers for all domains that they serve from the appropriate primary server or from another secondary server for the zone. They are authoritative for all of the zones that they serve; that is, their answers to queries are considered highly accurate.
Caching-Only Servers
All DNS servers cache information for any domain for which they are not authoritative. Caching-only servers are servers that are not authoritative for any zone, but instead caches responses from other, authoritative, name servers. Over time, the size of the cache grows. Caching-only servers have the following features:
q
They provide a rich cache of the most commonly accessed namespace information. They are never authoritative for any domain, with the exception of the loopback address. They reduce overhead that is associated with secondary servers that perform zone transfers from primary servers. They permit DNS client access to naming information that is locally cached without the expense of setting up a primary or a secondary DNS server.
Forwarding Servers
Forwarding servers are DNS servers intended to act as focal points for all off-site DNS queries. Off-site queries are queries for remote information. Designating a server as a forwarding server causes all off-site requests to consult initially the forwarding server or servers, and to wait for a reply. If no reply is received from the forwarders, the name server resumes normal operations and contacts the remote name servers itself. Forwarding servers have the following features:
q q
All off-site queries go through forwarders rst. The server that is used as a forwarder builds up a rich cache of information, which reduces the number of redundant off-site requests.
10-6
Special setup on forwarders is not required. Servers using forwarders are congured by adding a forwarder directive to the /etc/named.conf le on the local servers. The local server can still contact the remote site if forwarders fail to respond to queries.
Note If a name server uses the directive forward only in addition to the forwarders directive, then the name server may not contact remote name servers on its own.
Answer Types
Answers that are returned from DNS servers can be described as authoritative or non-authoritative. Answers from authoritative DNS servers are:
q q
Sourced from a disk-based le. Usually correct. Because humans administer the DNS, it is possible for incorrect data to enter the DNS database.
Sourced from a server cache Usually correct Can be incorrect if the servers cache contains stale data
Name-Resolution Process
DNS name resolution is the process of translating a domain name to an IP address or translating an IP address to a domain name. Name resolution begins with client-side resolver code. Resolver code is built into the operating system libraries and is available to programs that use system interface calls.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-7
Does not cache any information Queries the DNS servers that are specied in the /etc/resolv.conf le Is activated by a reference to DNS in the /etc/nsswitch.conf le hosts entry
10-8
Introducing DNS Basics A DNS client uses the following steps to query a name server to resolve name-to-address or address-to-name requests. Figure 10-2 shows a client attempting to resolve the ftp.internic.net name to an IP address.
1 /etc/nsswitch.conf File
/etc/inet/hosts File
/etc/resolv.conf File
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-9
Introducing DNS Basics The following describes the DNS name-resolution process where the /etc/nsswitch.conf le has the following contents: # cat /etc/nsswitch.conf ... hosts: files ldap dns ... # The /etc/inet/hosts le has the following contents: # cat /etc/inet/hosts # Internet host table 127.0.0.1 localhost 192.168.30.31 sys11ext 192.168.1.1 sys11 #
The following steps describe the DNS name-resolution process. 1. The client system consults the /etc/nsswitch.conf le to determine the name resolution order. In this example, the order is the local le, the Lightweight Directory Access Protocol (LDAP) server, and then the DNS server. The client system consults the local /etc/inet/hosts le and does not nd an entry. The client system sends a query asking for the IP address of the Internet name, ftp.internic.net., to the LDAP server and nds no address. The client system consults the /etc/resolv.conf le to determine the name resolution search list and the address of the DNS servers. The client system resolver routine sends a recursive DNS query asking for the IP address for the Internet name, ftp.internic.net., to the local DNS server. A recursive query states: I will wait for the answer, and you do all of the work. The client waits until the local server completes name resolution. The local DNS server consults the contents of its cached information in case this query has been recently resolved. If the address is in the local cache, it is returned to the client as a non-authoritative answer.
2. 3.
4. 5.
6.
10-10
Introducing DNS Basics 7. If the local DNS server does not have cached information about the net or internic domains, it contacts one of the root servers and sends an iterative query. An iterative query states: Send me the best answer you have, and I will do all of the work. In this example, the assumption is that the answer is not cached and that a root server must be contacted. The root server returns the best information it has. In this case, the only information you are guaranteed is that the root server has the names and addresses of all the net domain servers. The root server returns these names and addresses along with a TTL value that species how long the local DNS server can cache this information. The local DNS server contacts one of the net domain servers returned from the previous query and transmits the same iterative query that was previously sent to a root server.
8.
9.
10. The net domain server that is contacted returns the best information it has, which are the names and addresses of the internic.net servers and a TTL value. 11. The local DNS server contacts one of the internic.net domain servers and makes the same query for the IP address for the Internet name, ftp.internic.net. 12. An internic.net server returns the IP addresses of the Internet name, ftp.internic.net, along with a TTL value. The local DNS server returns the requested address to the client system, and the client can proceed.
Resource Records
Resource records are entries contained in the name server zone les and are not case sensitive. A resource record can contain information that pertains to a particular domain, including the server addresses, cache time-out values, and the email address of the DNS administrator. Resource records can also include information about a particular system including its IP address, its domain name, and its contact information. Although each type of resource record has specic syntax, the general format of any resource record is: [name] [ttl] class type data
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-11
Introducing DNS Basics Resource records have the elds shown in Table 10-2. Table 10-2 Resource Record Fields Field name Description Species the domain name for which the resource record is dening information. Because DNS is a distributed database, this record also denes the possible key values that are used in DNS queries. The sys12.one.edu and one.edu names are examples of domain names. Species the cache TTL value that is given to remote DNS servers when they query the information specied by this record. This value is expressed in seconds, days, hours, and so on. An example is 86400, which represents one day in seconds, which can also be expressed as 1d. Species the type of network. The examples in this module only use the IN or Internet class. Species the type of information that is dened for the domain in eld 1. Table 10-3 on page 10-13 shows commonly used resource record types. Denes the appropriate data for this resource record and depends on the record type specied in eld 4, the type eld. Some record types specify a single argument in this eld, and other record types specify multiple arguments in this eld. Examples of a record type with multiple arguments include a host name, an IP address, and an email address.
ttl
class type
data
Depending on the record type and other shortcuts being taken, not all of the elds are always required.
Record Types
DNS zone les can contain blank lines and comments. Comments begin with a semicolon.
10-12
Introducing DNS Basics Table 10-3 shows examples of record types and their purposes. Table 10-3 Examples of Resource Record Types Record Type $TTL Purpose The $TTL record identies the cache TTL value that remote DNS servers receive when they query the information specied by this record. The start of authority (SOA) record identies the primary name server, contact information, and default cache TTL values for all resource records in the domain. The name server (NS) record species the name server for a domain. The address (A) record species an IP address for a host name. The pointer (PTR) record species a host name for an IP address (used for inverse lookups and IP address-to-host names). The canonical name (CNAME) record denes a host name alias (www can substitute for a specic host name). The quad-A (AAAA) record species an IPv6 address for a host name.
SOA
NS A PTR
CNAME AAAA
$TTL 8h . IN SOA instructor.thirty.edu. root.instructor.thirty.edu. ( 20040923 ; version number 10800 ; refresh (3hrs.) 3600 ; retry (1hr.) 691200 ; expire (8days) 3600 ) ; negative caching info. kept for 1 hour
q
The NS resource record type: IN NS A sys12.one.edu. 192.168.1.2 The A resource record type: IN
one.edu.
q
sys12.one.edu.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-13
The PTR resource record type: IN PTR CNAME sys12.one.edu. sys12.one.edu. The CNAME resource record type: IN
2.1.168.192
q
www.one.edu.
The $TTL directive identies the cache TTL value that remote DNS servers receive when they query the information specied by this directive. This directive, or control statement, was not available for use until BIND 8.2.x versions.
10-14
The following svcadm commands enable the DNS naming service and the default client service: # svcadm enable svc:/network/dns/server:default # svcadm enable svc:/network/dns/client:default # svcs -a | grep dns online 23:02:34 svc:/network/dns/client:default online 23:08:27 svc:/network/dns/server:default
Note The DNS client service will not start any new processes, but when enabled, checks that the system is congured as a DNS client with an /etc/resolv.conf le. Other services used for managing application and daemons that require DNS, such as LDAP, will have a dependency on the DNS client service to ensure that the system is a DNS client.
Gathering Information
When you congure a DNS server, supply the server with the following types of information:
q q
The names and addresses of root servers. The information required to resolve all domains for which the server is authoritative. This information consists of name-to-address translations.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-15
The information needed to resolve all reverse domains for which the server is authoritative. This information consists of address-to-name translations. The names and addresses of servers for all domains that are one level below the domains being served by this server. This information is sometimes referred to as parenting or delegating.
Indicate the location of the le that includes the root servers Establish the server as a primary, a secondary, or a caching-only server Specify the servers zones of authority Indicate the location of the servers data les Apply security selectively for specic zones Dene logging specications Apply options selectively for a set of zones
q q q q q
The named daemon reads the /etc/named.conf le when the daemon is started by the SMF. The conguration le directs the named daemon either to other servers or to local data les for a specied domain. The /etc/named.conf le contains statements and can contain comments. Statements end with a semicolon (;), they can contain a block of statements enclosed within curly braces ({}), and each statement in the block is terminated with a semicolon (;). Comments can start with /* and end with */, can follow either # or //, and can extend to the end of the line.
10-16
Configuring a DNS Server Table 10-4 shows /etc/named.conf statements and their denitions. Table 10-4 Statement Denitions for the /etc/named.conf File Statement acl Definition Denes a named IP address match list used for access control. The address match list designates one or more IP addresses or IP prexes. The named IP address match list must be dened by an acl statement before it can be used elsewhere. No forward references are permitted. Controls global server conguration options, and sets default values for other statements. Denes a zone. It applies options selectively on a per-zone basis, rather than to all zones.
options zone
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-17
Configuring a DNS Server Figure 10-3 shows the contents of the /etc/named.conf le.
/etc/named.conf options { DIRECTORY "/var/named"; }; acl "nets"{ {192.168.1.0/24;}; }; zone "." in { type hint; file "named.root"; }; zone "one.edu" in { type master; file "forward.zone"; allow-transfer {"nets";}; }; zone "1.168.192.in-addr.arpa" in { type master; file "reverse.rzone"; }; zone "0.0.127.in-addr.arpa" in { type master; file "loop.back"; }; /* This is a comment */ // This is a comment # This is a comment /var/named
named.root
forward.zone
reverse.rzone
loop.back
10-18
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-19
The dot (.) in the rst eld denotes the root domain. The TTL eld is 3600000 seconds. This eld is historic and is not used in this le. The IN class stands for Internet. The NS record type indicates that a name server is being dened for the root domain. The fth eld of the rst record (the data eld) is the FQDN of a root server. Note the trailing dot associated with this eld.
q q
The rst (domain) eld contains the FQDN of the root server that is dened in the previous record. The TTL eld is 3600000 seconds. This eld is historic and is not used in this le. The record type, A, contains an IP address. For A records, the fourth data eld contains the IP address of the root server that is specied in the rst eld.
q q
The NS and A records combine to dene the name and address of a single root server. This le species additional pairs of records, as appropriate.
10-20
; ;{name} {ttl} Class CNAME Canonical Name ;------------------------------------------------------router IN CNAME sys11 dns IN CNAME sys12
The $TTL directive sets the default time to live for the zones information to eight hours.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-21
Configuring a DNS Server The SOA record is mandatory and has the following items:
q
An at sign (@) in the name eld This is a shortcut for the domain that is being served (one.edu. in this case). The actual value for the @ comes from the second eld of the appropriate record in the named.conf le that references this le. The @ also denes the default origin that determines the domain appended to any partially qualied domain name in the conguration les resource records. Data eld argument 1 (sys12.one.edu.) This is the name of the primary master server for this domain in FQDN format. Data eld argument 2 (root.sys12.one.edu) This is an email address, in the format of DNS_admin_name.domain_name, that you can use to report problems with the domain. The administrator is usually the root user, as shown in this example. Note that the @ is replaced with a dot in the SOA record because the @ has special meaning in this le. Data eld argument 3 This is the version (Serial) number that the secondary slave servers use to determine if they need to perform a zone transfer to get a fresh copy of zone data. Any time you make changes to this le, remember to update this number in such a way that it gets larger. It is always safe to start at 1 and add 1 with each change, or to use todays date. Data eld argument 4 The refresh timer is the time interval, in seconds, after which the secondary servers should check to determine if the serial number has changed, and, if it has, a zone transfer needs to occur. Data eld argument 5 The retry timer is the time interval, in seconds, after which the secondary servers check back if a normal refresh failed. This timer is usually set to a smaller value than the refresh timer. Data eld argument 6 The expire timer is the time interval in seconds after which, if a secondary server cannot contact the primary server or another secondary server, the entire zone data should be discarded. This prevents the secondary servers that have lost contact with the rest of the name servers from continuing to give out potentially stale information. Data eld argument 7 The negative caching timer (Minimum) is the default value of time that the server keeps negative responses from other authoritative servers.
You should dene an NS record for all name servers in this domain that you want to be recognized by DNS servers.
10-22
Configuring a DNS Server Most of the remaining resource records are address records for each system in the domain. Most of the host names are not fully qualied. The names that are not fully qualied have the domain name origin (the value of the @ in the SOA record by default) appended to them. This shorthand method can save typing and improve the readability and maintainability of the le. The CNAME record denes host aliases, or nicknames for hosts. The CNAME record in this instance is similar to the following entry in a /etc/inet/hosts le: 192.168.1.1 sys11 router The localhost entry species the loopback address for all hosts.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-23
The @ (at the top of this resource record) in this example refers to the 1.168.192.in-addr.arpa. reverse domain, as indicated in the /etc/named.conf le in which this reverse le is referenced. The address-to-name mappings are dened with the PTR record type. The domain eld in the PTR record contains the host portion of the IP address. Because these resource records do not end with a . (dot), the value of the @ is appended to each record. The argument eld of the PTR record should contain the FQDN of the name of the system at which the record points. This completes the reverse address-to-name mapping.
10-24
You can use the @ when the domain name is the same as the origin, 127.in-addr.arpa. in this example. The only items that you change from domain to domain in the SOA record are the host name (rst) argument and the email address used to report problems. You must specify the name of the system being congured on the NS line. Use all other lines as shown in this example.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-25
zone "one.edu" in { type master; file "db.one.edu"; allow-update { 127.0.0.1; 192.168.1.2; }; }; zone "1.168.192.in-addr.arpa" in { type master; file "db.192.168.1"; allow-update { 127.0.0.1; 192.168.1.2; }; }; 2. Restart the named process by using the svcadm commands. For example:
10-26
Configuring Security
Because of the nature of the Internet, DNS can be vulnerable to unauthorized access. Beginning with BIND version 8.x.x, security features are implemented through the /etc/named.conf conguration le. Two important security considerations are the control of name queries and the control of zone transfers. By default, servers respond to any query or request for a zone transfer. You can modify this behavior by using the allow-query and allow-transfer keywords. The allow-query statement enables you to establish an IP address-based access list for queries. You can apply this access list to a specic zone or to all queries that are received by the server. The IP address list determines which systems receive responses from the server. You can restrict queries to all zones by using the allow-query keyword as an argument to the options statement for the zone. For example: options { allow-query { 192.168.1/24; 192.168.3/24; }; }; In this case, only systems with the IP addresses 192.168.1.xxx and 192.168.3.xxx receive responses from the name server. You can restrict queries for a specic zone by using the allow-query keyword as an argument to the zone statement. For example: zone "one.edu" in { type master; file "forward.zone"; allow-query { 192.168.3/24; }; }; In this case, only subnet 192.168.3.0 has access to the resource records for this zone.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-27
Configuring a DNS Server In the same manner, the allow-transfer keyword can limit which systems may receive a zone transfer from a name server. You can restrict zone transfers from a name server by using allow-transfer in the options statement. For example: options { allow-transfer { 192.168.1.3/32; }; }; The allow-transfer keyword can also be applied to a specic zone, if you want. Another feature that often is associated with restricting queries and transfers is access control lists (ACLs). The list of IP addresses used in the previous examples could be replaced by an ACL. You can congure ACLs by using the acl keyword to build an ACL list that can be used as an argument to the allow-query and allow-transfer keywords. For example: acl "local" { 192.168.1.0/24; 192.168.2.0/24; 192.168.3.0/24; }; zone "one.edu" in { type master; allow-query { "local"; }; allow-transfer { "local"; }; };
10-28
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-29
Secondary servers are congured with and use the same root server hints le as the primary name server. Secondary servers are congured with and use the same syntax for a reverse loopback domain le as the primary name server uses, except that the secondary name server is always listed as the primary for the loopback address. The reverse.backup and reverse.rbackup les and their contents are created automatically by the secondary servers named daemon after the primary name server is contacted successfully. The IP address from which the secondary server should download its zone les is listed following the masters keyword. Up to 10 IP addresses can be listed. The server or servers listed can be the primary server or secondary servers.
Secondary servers start the named daemon during the boot process if the /etc/named.conf le exists. The daemon is started by SMF.
10-30
Missing required keywords are reported: sys12# named-checkconf /etc/named.conf:38: zone one.edu: type not present The named-checkzone command is used to check the any of the zone les. A clean one.edu zone in the db.192.168.1 le is reported: # named-checkzone one.edu db.192.168.1 zone one.edu/IN: loaded serial 2005010101 OK Typographical errors in the SOA record are detected: sys12# named-checkzone one.edu db.192.168.1 dns_master_load: db.192.168.1:10: unknown RR type 'SA0' zone one.edu/IN: loading master file db.192.168.1: unknown class/type Missing NS records are reported: sys12# named-checkzone one.edu db.192.168.1 zone one.edu/IN: has no NS records
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-31
10-32
/var/named/bind-log File to hold logged data print-time yes Print time of the event severity debug 9 Debug output of level 9 and below to be logged print-category yes Log category information print-severity yes Log severity information
q q
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-33
Troubleshooting the DNS Server by Using Basic Utilities The category section describes how the channel information is used. Following is a description of each of the example entries:
q
category default { default_syslog; logfile; } Log to syslog and logfile category queries { logfile; } Log queries
Following is an example of logged information during query using the dig command:
sys12# tail -f /var/named/bind-log Jan 12 16:02:19.918 client: debug 3: client 192.168.1.1#32810: UDP request Jan 12 16:02:19.918 client: debug 5: client 192.168.1.1#32810: using view '_default' Jan 12 16:02:19.918 security: debug 3: client 192.168.1.1#32810: request is not signed Jan 12 16:02:19.918 security: debug 3: client 192.168.1.1#32810: recursion available: approved Jan 12 16:02:19.918 client: debug 3: client 192.168.1.1#32810: query Jan 12 16:02:19.918 queries: info: client 192.168.1.1#32810: query: one.edu IN A Jan 12 16:02:19.918 security: debug 3: client 192.168.1.1#32810: query 'one.edu/IN' approved Jan 12 16:02:19.919 client: debug 3: client 192.168.1.1#32810: send Jan 12 16:02:19.919 client: debug 3: client 192.168.1.1#32810: sendto Jan 12 16:02:19.919 client: debug 3: client 192.168.1.1#32810: senddone Jan 12 16:02:19.919 client: debug 3: client 192.168.1.1#32810: next Jan 12 16:02:19.919 client: debug 3: client 192.168.1.1#32810: endrequest Jan 12 16:02:19.920 client: debug 3: client @94f88: udprecv Jan 12 16:02:19.923 client: debug 3: client 192.168.1.1#32811: UDP request Jan 12 16:02:19.924 client: debug 5: client 192.168.1.1#32811: using view '_default' Jan 12 16:02:19.924 security: debug 3: client 192.168.1.1#32811: request is not signed Jan 12 16:02:19.924 security: debug 3: client 192.168.1.1#32811: recursion available: approved Jan 12 16:02:19.924 client: debug 3: client 192.168.1.1#32811: query Jan 12 16:02:19.924 queries: info: client 192.168.1.1#32811: query: 4.1.168.192.inaddr.arpa IN PTR Jan 12 16:02:19.924 security: debug 9: client 192.168.1.1#32811: v6 synthesis denied Jan 12 16:02:19.924 security: debug 3: client 192.168.1.1#32811: query '4.1.168.192.inaddr.arpa/IN' approved Jan 12 16:02:19.924 client: debug 3: client 192.168.1.1#32811: send Jan 12 16:02:19.924 client: debug 3: client 192.168.1.1#32811: sendto Jan 12 16:02:19.925 client: debug 3: client 192.168.1.1#32811: senddone Jan 12 16:02:19.925 client: debug 3: client 192.168.1.1#32811: next Jan 12 16:02:19.925 client: debug 3: client 192.168.1.1#32811: endrequest Jan 12 16:02:19.925 client: debug 3: client @94f88: udprecv
10-34
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-35
Sends queries and displays replies for any of the valid resource record types Queries the DNS server of your choice Debugs almost any domain that is not protected by a rewall
q q
IN
;; AUTHORITY SECTION: one.edu. 86400 IN SOA sys12.one.edu. root.sys12.one.edu. 2005010101 3600 1800 6048000 86400 ;; ;; ;; ;; Query time: 4 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 16:56:12 2005 MSG SIZE rcvd: 72
10-36
Troubleshooting the DNS Server by Using Basic Utilities ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;sys11.one.edu. ;; ANSWER SECTION: sys11.one.edu. ;; AUTHORITY SECTION: one.edu. one.edu. ;; ADDITIONAL SECTION: sys12.one.edu. sys13.one.edu. ;; ;; ;; ;;
IN
86400
IN
192.168.1.1
86400 86400
IN IN
NS NS
sys12.one.edu. sys13.one.edu.
86400 86400
IN IN
A A
192.168.1.2 192.168.1.3
Query time: 3 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 16:56:12 2005 MSG SIZE rcvd: 119 The ANSWER SECTION lists the answer retrieved from the DNS server. An answer number (on the flags line) greater than zero usually indicates success.
IN
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-37
Troubleshooting the DNS Server by Using Basic Utilities one.edu. 86400 IN SOA sys12.one.edu. root.sys12.one.edu. 2005010101 3600 1800 6048000 86400 ;; ;; ;; ;; Query time: 4 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 16:55:11 2005 MSG SIZE rcvd: 72
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1932 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;1.1.168.192.in-addr.arpa.
IN
PTR
;; ANSWER SECTION: 1.1.168.192.in-addr.arpa. 86400 IN ;; AUTHORITY SECTION: 1.168.192.in-addr.arpa. 86400 1.168.192.in-addr.arpa. 86400 ;; ADDITIONAL SECTION: sys12.one.edu. sys13.one.edu. ;; ;; ;; ;;
PTR
sys11.one.edu.
IN IN
NS NS
sys13.one.edu. sys12.one.edu.
86400 86400
IN IN
A A
192.168.1.2 192.168.1.3
Query time: 3 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 16:55:11 2005 MSG SIZE rcvd: 141
10-38
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-39
Troubleshooting the DNS Server by Using Basic Utilities online 5:09:25 svc:/network/dns/server:default sys12# svcadm disable svc:/network/dns/server:default sys12# svcs -a | grep dns disabled 6:54:30 svc:/network/dns/server:default online 5:09:02 svc:/network/dns/client:default sys12# svcadm enable svc:/network/dns/server:default sys12# svcs -a | grep dns online 5:09:02 svc:/network/dns/client:default online 6:54:45 svc:/network/dns/server:default Verify that the cache has been cleared using the rndc command: sys12# rndc dumpdb sys12# cat /var/named/named_dump.db ; ; Cache dump of view '_default' ; $DATE 20050112135516
Dump Examples
Examining dumped caches is often a very productive way to troubleshoot errors. The following example shows an improper use of the dig command attempting a reverse query: sys13# dig @192.168.1.2 one.edu 192.168.1.1 ; <<>> DiG 9.2.4 <<>> @192.168.1.2 one.edu 192.168.1.1 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1328 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;one.edu.
IN
;; AUTHORITY SECTION: one.edu. 86400 IN SOA sys12.one.edu. root.sys12.one.edu. 2005010101 3600 1800 6048000 86400 ;; ;; ;; ;; Query time: 2 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 06:59:29 2005 MSG SIZE rcvd: 72
10-40
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 1204 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;192.168.1.1.
IN
;; AUTHORITY SECTION: . 10800 IN SOA instructor.thirty.edu. root.instructor.thirty.edu. 2005010101 3600 1800 6048000 86400 ;; ;; ;; ;; Query time: 4 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 06:59:29 2005 MSG SIZE rcvd: 90
The highlighted entries shown above indicate an unsuccessful reverse resolution request. Dumping the cached data provides insights. sys12# rndc dumpdb sys12# cat /var/named/named_dump.db ; ; Cache dump of view '_default' ; $DATE 20050112135930 ; authanswer . 86381 IN NS ; authauthority 192.168.1.1. 10781 \-ANY ; additional instructor.thirty.edu. 86381 A sys12#
The NXDOMAIN in the dumped data indicates that a non existent (NX) domain was requested. Because the incorrect syntax was used (missing -x option, needed for reverse queries), the IP address was mistaken for a domain. The following example shows a successful reverse query: sys13# dig @192.168.1.2 two.edu -x 192.168.2.1 ; <<>> DiG 9.2.4 <<>> @192.168.1.2 two.edu -x 192.168.2.1 ;; global options: printcmd
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-41
Troubleshooting the DNS Server by Using Basic Utilities ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1174 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;two.edu.
IN
;; AUTHORITY SECTION: two.edu. 10800 IN SOA sys22.two.edu. root.sys22.two.edu. 2005010101 3600 1800 6048000 86400 ;; ;; ;; ;; Query time: 11 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 08:07:30 2005 MSG SIZE rcvd: 72
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1982 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;1.2.168.192.in-addr.arpa.
IN
PTR
;; ANSWER SECTION: 1.2.168.192.in-addr.arpa. 86400 IN ;; AUTHORITY SECTION: 2.168.192.in-addr.arpa. 86400 2.168.192.in-addr.arpa. 86400 ;; ;; ;; ;;
PTR
sys21.two.edu.
IN IN
NS NS
sys23.two.edu. sys22.two.edu.
Query time: 6 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 08:07:30 2005 MSG SIZE rcvd: 109 The rst highlighted QUESTION section indicates that the query is requesting data that is not locally authoritative. A forwarding of the request is required for information about the two.edu domain. The second highlighted QUESTION and ANSWER sections are for the specied request for information about the 192.168.2.1 address. Examining the cached data details the resolution process.
10-42
Troubleshooting the DNS Server by Using Basic Utilities ; Cache dump of view '_default' ; $DATE 20050112150759 ; authanswer . 86353 ; authauthority 2.168.192.in-addr.arpa. 86353 86353 ; authanswer 1.2.168.192.in-addr.arpa. 86353 ; additional instructor.thirty.edu. 86353 ; glue two.edu. 86353 86353 ; authauthority 10753 ; glue sys22.two.edu. 86353 ; glue sys23.two.edu. 86353
IN NS NS NS PTR A NS NS \-A A A
instructor.thirty.edu. sys22.two.edu. sys23.two.edu. sys21.two.edu. 192.168.30.30 sys22.two.edu. sys23.two.edu. ;-$NXRRSET 192.168.2.2 192.168.2.3
The rst three entries in the cached data show the resolution process. The rst highlight entry shows the forwarding of the request to the instructor.thirty.edu. The second highlighted entry shows that server supplying the and of the authoritative server for the 2.168.192.in-addr.arpa zone (sys22.two.edu). The last highlighted entry shows the pointer information cached for the requested IP address.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-43
Troubleshooting the DNS Server by Using Basic Utilities This next example cache dump shows a similar resolution for a forward query: sys13# dig @192.168.1.2 two.edu sys21.two.edu <dig output omitted> sys12# rndc dumpdb sys12# cat /var/named/named_dump.db ; ; Cache dump of view '_default' ; $DATE 20050112151434 ; authanswer . 86357 IN NS ; additional instructor.thirty.edu. 86357 A ; authauthority two.edu. 86357 NS 86357 NS ; authauthority 10757 \-A ; authanswer sys21.two.edu. 86357 A ; glue sys22.two.edu. 86357 A ; glue sys23.two.edu. 86357 A
Forcing the named Daemon to Reread the Configuration and Changed Zone Files
You can use the rndc utility with the reconfig command to cause the named process to reload its conguration le and implement any changes to the zone les as follows: sys12# rndc reconfig
10-44
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-45
Troubleshooting the DNS Server by Using Basic Utilities default-server 127.0.0.1; default-port 953; }; # End of rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-md5; # secret "jZOP5nh//i9t7BwHivvNzA=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf sys12#
Copy the rndc-key section into a new le called /etc/rndc.conf. sys12# cat /etc/rndc.conf key "rndc-key" { algorithm hmac-md5; secret "jZOP5nh//i9t7BwHivvNzA=="; }; options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; }; Add the named.conf section to the /etc/named.conf le. Be sure to remove the comment indentiers (#). The following is an example of a nished /etc/named.conf le: sys12# cat /etc/named.conf options { directory "/var/named"; }; // added to stop couldn't add command channel ::1#953 messages // from showing up in /var/adm/messages // following is output from /usr/sbin/rndc-confgen
10-46
Troubleshooting the DNS Server by Using Basic Utilities key "rndc-key" { algorithm hmac-md5; secret "jZOP5nh//i9t7BwHivvNzA=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; // end of rndc.key addition ... Test the rndc.key by stopping and starting the named process, using the rndc utility, and examining the resulting /var/adm/messages le entries: sys12# svcadm disable svc:/network/dns/server:default sys12# svcadm enable svc:/network/dns/server:default sys12# tail -4 /var/adm/messages Jan 12 08:58:48 sys12 named[1402]: [ID 873579 daemon.notice] starting BIND 9.2.4 Jan 12 08:58:48 sys12 named[1402]: [ID 873579 daemon.notice] command channel listening on 127.0.0.1#953 Jan 12 08:58:48 sys12 named[1402]: [ID 873579 daemon.notice] running The daemon starting without the command channel message implies a successful key conguration The rndc command can now be used securely. You will see an error message similar to the following if either there is a problem with the contents of the rndc.conf le: sys12# rndc dumpdb Jan 12 10:13:40 sys12 named[1431]: invalid command from 127.0.0.1#32839: bad auth rndc: connection to remote host closed This may indicate that the remote server is using an older version of the command protocol, this host is not authorized to connect, or the key is invalid. sys12#
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-47
Server Status
The rndc utility can be used to query server status and report statistics. Now test to verify that the rndc utility works as expected: sys12# rndc status number of zones: 5 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is ON server is up and running
10-48
Troubleshooting the DNS Server by Using Basic Utilities Increment the debug level by one. sys12# rndc trace sys12# rndc status number of zones: 5 debug level: 1 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is ON server is up and running Assign the debug level to a specic level. sys12# rndc trace 8 sys12# rndc status number of zones: 5 debug level: 8 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is ON server is up and running sys12# If logging is enabled, the debug level is shown along with the logged messages: sys12# tail -f /var/named/bind-log Jan 13 07:12:37.548 general: debug 'dumpdb' Jan 13 07:17:02.598 general: debug 'status' Jan 13 07:17:15.249 general: debug 'trace' Jan 13 07:17:17.929 general: debug 'status' Jan 13 07:17:34.838 general: debug 'trace 8' Jan 13 07:17:37.149 general: debug 'status' 1: received control channel command 1: received control channel command 1: received control channel command 1: received control channel command 1: received control channel command 1: received control channel command
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-49
Preparation
Refer to the lecture notes as necessary to perform the tasks listed. Before starting this lab; make sure that:
q
The classroom network is not connected to the public Internet because the names and addresses used are not registered with the ICANN. The instructor has set up a root domain server for use in this lab. The domains to be set up are named one.edu., two.edu., and three.edu., respectively.
q q
The self-contained root server (instructor) serves the .(root), edu., 30.168.192.in-addr.arpa., and 127.in-addr.arpa.loopback domains. The system and server-client functions for these exercises are listed in Table 10-5. Table 10-5 Exercise Host Functions Host instructor sysX1 sysX2 sysX3 sysX4 Function Root DNS name server Router Primary DNS name server, DNS client Secondary DNS name server, DNS client DNS client
10-50
Task Summary
In this exercise, team up with the other students on your subnet, and congure a DNS primary server, a DNS secondary server, and clients on your subnet. You practice using troubleshooting tools, such as the nslookup utility. Work as a team, and move as a team to each system that is to be congured. In this way, you experience most of the aspects of conguring DNS.
Tasks
To congure DNS, complete the following steps. Your rst task is to congure your domains primary DNS server.
What is the purpose of the /etc/named.conf le? ______________________________________________________ ______________________________________________________ ______________________________________________________ What is the purpose of the following /etc/named.conf le keywords?
q
2.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-51
Exercise: Configuring DNS 3. Set up the /var/named/db.root le for your domain on the system that will be your domains primary DNS server. You can create the le yourself, or you can use the template le that your instructor makes available to you.
q
What is the purpose of the db.root le? ___________________________________________________ ___________________________________________________ ___________________________________________________ Where can you obtain a current copy of the current root name servers? ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ What is the purpose of the following resource record types?
q
NS ___________________________________________________
A ___________________________________________________
4.
Set up the zone le for your domain on the system that will be your domains primary DNS server. You can create the le yourself, or you can use the template le that your instructor makes available to you.
q
What is the purpose of a domains zone le? ___________________________________________________ ___________________________________________________ ___________________________________________________ What is the purpose of the SOA resource record? ___________________________________________________ ___________________________________________________ What is the purpose of the CNAME resource record? ___________________________________________________ ___________________________________________________ ___________________________________________________
10-52
Exercise: Configuring DNS 5. Set up the reverse lookup le for your domain on the system that will be your domains primary DNS server. You can create the le yourself, or you can use the template le that your instructor makes available to you.
q
What is the purpose of the reverse lookup zone le? ___________________________________________________ What is the purpose of the PTR resource record? ___________________________________________________
6.
Set up the loopback le for your domain on the system that will be your domains primary DNS server. You can create the le yourself, or you can use the template le that your instructor makes available to you.
What is the purpose of the /etc/nsswitch.conf le? ___________________________________________________ ___________________________________________________ What effect does the dns keyword have on this le? ___________________________________________________ ___________________________________________________ ___________________________________________________
8.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-53
What is the purpose of the domain keyword? ___________________________________________________ ___________________________________________________ What is the purpose of the namesserver keyword? ___________________________________________________ ___________________________________________________
10-54
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-55
10-56
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-57
Exercise Solutions
Exercise Solutions
Solutions to this exercise are provided in the following section.
Task Solutions
To congure DNS, complete the following steps. Your rst task is to congure your domains primary DNS server.
10-58
What is the purpose of the /etc/named.conf le? The /etc/named.conf le is the conguration le read by the named daemon at system start up. The named.conf le species the directory that contains the other conguration les, the root servers, the domains served by this server, and the type of server that this system will be for each of those domains.
zone It denes a zone of authority and applies options selectively on a per-zone basis, rather than to all zones.
options It controls global server conguration options and sets default values for other statements.
2. 3.
Create the /var/named directory. Set up the /var/named/db.root le for your domain on the system that will be your domains primary DNS server. You can create the le yourself, or you can use the template le that your instructor makes available to you. Your /var/named/db.root le should be similar to the following:
sys12# cat /var/named/db.root ; ; db.root ; ;{name} {ttl} Class NS Nameserver Name ;-------------------------------------------------------------. 604800 IN NS instructor.thirty.edu. ; ;{name} {ttl} Class A IP Address ;--------------------------------------------------------instructor.thirty.edu. 604800 IN A 192.168.30.30 #
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-59
Exercise Solutions
q
What is the purpose of the db.root le? Root servers are positioned at the top, or the root, of the DNS hierarchy, and they maintain data about each of the top-level zones. Non-root servers can begin queries at the root level if no other information is available. This les contents directs non-root servers to root servers.
Where can you obtain a current copy of the current root name servers? You can retrieve them from the ftp://ftp.rs.internic.net/domain/named.root URL. Be sure to check that the les syntax is correct.
NS The NS record (name server record) identies the name server of a domain.
A The A record (address record) yields an IP address that corresponds to a host name.
4.
Set up the zone le for your domain on the system that will be your domains primary DNS server. You can create the le yourself, or you can use the template le that your instructor makes available to you. Your /var/named/db.one.edu le should be similar to the following:
sys12# cat /var/named/db.one.edu ; db.one.edu $TTL 86400 ; ;{name} {ttl} Class SOA Origin Postmaster ;---------------------------------------------------------------------------------@ IN SOA sys12.one.edu. root.sys12.one.edu. ( 2005010101 ; Serial 3600 ; Refresh (1 Hour) 1800 ; Retry (30 Minutes) 6048000 ; Expire (1 Week) 86400 ) ; Minimum (24 Hours)
; ;{name} {ttl} Class NS Nameserver Name ;-----------------------------------------------------IN NS sys12.one.edu. ;
10-60
Exercise Solutions
;{name} {ttl} Class A IP Address ;------------------------------------------------sys11 IN A 192.168.1.1 sys12 IN A 192.168.1.2 sys13 IN A 192.168.1.3 sys14 IN A 192.168.1.4 localhost IN A 127.0.0.1
; ;{name} {ttl} Class CNAME Canonical Name ;------------------------------------------------------router IN CNAME sys11 dns IN CNAME sys12
q
What is the purpose of a domains zone le? This le contains the mappings of names to IP addresses for all systems in the domain being served by this name server. In addition, this le must specify an SOA record and NS records for all name servers for this domain.
What is the purpose of the SOA resource record? The SOA record identies the primary server, contact information, and cache time-out values for the entries in the domain.
What is the purpose of the CNAME resource record? The CNAME record denes an alias for a host name.
5.
Set up the reverse lookup le for your domain on the system that will be your domains primary DNS server. You can create the le yourself, or you can use the template le that your instructor makes available to you. Your /var/named/db.192.168.1 le should be similar to the following:
$TTL 86400 ; ;{name} {ttl} Class SOA Origin Postmaster ;---------------------------------------------------------------------------------@ IN SOA sys12.one.edu. root.sys12.one.edu. ( 2005010101 ; Serial 3600 ; Refresh (1 Hour) 1800 ; Retry (30 Minutes) 6048000 ; Expire (1 Week) 86400 ) ; Minimum (24 Hours) ;
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-61
Exercise Solutions
;{name} {ttl} Class NS Nameserver Name ;-----------------------------------------------------IN NS sys12.one.edu. ; ;{name} {ttl} Class PTR Real Name ;-----------------------------------------------1 IN PTR sys11.one.edu. 2 IN PTR sys12.one.edu. 3 IN PTR sys13.one.edu. 4 IN PTR sys14.one.edu.
q
What is the purpose of the reverse lookup zone le? This le contains mappings for address-to-name translation. What is the purpose of the PTR resource record? The PTR record species a host name for an IP address.
6.
Set up the loopback le for your domain on the system that will be your domains primary DNS server. You can create the le yourself, or you can use the template le that your instructor makes available to you. Your /var/named/db.127.0.0 le should be similar to the following:
$TTL 86400 ; ;{name} {ttl} Class SOA Origin Postmaster ;---------------------------------------------------------------------------------@ IN SOA sys12.one.edu. root.sys12.one.edu. ( 2005010101 ; Serial 3600 ; Refresh (1 Hour) 1800 ; Retry (30 Minutes) 6048000 ; Expire (1 Week) 86400 ) ; Minimum (24 Hours) ; ;{name} {ttl} Class NS Nameserver Name ;-----------------------------------------------------IN NS sys12.one.edu. ; ;{name} {ttl} Class PTR Real Name ;-----------------------------------------------1 IN PTR localhost.
10-62
Exercise Solutions
What is the purpose of the /etc/nsswitch.conf le? The etc/nsswitch.conf le species which resolver library routines are to be used in resolving host names and addresses.
What effect does the dns keyword have on this le? The dns keyword causes the dns resolver library routine to be added when resolving host names and addresses. Its position in the hosts line determines the order in which it is used.
8.
Set up the /etc/resolv.conf le on your DNS server and DNS clients. Your systems /etc/resolv.conf le should have contents similar to the following:
What is the purpose of the /etc/resolv.conf le? This le species the resolver library routines that the domain search list applies to any names that are not specied in the FQDN form and species the IP addresses of DNS servers to query.
What is the purpose of the domain keyword? The domain keyword species domain names to append to names that were not specied in the FQDN format and in what order to append them.
What is the purpose of the namesserver keyword? The nameserver keyword species DNS servers to query by IP address.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-63
Exercise Solutions
sys12# svcadm enable svc:/network/dns/server:default sys12# svcadm enable svc:/network/dns/client:default b. Use the svcs command to verify that the services are online. sys12# svcs -a | grep dns online 14:53:08 svc:/network/dns/server:default online 14:56:04 svc:/network/dns/client:default c. sys12# pgrep named 97 10. Check the /var/adm/messages le for DNS error messages. sys12# tail -4 /var/adm/messages
Jan 12 13:23:18 sys12 Jan 12 13:23:18 sys12 on 127.0.0.1#953 Jan 12 13:23:18 sys12 on ::1#953 Jan 12 13:23:18 sys12 named[1516]: [ID 873579 daemon.notice] starting BIND 9.2.4 named[1516]: [ID 873579 daemon.notice] command channel listening named[1516]: [ID 873579 daemon.notice] command channel listening named[1516]: [ID 873579 daemon.notice] running
Before continuing, troubleshoot to eliminate any DNS-related error messages that appear in the /var/adm/messages le.
10-64
Exercise Solutions
IN
;; AUTHORITY SECTION: one.edu. 86400 IN SOA sys12.one.edu. root.sys12.one.edu. 2005010101 3600 1800 6048000 86400 ;; ;; ;; ;; Query time: 3 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 13:27:39 2005 MSG SIZE rcvd: 72
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;sys11.one.edu. ;; ANSWER SECTION: sys11.one.edu. ;; AUTHORITY SECTION: one.edu. ;; ADDITIONAL SECTION:
IN
86400
IN
192.168.1.1
86400
IN
NS
sys12.one.edu.
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-65
Query time: 2 msec SERVER: 192.168.1.2#53(192.168.1.2) WHEN: Wed Jan 12 13:27:39 2005 MSG SIZE rcvd: 119 The preceding output indicates that the 192.168.1.2 DNS server determined that the sys11.one.edu system has an IP address of 192.168.1.1.
10-66
Exercise Solutions
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-67
Exercise Solutions The addition to the reverse zone le should be similar to the following, added under the existing name server conguration: ;{name} {ttl} Class NS Nameserver Name ;-----------------------------------------------------IN NS sys12.one.edu. IN NS sys13.one.edu.
10-68
Exercise Solutions zone "one.edu" { type slave; file "db.one.edu.slave"; masters { 192.168.1.2; }; }; zone "1.168.192.in-addr.arpa" { type slave; file "db.192.168.1.slave"; masters { 192.168.1.2; }; }; zone "0.0.127.in-addr.arpa" in { type slave; file "db.127.0.0.slave"; masters { 192.168.1.2; }; }; 19. Set up the /var/named/db.root le for your domain on the system that will be your domains secondary DNS server. You can create the le yourself, or you can use the template le that your instructor makes available to you. Your /var/named/db.root le should be similar to the following: sys13# cat /var/named/db.root
; db.root ; ;{name} {ttl} Class NS Nameserver Name ;-------------------------------------------------------------. 604800 IN NS instructor.thirty.edu. ; ;{name} {ttl} Class A IP Address ;--------------------------------------------------------instructor.thirty.edu. 604800 IN A 192.168.30.30 sys13#
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-69
Exercise Solutions 20. Start the name server daemon on your DNS server: a. Use the svcadm command to enable both the name server daemon and the DNS client.
sys13# svcadm enable svc:/network/dns/server:default sys13# svcadm enable svc:/network/dns/client:default b. Use the svcs command to verify that the services are online. sys13# svcs -a | grep dns online 14:53:08 svc:/network/dns/server:default online 14:56:04 svc:/network/dns/client:default c. sys13# pgrep in.named 853 21. Verify that the new zone les have been created in the /var/named directory. sys13# ls -al total 20 drwxr-xr-x 3 drwxr-xr-x 45 -rw------1 -rw------1 -rw------1 -rw-r--r-1 Check that the server daemon is running.
12 11 12 12 12 12
22. Verify that the secondary name server performs forward lookup requests as expected. You could use one of a few tools to test DNS lookup requests. This example demonstrates using the dig utility where:
q q q
@192.168.1.3 Designates which DNS server to use one.edu Designates the domain of interest sys14.one.edu Designates the name to query
sys11# dig @192.168.1.3 one.edu -x 192.168.1.4 ; <<>> DiG 9.2.4 <<>> @192.168.1.3 one.edu -x 192.168.1.4 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2032 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;one.edu.
IN
10-70
Exercise Solutions ;; AUTHORITY SECTION: one.edu. 86400 IN SOA sys12.one.edu. root.sys12.one.edu. 2005010101 3600 1800 6048000 86400 ;; ;; ;; ;; Query time: 3 msec SERVER: 192.168.1.3#53(192.168.1.3) WHEN: Wed Jan 12 14:25:50 2005 MSG SIZE rcvd: 72
;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 322 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;4.1.168.192.in-addr.arpa.
IN
PTR
;; ANSWER SECTION: 4.1.168.192.in-addr.arpa. 86400 IN ;; AUTHORITY SECTION: 1.168.192.in-addr.arpa. 86400 1.168.192.in-addr.arpa. 86400 ;; ADDITIONAL SECTION: sys12.one.edu. sys13.one.edu. ;; ;; ;; ;;
PTR
sys14.one.edu.
IN IN
NS NS
sys13.one.edu. sys12.one.edu.
86400 86400
IN IN
A A
192.168.1.2 192.168.1.3
Query time: 1 msec SERVER: 192.168.1.3#53(192.168.1.3) WHEN: Wed Jan 12 14:25:50 2005 MSG SIZE rcvd: 141
Conguring DNS
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
10-71
Module 11
Conguring DHCP
Objectives
This module explains the fundamentals of DHCP, including the purpose of DHCP and client and server functions. This module explains how to congure DHCP and how to troubleshoot a DCHP server. Upon completion of this module, you should be able to:
q q q q q
Describe the fundamentals of DHCP Congure a DHCP server Congure and manage DHCP clients Troubleshoot a DHCP server Troubleshoot a DHCP client
The course map in Figure 11-1 shows how this module ts into the current instructional goal.
Conguring DNS
Conguring NTP
11-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
IP address Boot server IP address DNS domain, DNS server, and default router
q q q
Lease periods are provided for IP address assignments. Routers can be congured to act as a BOOTP relay agent. Support is available for clients that need to boot over a network, which, in effect, replaces the need for using RARP and the /etc/bootparams le. Support is available for DHCP clients in the Solaris 10 OS.
Purpose of DHCP
DHCP reduces the cost of managing networks by eliminating the need to manually assign or change IP addresses repeatedly. DHCP also reclaims IP addresses that are no longer needed or if the time period for their use has expired. These IP addresses can then be used by other clients. DHCP also makes it easier to renumber the network if the ISP is changed. The DHCP server would be recongured to provide the new IP addresses offered from this new ISP. IP addresses are assigned to each system when an organization sets up its computer network.
q
Without DHCP, you assign an IP address to each computer manually. If a computer moves to another location in a different part of the network, you assign a new IP address to that computer manually. With DHCP, you congure the DHCP server to distribute IP addresses from a central point. You congure the DHCP server to send a new IP address automatically when a computer is moved to a different place on the network and requests a new IP address at boot time.
11-2
Sufcient information to properly congure the network interface Parameters needed by system-level and application-level software
DHCP
Parameters (System and Application) NIS Server WWW Server NTP Server
Figure 11-2 DHCP Client Functions To perform the rst function, the dhcpagent daemon acquires an IP address that is valid for the network attached to the clients hardware interface. The clients dhcpagent daemon:
q q q q q
Constructs and sends packets Listens for responses from servers Caches the conguration information received Releases or renews leases Congures the interfaces with sufcient information to enable communications with the network through the interface
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-3
Client
DHCP Server
Time
DHCPDISCOVER
DHCPOFFER
All DHCP offers are evaluated and DHCPREQUEST is sent 3
DHCPACK
11-4
Introducing the Fundamentals of DHCP Figure 11-4 shows the difference that a BOOTP relay makes for a client that is attempting to contact a server.
Client BOOTP Relay DHCP Server
Time
DHCPDISCOVER DHCPDISCOVER 2 DHCPOFFER All DHCP requests are evaluated and DHCPREQUEST is sent 4 DHCPACK 5
Figure 11-4 DHCP Client-Server BOOTP The BOOTP relay picks up incoming requests from clients and forwards them to the DHCP server. The DHCP server replies to the BOOTP relay, which then forwards the response on to the client. DHCP servers can be primary or secondary servers. A primary DHCP server passes IP addresses to clients. The IP address is dened during the installation and conguration of the software on the server. A primary DHCP server can give an IP address to a client that is requesting a new conguration from the range of IP addresses for which it is responsible. Multiple primary-DHCP servers can exist on the same network, as long as each server is responsible for a different IP address range. A secondary DHCP server conrms existing congurations supplied previously by a primary DHCP server when the primary DHCP server cannot respond to requests for conrmation. Every primary DHCP server also acts as a secondary server. Primary and secondary DHCP servers must have access to the exact same data source that contains the IP addresses being served to clients. Copies cannot be used. This common data access can be achieved by using NIS+ tables or by using NFS to share the DHCP network tables.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-5
Introducing the Fundamentals of DHCP The dhcpconfig command and the dhcpmgr utility are available for use to congure DHCP servers and BOOTP relay servers. These utilities enable you to set startup options, congure the DHCP service database type and location, and initialize the dhcptab le and DHCP network tables for any networks.
11-6
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-7
The dhcpmgr utility enables you to view the information gathered from system les and to change the information if needed. The dhcpconfig command enables you to specify the network information using command-line options. The dhcpmgr utility speeds up the conguration process by omitting prompts for non-essential server options by using default values for them. You can change non-essential options after the initial conguration. The dhcpconfig command is faster, but you must specify values for many options. Use this process if you are an advanced user and want to use scripts. The dhcpmgr utility checks the validity of user input as it is entered. The dhcpconfig command does not check the validity of user input as it is entered.
11-8
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-9
Configuring a DHCP Server 2. Click OK. The DHCP Conguration Wizard Step 1 window appears. Figure 11-6 shows you where to select the data storage format.
Figure 11-6 DHCP Conguration Wizard Step 1 Window 3. Select Text les, and click >.
11-10
Configuring a DHCP Server The DHCP Conguration Wizard Step 2 window appears. Figure 11-7 shows you where to enter a path for the data store. This example uses the default directory.
Figure 11-7 DHCP Conguration Wizard Step 2 Window 4. Accept the default path name, and click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-11
Configuring a DHCP Server The DHCP Conguration Wizard Step 3 window appears. Figure 11-8 enables you to specify the name service in which to store host records.
Figure 11-8 DHCP Conguration Wizard Step 3 Window 5. Select /etc/hosts, and click >.
11-12
Configuring a DHCP Server The DHCP Conguration Wizard Step 4 window appears. Figure 11-9 shows you where to specify the length of the lease. This example uses the defaults 1 and days.
Figure 11-9 DHCP Conguration Wizard Step 4 Window 6. Accept the defaults of 1 and days, and click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-13
Configuring a DHCP Server The DHCP Conguration Wizard Step 5 window appears. Figure 11-10 shows you where to specify the DNS domain and DNS servers. This example uses the default of no DNS.
Figure 11-10 DHCP Conguration Wizard Step 5 Window 7. Do not accept a DNS domain or DNS server, and click >.
11-14
Configuring a DHCP Server The DHCP Conguration Wizard Step 6 window appears. Figure 11-11 shows you where to specify the network address and a subnet mask. This example uses the 192.168.1.0 network.
Figure 11-11 DHCP Conguration Wizard Step 6 Window 8. Specify a network address by either selecting one or typing one, type a subnet mask, and click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-15
Configuring a DHCP Server The DHCP Conguration Wizard Step 7 window appears. Figure 11-12 shows you where to specify information about the network. This example uses the defaults Local-Area (LAN) and Use router discovery protocol.
Figure 11-12 DHCP Conguration Wizard Step 7 Window 9. Select either Local-Area (LAN) or Point-to-Point.
10. Select either Use router discovery protocol or type the router information in the Use router eld. 11. Click >.
11-16
Configuring a DHCP Server The DHCP Conguration Wizard Step 8 window appears. Figure 11-13 shows you where to specify the NIS domain and servers. This example uses the defaults of no NIS domain and no NIS server.
Figure 11-13 DHCP Conguration Wizard Step 8 Window 12. If appropriate, type the NIS domain conguration in the NIS Domain eld. 13. If appropriate, type the NIS server IP address in the NIS Servers eld, and click Add for each NIS server that you are specifying. 14. Click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-17
Configuring a DHCP Server The DHCP Conguration Wizard Step 9 window appears. Figure 11-14 shows you where to specify the NIS+ domain and servers. This example uses the defaults of no NIS+ domain and no NIS+ server.
Figure 11-14 DHCP Conguration Wizard Step 9 Window 15. If appropriate, type the NIS+ domain conguration in the NIS+ Domain eld. 16. If appropriate, type the NIS+ server IP address in the NIS+ Servers eld, and click Add for each NIS+ server that you are specifying. 17. Click >.
11-18
Configuring a DHCP Server The DHCP Conguration Wizard Step 10 window appears. Figure 11-15 shows you a summary of the information you entered previously. This example uses the sample information indicated previously.
Figure 11-15 DHCP Conguration Wizard Step 10 Window 18. Review the information and, if the information is correct, click Finish.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-19
Configuring a DHCP Server The DHCP Conguration Manager Window closes, the main DHCP Manager Window appears, and the Start Address Wizard window appears. Figure 11-16 shows you where to indicate that you want to congure addresses for the server.
Figure 11-16 Start Address Wizard Window 19. Click Yes to proceed with address conguration. The DHCP network le will now be populated.
11-20
Figure 11-17 DHCP Address Conguration Wizard Step 1 Window 1. 2. 3. Modify the number of IP addresses to use. Add a comment if necessary. Click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-21
Configuring a DHCP Server The DHCP Address Conguration Wizard Step 2 window appears. Figure 11-18 shows you where to specify the DHCP server and starting IP address. In this example, the Managed by Server eld is set to the default, and the starting IP address is changed to 192.168.1.10. This example uses sys12-dhcp for the root name.
Figure 11-18 DHCP Address Conguration Wizard Step 2 Window 4. 5. 6. Verify that Managed by Server and Starting IP Address display the correct information. If appropriate, select Generate Client Names. Click >.
11-22
Configuring a DHCP Server The DHCP Address Conguration Wizard Step 3 window appears. Figure 11-19 shows you the IP addresses that you specied in the previous step.
Figure 11-19 DHCP Address Conguration Wizard Step 3 Window 7. Verify that the address information is correct, and click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-23
Configuring a DHCP Server The DHCP Address Conguration Wizard Step 4 window appears. Figure 11-20 shows you the name of the macro to be associated with the DHCP interface.
Figure 11-20 DHCP Address Conguration Wizard Step 4 Window 8. 9. Select Conguration Macro from the drop-down list box and verify that Addresses are unusable is unchecked. If you want to view the contents of the selected macro, click View. To exit the contents window, click OK.
11-24
Configuring a DHCP Server The DHCP Address Conguration Wizard Step 5 window appears. Figure 11-21 shows you where to specify the type of lease. This example uses the default of Dynamic.
Note Normally, routers, mail servers, and systems that provide services use permanent lease types. 11. Select either Dynamic or Permanent, and click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-25
Configuring a DHCP Server The DHCP Address Conguration Wizard Step 6 window appears. Figure 11-22 shows the information that you entered in previous steps.
Figure 11-22 DHCP Address Conguration Wizard Step 6 Window 12. Review the information, and click Finish.
11-26
Configuring a DHCP Server The DHCP Manager Window appears. Figure 11-23 shows the information that you have provided.
Figure 11-23 DHCP Manager Window 13. Choose Exit from the File menu to close the DHCP Manager window. 14. To view the information that the dhcpmgr utility added to the /etc/inet/hosts le, use the grep command: # grep dhcp /etc/inet/hosts 192.168.1.10 sys13-dhcp-10 #net1 192.168.1.11 sys13-dhcp-11 #net1 192.168.1.12 sys13-dhcp-12 #net1 192.168.1.13 sys13-dhcp-13 #net1 192.168.1.14 sys13-dhcp-14 #net1 192.168.1.15 sys13-dhcp-15 #net1 192.168.1.16 sys13-dhcp-16 #net1 192.168.1.17 sys13-dhcp-17 #net1 192.168.1.18 sys13-dhcp-18 #net1 192.168.1.19 sys13-dhcp-19 #net1 #
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-27
Congure and uncongure a DHCP server Convert to a new data store Import data to and export data from other DHCP servers
Note The dhcpconfig command is no longer menu-driven as it was in previous versions of the Solaris OS.
-p location
The dhcpconfig command uses the appropriate system and network conguration les, such as /etc/inet/hosts, /etc/inet/netmasks or others, on the DHCP server to determine values that are not provided on the command line.
11-28
Configuring a DHCP Server To congure (-D) a system for DHCP services using ASCII les for datastore (-r) and locate (-p) the datastore les in the /var/dhcp directory, enter the following: # /usr/sbin/dhcpconfig -D -r SUNWfiles -p /var/dhcp Created DHCP configuration file. Created dhcptab. Added "Locale" macro to dhcptab. Added server macro to dhcptab - sys12. DHCP server started. #
Note Using the ASCII datastore format (SUNWfiles) is much slower than storing the les in the binary datastore format (SUNWbinfiles). The examples use the ASCII datastore format because the resulting les are viewed more easily. After the datastore location and type are established, you must congure the appropriate les to function as a DHCP server. To congure the system to provide DHCP services for the 192.168.1.0 network (-N) and the 192.168.1.1 router (-t), type the command: # /usr/sbin/dhcpconfig -N 192.168.1.0 -t 192.168.1.1 Added network macro to dhcptab - 192.168.1.0. Created network table. #
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-29
DHCP Network
92.168.1.0
Client ID
00
Client Address:
192.168.30.1
Server Address:
192.168.30.30
Figure 11-24 The DHCP Network File One DHCP network le exists for each network that is served by the DHCP server. The name of each le is determined from the datastore format and the network address of the network that it supports, such as SUNWfiles1_192_168_1_0. There is no table or le with the name SUNWfiles. The name always includes an IP address and an identier about the le type (SUNWbinfiles, SUNWfiles, or SUNWnisplus).
11-30
Configuring a DHCP Server To view the initial contents of the DHCP network le, type the command: # cat SUNWfiles1_192_168_1_0 # SUNWfiles1_192_168_1_0 # # Do NOT edit this file by hand -- use pntadm(1M) or dhcpmgr(1M) instead # The DHCP network tables can exist as ASCII text les, binary les, or NIS+ tables, depending on the datastore used. Binary les are faster and more efcient and are recommended for networks with a DHCP client base of many thousands of systems.
Add and remove networks under DHCP management Add, delete, and modify IP address records within network tables View tables
You can use any one of the following option ags with the pntadm command: -C -A -M -P -D -r -p Creates a DHCP network table Adds an entry to a DHCP network table Modies an entry made to a DHCP network table Views changes made to a DHCP network table Deletes an entry from a DHCP network table Uses the supplied datastore resource, not the default database Uses the supplied path, not the default path
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-31
Note You can use an alias name for this network in place of the network number if the alias is dened in the /etc/inet/networks le. To verify that the network table was created, type the command: # ls /var/dhcp | grep 30 SUNWfiles1_192_168_30_0 # To view the initial contents of the new table, use the cat command: # cat /var/dhcp/SUNWfiles1_192_168_30_0 # SUNWfiles1_192_168_30_0 # # Do NOT edit this file by hand -- use pntadm(1M) or dhcpmgr(1M) instead #
11-32
Note Observe that the Flags value is 03, which represents the sum of 2 and 1, where MANUAL is represented by 2 and PERMANENT is represented by 1. Refer to the DHCP network man page for more information. To view the changes by using the table, type the command: # cat /var/dhcp/SUNWfiles1_192_168_30_0 # SUNWfiles1_192_168_30_0 # # Do NOT edit this file by hand -- use pntadm(1M) or dhcpmgr(1M) instead # 192.168.30.1|00|03|192.168.1.2|0|8214847195300495362|mymacro| # To change the 192.168.30.1 entry to 192.168.30.2 (-n), type the command: # pntadm -M 192.168.30.1 -n 192.168.30.2 192.168.30.0 To verify the changes, type the command: # pntadm -P 192.168.30.0
Client ID 00 Flags 03 Client IP 192.168.30.2 Server IP 192.168.1.2 Lease Expiration Zero Macro mymacro Comment
# To delete the 192.168.30.2 entry from the 192.168.30.0 table, type the command: # pntadm -D 192.168.30.2 192.168.30.0
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-33
Configuring a DHCP Server To verify the changes, type the command: # pntadm -P 192.168.30.0
Client ID Flags Client IP Server IP Lease Expiration Macro Comment
11-34
Symbols are individual parameters to which values can be assigned. Macros are collections of symbols that are associated with an IP address and are used to dene the set of information that is given to a DHCP client system To create the DHCP service conguration table, dhcptab, type the command: # dhtadm -C To add a symbol called NewSym to the dhcptab table, type the command: # dhtadm -A -s NewSym -d Vendor=SUNW.PCW.LAN,20,IP,1,0 -r SUNWfiles -p /var/dhcp To add a macro called NewMacro to the dhcptab table, type the command: # dhtadm -A -m NewMacro :Timeserv=192.168.1.1:DNSserv=192.168.1.1: # To view the changes, type the command:
# dhtadm -P Name Type Value ================================================== NewMacro Macro :Timeserv=192.168.1.1:DNSserv=192.168.1.1: 192.168.1.0 Macro :Subnet=255.255.255.0:Router=192.168.1.1:Broadcst=192.168.1.255: sys12 Macro :Include=Locale:Timeserv=192.168.1.1:LeaseTim=86400:LeaseNeg: Locale Macro :UTCoffst=-25200: NewSym Symbol Vendor=SUNW.PCW.LAN,20,IP,1,0 #
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-35
Configuring a DHCP Server You can modify an existing symbol or macro denition. In this example, to remove the Timeserv symbol from the NewMacro macro, type the command: # dhtadm -M -m NewMacro -e Timeserv= To view the changes, type the command:
# dhtadm -P Name Type Value ================================================== NewMacro Macro :DNSserv=192.168.1.1: 192.168.1.0 Macro :Subnet=255.255.255.0:Router=192.168.1.1:Broadcst=192.168.1.255: sys12 Macro :Include=Locale:Timeserv=192.168.1.1:LeaseTim=86400:LeaseNeg: Locale Macro :UTCoffst=-25200: NewSym Symbol Vendor=SUNW.PCW.LAN,20,IP,1,0 #
To dene a value for the LeaseTim symbol, type the command: # dhtadm -M -m NewMacro -e LeaseTim=3600 # To view the changes, type the command:
# dhtadm -P Name Type Value ================================================== NewMacro Macro :DNSserv=192.168.1.1:LeaseTim=3600: 192.168.1.0 Macro :Subnet=255.255.255.0:Router=192.168.1.1:Broadcst=192.168.1.255: sys12 Macro :Include=Locale:Timeserv=192.168.1.1:LeaseTim=86400:LeaseNeg: Locale Macro :UTCoffst=-25200: NewSym Symbol Vendor=SUNW.PCW.LAN,20,IP,1,0 #
To delete the NewSym symbol from the dhcptab table, type the command: # dhtadm -D -s NewSym # To verify the changes, type the command:
# dhtadm -P Name Type Value ================================================== NewMacro Macro :DNSserv=192.168.1.1:LeaseTim=3600: 192.168.1.0 Macro :Subnet=255.255.255.0:Router=192.168.1.1:Broadcst=192.168.1.255: sys12 Macro :Include=Locale:Timeserv=192.168.1.1:LeaseTim=86400:LeaseNeg: Locale Macro :UTCoffst=-25200: #
11-36
Configuring a DHCP Server To delete the NewMacro macro from the dhcptab table, type the command: # dhtadm -D -m NewMacro To verify the changes, type the command: # dhtadm -P
Name Type Value ================================================== 192.168.1.0 Macro :Subnet=255.255.255.0:Router=192.168.1.1:Broadcst=192.168.1.255: sys12 Macro :Include=Locale:Timeserv=192.168.1.1:LeaseTim=86400:LeaseNeg: Locale Macro :UTCoffst=-25200: #
Table 11-1 shows the items that are created during DHCP conguration. Table 11-1 Items Created During DHCP Server Conguration Item The service conguration le, /etc/inet/dhcpsvc.conf Description Records keywords and values for server conguration options. Contents Data store type and location. Options used with the in.dhcpd daemon to start the DHCP daemon when the system boots. Macros and options with assigned values. The UTCoffst option.
Creates a dhcptab table if it does not already exist. Contains the local time zones offset in seconds from Coordinated Universal Time. Contains options with values determined by input from the administrator who congured the DHCP server. The options apply to all clients that use addresses owned by the server.
The Locale macro. The options: Palatinoerv, which is set to point to the servers primary IP address; LeaseTim and LeaseNeg, if you select negotiable leases; and DNSdmain and DNSserv, if DNS is congured.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-37
Configuring a DHCP Server Table 11-1 Items Created During DHCP Server Conguration (Continued) Item The network address macro, which is named the same as the network address of the clients network Description Contains options with values determined by input from the administrator who congured the DHCP server. The options apply to all clients that are located on the network specied by the macro name. Creates an empty table until you create the IP addresses for the network. Contents The options: Subnet Router or RDiscvyF Broadcst, if the network is a LAN, maximum transfer unit (MTU); NISdmain and NISservs, if NIS is congured; and NIS+dom and NIS+serv, if NIS+ is congured. None, until you add the IP addresses.
11-38
# touch /etc/dhcp.hme0 Note Verify that the /etc/hostname.interface le exists for the interface being congured using DHCP; otherwise, the interface will not be plumbed. This is a requirement for a successful DHCP conguration of the client. 3. 4. Congure the /etc/default/dhcpagent le on the DHCP client so that it releases its IP address if it is rebooted or shut down. Edit the /etc/default/dhcpagent le, and remove the # in front of the RELEASE_ON_SIGTERM=yes parameter. This causes the DHCP client to relinquish its address when it reboots or is shut down properly.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-39
Configuring and Managing DHCP Clients 5. 6. Reboot the client, and watch the system console as the system boots. Observe the hostname, for example:
Copyright 1983-2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Hostname: sys13-dhcp-14
Note The state le is written only when the dhcpagent process is terminated and the dhcpagent program is not congured to release its IP address on termination.
11-40
Configuring and Managing DHCP Clients The DHCP server makes sure that the host name is not in use by another system on the network before the server assigns it to the client. Depending on how the DHCP server is congured, it can also update naming services with the clients host name. If your client is not a Solaris 10 OS client, consult the clients documentation for conguration instructions.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-41
There is no n.n.n.n dhcp-network table for DHCP clients network This error message means that a client requests a specic IP address or seeks to extend a lease on its current IP address, but the DHCP server cannot nd the DHCP network table for that address. The DHCP network table might have been deleted by mistake. Recreate the DHCP network table by adding the network again using the dhcpmgr utility or the pntadm command.
ICMP ECHO reply to the OFFER candidate is n.n.n.n, disabling The IP address considered for a DHCP client is already in use. This might occur if more than one DHCP server owns the address or if an address is manually congured for a non-DHCP network client. Determine the correct ownership of the address, and correct either the DHCP server database or the hosts network conguration.
ICMP ECHO reply to OFFER candidate n.n.n.n. No corresponding dhcp network record The IP address considered for a DHCP client does not have a record in a network table. This might occur if the IP address record is deleted from the DHCP network table after the address is selected, but before the duplicate address check is complete. Use the dhcpmgr utility or the pntadm command to view the DHCP network table. If the IP address is missing, create it with the DHCP Manager (select Create from the Edit menu on the Address tab) or use the pntadm command.
11-42
DHCP network record for n.n.n.n is unavailable, ignoring request The record for the requested IP address is not in the DHCP network table; therefore, the server drops the request. Use the dhcpmgr utility or the pntadm command to view the DHCP network table and, if the IP address is missing, create it with the dhcpmgr utility (select Create from the Edit menu on the Address tab) or use the pntadm command.
Manual allocation (n.n.n.n, client ID has n other records). Should have 0. The client that has the specied client ID is manually assigned more than one IP address. There should be only one address. The server selects the last manually assigned address it nds in the network table. Use the DHCP Manager or the pntadm command to modify IP addresses to remove the additional manual allocations.
No more IP addresses on n.n.n.n network. All IP addresses that are currently managed by DHCP on the specied network are allocated. Use the DHCP Manager or the pntadm command to create new IP addresses for this network.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-43
Client: clientID lease for n.n.n.n expired. The lease was not negotiable, and it has timed out. The client restarts the protocol to obtain a new lease. Offer expired for client: n.n.n.n The server made an IP address offer to the client, but the client took too long to respond, and the offer expired. The client issues another discover message. If this request times out, increase the cache-offer timeout for the DHCP server. In the DHCP Manager, select Modify from the Service menu.
Client: clientID REQUEST is missing requested IP option. The clients request did not specify the offered IP address, so the DHCP server ignores the request. This problem might occur if the client is not compliant with the updated DHCP, RFC 2131. Update the client software. Client: clientID is trying to renew n.n.n.n, an IP address it has not leased. The IP address recorded in the DHCP network table for this client does not match the IP address that the client specied in its renewal request. The DHCP server does not renew the lease. This problem occurs if you delete a clients record while the client is still using the IP address. Use the DHCP Manager or the pntadm command to examine the network table, and correct if necessary. The clients ID should be bound to the specied IP address. If it is not, edit the address properties to add the client ID. To enable the client to receive a new lease immediately, restart the DHCP agent on the client by typing the commands:
11-44
Problems communicating with the DHCP server Problems with inaccurate DHCP conguration information
After you enable the client software and reboot the system, the client tries to reach the DHCP server to obtain its network conguration. If the client fails to reach the server or if the client does not receive correct information, you can see error messages, such as: DHCP or BOOTP server not responding Need router-ip to communicate with TFTP server TFTP servers IP address not known! Before you determine the problem, you must gather diagnostic information from both the client and the server, and analyze this information. To gather information, you can:
q q q
Run the client in debug mode. Run the server in debug mode. Start the snoop utility to monitor network trafc.
You can perform these tasks separately or concurrently. The information you gather can help you determine if the problem is with the client, server, or a relay agent.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-45
Preparation
Before performing this exercise, do the following:
q
Refer to your network diagram to determine the function of each system on your subnet. Refer to the lecture notes as necessary to perform the tasks listed.
Note Use the default conguration parameters in these exercises unless otherwise specied. The exercise examples show the DHCP server as 192.168.X.3 and the DHCP client as 192.168.X.4. The complete system and server-client functions for these exercises are shown in Table 11-2. Table 11-2 Exercise Host Functions Host Instructor sysX1 sysX2 sysX3 sysX4 Function Root DNS name server Router Primary DNS name server, DNS client Secondary DNS name server, DNS client, DHCP server DNS client, DHCP client
11-46
Task Summary
In this exercise, you accomplish the following tasks:
q q q
Congure a DHCP server. Congure a DHCP client. Use the snoop utility to view DHCP client server interaction.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-47
2. 3. 4.
11-48
Exercise: Configuring a DHCP Server and Client 5. Use the snoop utility to convert the trace data to ASCII text, and output that text to the /tmp/dhcp-snoop.txt le for viewing with any text editor that provides easy navigation and searching of the data. Use the view utility to view the trace data in the /tmp/dhcp-snoop.txt le. Look for messages, such as DHCPDISCOVER, DHCPOFFER, DHCPREQUEST, and DHCPACK, in the trace. Observe the ETHER destination addresses, the source and destination IP addresses, and the DHCP messages. Prevent the client system from continuing to act as a DHCP by removing the /etc/dhcp.* les and rebooting the system.
6.
7.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-49
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
11-50
Exercise Solutions
Exercise Solutions
Solutions to the exercise are provided in this section.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-51
Exercise Solutions If the system is not congured as a DHCP server or BOOTP relay, Figure 11-25 appears.
Figure 11-25 Choose Server Conguration Window Perform the following: a. Click OK. The DHCP Conguration Wizard Step 1 window in Figure 11-26 appears.
11-52
Exercise Solutions b. Select Text les, and click >. The DHCP Conguration Wizard Step 2 window in Figure 11-27 appears. This example uses the default directory.
Figure 11-27 DHCP Conguration Wizard Step 2 Window c. Accept the default path name, and click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-53
Exercise Solutions The DHCP Conguration Wizard Step 3 window in Figure 11-28 appears.
Figure 11-28 DHCP Conguration Wizard Step 3 Window d. Select /etc/hosts, and click >.
11-54
Exercise Solutions The DHCP Conguration Wizard Step 4 window in Figure 11-29 appears. This example uses the defaults 1 and days.
Figure 11-29 DHCP Conguration Wizard Step 4 Window e. Accept the defaults of 1, days, and Clients can renew their leases, then click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-55
Exercise Solutions The DHCP Conguration Wizard Step 5 window in Figure 11-30 appears. This example uses the default DNS information.
Figure 11-30 DHCP Conguration Wizard Step 5 Window f. Accept the default DNS domain and DNS servers, and click >.
11-56
Exercise Solutions The DHCP Conguration Wizard Step 6 window in Figure 11-31 appears. This example uses the 192.168.1.0 network.
Figure 11-31 DHCP Conguration Wizard Step 6 Window g. Specify a network address by either selecting one or typing one, type a subnet mask, and click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-57
Exercise Solutions The DHCP Conguration Wizard Step 7 window in Figure 11-32 appears. This example uses the defaults of Local-Area (LAN) and Use router discovery protocol.
Figure 11-32 DHCP Conguration Wizard Step 7 Window h. i. j. Select Local-Area (LAN). Select Use router discovery protocol. Click >.
11-58
Exercise Solutions The DHCP Conguration Wizard Step 8 window in Figure 11-33 appears. This example uses the defaults of no NIS Domain and no NIS Servers.
Figure 11-33 DHCP Conguration Wizard Step 8 Window k. l. Accept the defaults, no entries, as shown. Click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-59
Exercise Solutions The DHCP Conguration Wizard Step 9 window in Figure 11-34 appears. This example uses the defaults of no NIS+ domain and no NIS+ servers.
Figure 11-34 DHCP Conguration Wizard Step 9 Window m. n. Accept the default of no entries, as shown. Click >.
11-60
Exercise Solutions The DHCP Conguration Wizard Step 10 window in Figure 11-35 appears. This example uses the sample information indicated previously.
Figure 11-35 DHCP Conguration Wizard Step 10 Window o. Review the information and, if the information is correct, click Finish.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-61
Exercise Solutions The DHCP Conguration Manager Window closes, the main DHCP Manager Window appears, and the Start Address Wizard window in Figure 11-36 appears.
Figure 11-36 Start Address Wizard Window p. Click Yes to proceed with address conguration.
11-62
Exercise Solutions The DHCP Address Conguration Wizard Step 1 window in Figure 11-37 appears. This example uses ve addresses and a comment of net1.
Figure 11-37 DHCP Address Conguration Wizard Step 1 Window 3. Add at least ve addresses. Perform the following: a. b. Enter 5 in the Number of IP Addresses eld. Add the comment net1 in this example. (This is the comment appended to the end of each DHCP-managed IP address line added to the /etc/inet/hosts le). Click >.
c.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-63
Exercise Solutions The DHCP Address Conguration Wizard Step 2 window in Figure 11-38 appears. In this example, the Managed by Server eld is set to the default, and the starting IP address must be changed to 192.168.1.10. This example allows client name generation and uses sys13-dhcp for the root name.
Figure 11-38 DHCP Address Conguration Wizard Step 2 Window d. e. f. g. Verify that Managed by Server and Starting IP Address elds display the correct information. Select Generate Client Names. Type a name in the Root Name eld. Click >.
11-64
Exercise Solutions The DHCP Address Conguration Wizard Step 3 window in Figure 11-39 appears.
Figure 11-39 DHCP Address Conguration Wizard Step 3 Window h. Verify that the address information is correct, and click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-65
Exercise Solutions The DHCP Address Conguration Wizard Step 4 window in Figure 11-40 appears.
Figure 11-40 DHCP Address Conguration Wizard Step 4 Window i. j. Use the default Conguration Macro and verify that Addresses are unusable is checked. Click >.
11-66
Exercise Solutions The DHCP Address Conguration Wizard Step 5 window in Figure 11-41 appears. This example uses the default Dynamic.
Figure 11-41 DHCP Address Conguration Wizard Step 5 Window k. Select Dynamic, and click >.
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-67
Exercise Solutions The DHCP Address Conguration Wizard Step 6 window in Figure 11-42 appears.
Figure 11-42 DHCP Address Conguration Wizard Step 6 Window l. Review the information, and click Finish.
Note You can continue without problems if one or two addresses are already in use from earlier exercises.
11-68
Figure 11-43 DHCP Manager Window m. 4. Select Exit from the File menu to close the DHCP Manager window.
To view the information that the dhcpmgr utility added to the/etc/inet/hosts le, use the grep command:
# grep dhcp /etc/inet/hosts 192.168.1.10 sys13-dhcp-10 #net1 192.168.1.11 sys13-dhcp-11 #net1 192.168.1.12 sys13-dhcp-12 #net1 192.168.1.13 sys13-dhcp-13 #net1 192.168.1.14 sys13-dhcp-14 #net1 #
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-69
Exercise Solutions
Note Verify that the /etc/hostname.interface le exists for the interface being congured using DHCP; otherwise, the interface is not plumbed. This is a requirement for a successful DHCP conguration of the client. 3. Congure the /etc/default/dhcpagent le on the DHCP client so that it releases its IP address if it is rebooted or is shut down. Edit the /etc/default/dhcpagent le, and remove the # in front of the RELEASE_ON_SIGTERM=yes parameter. 4. Reboot the client, and watch the system console as the system boots. You should see something similar to the following: SunOS Release 5.10 Version Generic 64-bit Copyright 1983-2005 Sun Microsystems, Inc. Use is subject to license terms. Hostname: sys13-dhcp-14 All rights reserved.
# snoop -d hme0 -o /tmp/dhcp-snoop.snp Using device /dev/hme (promiscuous mode) 2. # init 6 3. After the DHCP client has booted, stop the snoop utility by pressing the Control+C key sequence. Reboot the DHCP client system.
11-70
Exercise Solutions 4.
1 2 ... ... 24 ... ... 105 106 107 108 109 110 111 112 ...
OLD-BROADCAST -> BROADCAST DHCP/BOOTP DHCPDISCOVER sys13.one.edu -> 192.168.1.14 ICMP Echo request (ID: 4 Sequence number: 0) sys13.one.edu -> 192.168.1.14 DHCP/BOOTP DHCPOFFER ? -> (multicast) ETHER Type=0001 (LLC/802.3), size = 52 bytes OLD-BROADCAST -> BROADCAST DHCP/BOOTP DHCPREQUEST sys13.one.edu -> 192.168.1.14 DHCP/BOOTP DHCPACK OLD-BROADCAST -> (broadcast) ARP C Who is 192.168.1.14, 192.168.1.14 ? 192.168.1.14 -> (broadcast) ARP C Who is 192.168.1.14, 192.168.1.14 ?
5.
Use the snoop utility to convert the trace data to ASCII text, and output that text to the /tmp/dhcp-snoop.txt le for viewing with any text editor that provides easy navigation and searching of the data. Use the view utility to view the trace data in the /tmp/dhcp-snoop.txt le. Look for messages, such as DHCPDISCOVER, DHCPOFFER, DHCPREQUEST, and DHCPACK, in the trace. Observe the ETHER destination addresses, the source and destination IP addresses, and the DHCP messages.
DHCPRELEASE: ETHER: ----- Ether Header ----ETHER: ETHER: Packet 24 arrived at 9:31:56.83990 ETHER: Packet size = 342 bytes ETHER: Destination = 0:3:ba:68:45:39, ETHER: Source = 0:3:ba:68:44:d3, ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----IP: IP: Version = 4 IP: Header length = 20 bytes IP: Type of service = 0x00 IP: xxx. .... = 0 (precedence) IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-71
Exercise Solutions IP: IP: IP: IP: IP: IP: IP: IP: IP: IP: IP: IP: IP: IP: IP: UDP: UDP: UDP: UDP: UDP: UDP: UDP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: .... ..0. = not ECN capable transport .... ...0 = no ECN congestion experienced Total length = 328 bytes Identification = 55877 Flags = 0x4 .1.. .... = do not fragment ..0. .... = last fragment Fragment offset = 0 bytes Time to live = 255 seconds/hops Protocol = 17 (UDP) Header checksum = 1cfd Source address = 192.168.1.14, 192.168.1.14 Destination address = 192.168.1.3, sys13.one.edu No options ----- UDP Header ----Source port = 68 Destination port = 67 (BOOTPS) Length = 308 Checksum = B341 ----- Dynamic Host Configuration Protocol ----Hardware address type (htype) = 1 (Ethernet (10Mb)) Hardware address length (hlen) = 6 octets Relay agent hops = 0 Transaction ID = 0x6fdf1bbf Time since boot = 0 seconds Flags = 0x0000 Client address (ciaddr) = 192.168.1.14 Your client address (yiaddr) = 0.0.0.0 Next server address (siaddr) = 0.0.0.0 Relay agent address (giaddr) = 0.0.0.0 Client hardware address (chaddr) = 00:03:BA:68:44:D3 ----- (Options) field options ----Message type = DHCPRELEASE Error Message = DHCP agent is exiting DHCP Server Identifier = 192.168.1.3
DHCPDISCOVER:
11-72
Exercise Solutions ETHER: ----- Ether Header ----ETHER: ETHER: Packet 105 arrived at 9:34:5.95251 ETHER: Packet size = 342 bytes ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) ETHER: Source = 0:3:ba:68:44:d3, ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----IP: IP: Version = 4 IP: Header length = 20 bytes IP: Type of service = 0x00 IP: xxx. .... = 0 (precedence) IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = not ECN capable transport IP: .... ...0 = no ECN congestion experienced IP: Total length = 328 bytes IP: Identification = 4 IP: Flags = 0x4 IP: .1.. .... = do not fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 7aa1 IP: Source address = 0.0.0.0, OLD-BROADCAST IP: Destination address = 255.255.255.255, BROADCAST IP: No options IP: UDP: ----- UDP Header ----UDP: UDP: Source port = 68 UDP: Destination port = 67 (BOOTPS) UDP: Length = 308 UDP: Checksum = E7EC UDP: DHCP: ----- Dynamic Host Configuration Protocol ----DHCP: DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) DHCP: Hardware address length (hlen) = 6 octets DHCP: Relay agent hops = 0 DHCP: Transaction ID = 0x926aa722 DHCP: Time since boot = 48 seconds
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-73
Exercise Solutions DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: Flags = 0x0000 Client address (ciaddr) = 0.0.0.0 Your client address (yiaddr) = 0.0.0.0 Next server address (siaddr) = 0.0.0.0 Relay agent address (giaddr) = 0.0.0.0 Client hardware address (chaddr) = 00:03:BA:68:44:D3 ----- (Options) field options ----Message type = DHCPDISCOVER Maximum DHCP Message Size = 1472 bytes IP Address Lease Time = -1 seconds Client Class Identifier = "SUNW.UltraAX-i2" Requested Options: 1 (Subnet Mask) 3 (Router) 6 (DNS Servers) 12 (Client Hostname) 15 (DNS Domain Name) 28 (Broadcast Address) 43 (Vendor Specific Options)
DHCPOFFER:
11-74
Exercise Solutions ETHER: ----- Ether Header ----ETHER: ETHER: Packet 107 arrived at 9:34:6.96163 ETHER: Packet size = 359 bytes ETHER: Destination = 0:3:ba:68:44:d3, ETHER: Source = 0:3:ba:68:45:39, ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----IP: IP: Version = 4 IP: Header length = 20 bytes IP: Type of service = 0x00 IP: xxx. .... = 0 (precedence) IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = not ECN capable transport IP: .... ...0 = no ECN congestion experienced IP: Total length = 345 bytes IP: Identification = 42935 IP: Flags = 0x4 IP: .1.. .... = do not fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 4f7a IP: Source address = 192.168.1.3, sys13.one.edu IP: Destination address = 192.168.1.14, 192.168.1.14 IP: No options IP: UDP: ----- UDP Header ----UDP: UDP: Source port = 67 UDP: Destination port = 68 (BOOTPC) UDP: Length = 325 UDP: Checksum = 84B8 UDP: DHCP: ----- Dynamic Host Configuration Protocol ----DHCP: DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) DHCP: Hardware address length (hlen) = 6 octets DHCP: Relay agent hops = 0 DHCP: Transaction ID = 0x926aa722 DHCP: Time since boot = 48 seconds
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-75
Exercise Solutions DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: Flags = 0x0000 Client address (ciaddr) = 0.0.0.0 Your client address (yiaddr) = 192.168.1.14 Next server address (siaddr) = 0.0.0.0 Relay agent address (giaddr) = 0.0.0.0 Client hardware address (chaddr) = 00:03:BA:68:44:D3 ----- (Options) field options ----Message type = DHCPOFFER DHCP Server Identifier = 192.168.1.3 UTC Time Offset = -25200 seconds RFC868 Time Servers at = 192.168.1.3 IP Address Lease Time = 86400 seconds DNS Domain Name = one.edu DNS Servers at = 192.168.1.2 DNS Servers at = 192.168.1.3 Broadcast Address = 192.168.1.255 Perform Router Discovery Flag flag = 0x1 Subnet Mask = 255.255.255.0 Client Hostname = sys13-dhcp-14
DHCPREQUEST:
11-76
Exercise Solutions ETHER: ----- Ether Header ----ETHER: ETHER: Packet 109 arrived at 9:34:8.13256 ETHER: Packet size = 342 bytes ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) ETHER: Source = 0:3:ba:68:44:d3, ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----IP: IP: Version = 4 IP: Header length = 20 bytes IP: Type of service = 0x00 IP: xxx. .... = 0 (precedence) IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = not ECN capable transport IP: .... ...0 = no ECN congestion experienced IP: Total length = 328 bytes IP: Identification = 5 IP: Flags = 0x4 IP: .1.. .... = do not fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 7aa0 IP: Source address = 0.0.0.0, OLD-BROADCAST IP: Destination address = 255.255.255.255, BROADCAST IP: No options IP: UDP: ----- UDP Header ----UDP: UDP: Source port = 68 UDP: Destination port = 67 (BOOTPS) UDP: Length = 308 UDP: Checksum = 9B2C UDP: DHCP: ----- Dynamic Host Configuration Protocol ----DHCP: DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) DHCP: Hardware address length (hlen) = 6 octets DHCP: Relay agent hops = 0 DHCP: Transaction ID = 0x21a95f6 DHCP: Time since boot = 48 seconds
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-77
Exercise Solutions DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: Flags = 0x0000 Client address (ciaddr) = 0.0.0.0 Your client address (yiaddr) = 0.0.0.0 Next server address (siaddr) = 0.0.0.0 Relay agent address (giaddr) = 0.0.0.0 Client hardware address (chaddr) = 00:03:BA:68:44:D3 ----- (Options) field options ----Message type = DHCPREQUEST IP Address Lease Time = 86400 seconds Maximum DHCP Message Size = 1472 bytes Requested IP Address = 192.168.1.14 DHCP Server Identifier = 192.168.1.3 Client Class Identifier = "SUNW.UltraAX-i2" Requested Options: 1 (Subnet Mask) 3 (Router) 6 (DNS Servers) 12 (Client Hostname) 15 (DNS Domain Name) 28 (Broadcast Address) 43 (Vendor Specific Options)
DHCPACK:
11-78
Exercise Solutions ETHER: ----- Ether Header ----ETHER: ETHER: Packet 110 arrived at 9:34:8.15066 ETHER: Packet size = 359 bytes ETHER: Destination = 0:3:ba:68:44:d3, ETHER: Source = 0:3:ba:68:45:39, ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----IP: IP: Version = 4 IP: Header length = 20 bytes IP: Type of service = 0x00 IP: xxx. .... = 0 (precedence) IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: .... ..0. = not ECN capable transport IP: .... ...0 = no ECN congestion experienced IP: Total length = 345 bytes IP: Identification = 44125 IP: Flags = 0x4 IP: .1.. .... = do not fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 255 seconds/hops IP: Protocol = 17 (UDP) IP: Header checksum = 4ad4 IP: Source address = 192.168.1.3, sys13.one.edu IP: Destination address = 192.168.1.14, 192.168.1.14 IP: No options IP: UDP: ----- UDP Header ----UDP: UDP: Source port = 67 UDP: Destination port = 68 (BOOTPC) UDP: Length = 325 UDP: Checksum = 84B8 UDP: DHCP: ----- Dynamic Host Configuration Protocol ----DHCP: DHCP: Hardware address type (htype) = 1 (Ethernet (10Mb)) DHCP: Hardware address length (hlen) = 6 octets DHCP: Relay agent hops = 0 DHCP: Transaction ID = 0x21a95f6 DHCP: Time since boot = 48 seconds
Conguring DHCP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
11-79
Exercise Solutions DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: DHCP: Flags = 0x0000 Client address (ciaddr) = 0.0.0.0 Flags = 0x0000 Client address (ciaddr) = 0.0.0.0 Your client address (yiaddr) = 192.168.1.14 Next server address (siaddr) = 0.0.0.0 Relay agent address (giaddr) = 0.0.0.0 Client hardware address (chaddr) = 00:03:BA:68:44:D3 ----- (Options) field options ----Message type = DHCPACK DHCP Server Identifier = 192.168.1.3 UTC Time Offset = -25200 seconds RFC868 Time Servers at = 192.168.1.3 IP Address Lease Time = 86400 seconds DNS Domain Name = one.edu DNS Servers at = 192.168.1.2 DNS Servers at = 192.168.1.3 Broadcast Address = 192.168.1.255 Perform Router Discovery Flag flag = 0x1 Subnet Mask = 255.255.255.0 Client Hostname = sys13-dhcp-14 7. # rm /etc/dhcp.* # init 6 Prevent the client system from continuing to act as a DHCP by removing the /etc/dhcp.* les and rebooting the system.
11-80
Module 12
Conguring NTP
Objectives
This module introduces how to congure the Network Time Protocol (NTP). This module also introduces NTP basics, including how computers keep time, the uses of NTP, and NTP terms. This module also describes how to congure an NTP server and an NTP client. In addition, this module describes how to troubleshoot NTP, including how to view logs and how to use the snoop utility. Upon completion of this module, you should be able to:
q q q q
Identify NTP basics Congure an NTP server Congure an NTP client Troubleshoot NTP
The course map in Figure 12-1 shows how this module ts into the current instructional goal.
Conguring DNS
Conguring NTP
12-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-2
Uses of NTP
Many network applications need synchronized clocks to properly function. For example:
q
Encryption This application often uses time as a component of encryption keys. Network management This application uses time to determine exactly when something took place. Logging The syslog facility uses time to display system events. File systems Applications time stamp les when they are created or modied. Many backup applications are congured to use time as a criteria for determining backups, so that clock synchronization between the backup server and other systems is important. Cluster Nodes Individual nodes in a Sun Cluster conguration use NTP to ensure that they all agree on the time.
q q
NTP Terms
Several terms are used when describing time-related topics. These terms are described in Table 12-1. Table 12-1 NTP Terms Term Reference clock Strata Description A clock that provides current time by accurately following a time standard, such as Coordinated Universal Time (UTC). NTP servers are arranged in a hierarchy of levels, called strata. A stratum-1 server is more accurate than a stratum-10 server. There are 16 strata. A highly available NTP server that has its own reference clock. The smallest increment in time that a clock offers. For example, a wristwatch usually has a resolution of one second. The smallest increase in time that a computer program can use.
Precision
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-3
Identifying NTP Basics Table 12-1 NTP Terms (Continued) Term Jitter Accuracy Reliability Wander Drift le Description The difference of the differences experienced when repeatedly measuring time. How close a clock follows an ofcial time reference, such as UTC. The length of time that a clock can remain accurate within a specied range. All clocks suffer from frequency variations. This variation is called wander. A le that contains the frequency offset of the local systems clock oscillator. Drift le contents can be used by protocols, like NTP, to cause a systems clock to be more accurate. The default location for Suns NTP drift le is /var/ntp/ntp.drift. The NTP daemon. A le that causes the xntpd daemon to start in either the client or the server mode and provides conguration statements that control the behavior of the xntpd daemon. You can use the fudge command in the ntp.conf le as a keyword to congure reference clocks in special ways, such as dening calibration constants to force a time offset to a particular external-time standard. A general term used for various actions carried out by some protocol, which helps keep a local clock better synchronized to an ofcial time source, such as UTC.
Discipline
12-4
# grep broadcast /etc/inet/ntp.server broadcast 224.0.1.1 ttl 4 # 2. 3. Local NTP servers answer the multicast advertisements. The NTP client sends time request packets to all of the NTP servers by using the servers unicast addresses. Included in the time request packet is the clients local time. The NTP server replies by inserting UTC time into the packet and then returns the packet to the client. The client compares its original request time with its own time when it receives the response from the server. This enables the client to determine how long the packet was in transit on the network. The client uses the UTC time value from the NTP server after it receives several responses from the NTP server. It can take up to ve minutes for an NTP client to synchronize with an NTP server.
4. 5.
6.
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-5
Configuring an NTP Server Table 12-2 shows the parts of an NTP servers conguration le and their descriptions. Table 12-2 NTP Conguration File Parts Part server 127.127.1.0 prefer Description The IP address of the preferred NTP server. In this case, the loopback network is used, indicating the use of a local clock. The server keyword indicates an IP address of an NTP server from which time will be received. If the system is a stratum-1 server, then you use X in the 127.127.X.0 syntax to identify a reference clock source. If X is set to 1, the system uses its local clock as the reference clock source. If the server is a stratum-2 (or higher), this entry is an IP address of another NTP server to contact for time information. The prefer keyword means that if multiple systems of the same strata are used to getting clock information, a preferred server is the one that is always used when performing calculations. The fudge entry is available to change (fudge) the stratum that the server advertises. The address the server uses to advertise to the network along with the TTL value to use in IP datagrams. The conguration entry that enables authentication and the monitoring facility. The location of the drift le. The location of NTP statistics. The conventional name of the key le used for authentication. The encryption identier. (Refer to RFC 1305 for more information.) The key identier. (Refer to RFC 1305 for more information.)
enable auth monitor driftfile /var/ntp/ntp.drift statsdir /var/ntp/ntpstats/ keys /etc/inet/ntp.keys trustedkey 0 controlkey 0
Note Different types of facilities, such as loopstats or clockstats, can also be enabled (refer to the xntpd man page for more details).
12-6
# cp /etc/inet/ntp.server /etc/inet/ntp.conf # 2. Open the /etc/inet/ntp.conf le for editing, and change the server IP address to 127.127.1.0, where the number 1 represents the undisciplined local clock. Comment out the fudge keyword because special conguration is not needed for the local reference clock. Change: server 127.127.XType.0 fudge 127.127.XType.0 stratum 0 to: server 127.127.1.0 prefer # fudge 127.127.XType.0 stratum 0
# vi /etc/inet/ntp.conf
Note Choices for XType are listed in the comments of the /etc/inet/ntp.server le. 3. Create a drift le as specied by the driftfile /var/ntp/ntp.drift entry in the /etc/inet/ntp.conf le.
# touch /var/ntp/ntp.drift #
Note The xntpd daemon creates the contents of the drift le dynamically. 4. Verify that the le exists. 0 Aug 16 11:06 /var/ntp/ntp.drift
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-7
Configuring an NTP Server 5. Start the NTP daemon by using the svcadm command.
# svcadm -v enable svc:/network/ntp network/ntp enabled. # 6. Verify that the NTP daemon is running. # pgrep -lf ntp 1585 /usr/lib/inet/xntpd # 7. Use the snoop utility to view NTP server multicast advertisements.
# snoop | grep -i ntp Using device /dev/hme (promiscuous mode) sys11 -> 224.0.1.1 NTP broadcast sys11 -> 224.0.1.1 NTP broadcast sys11 -> 224.0.1.1 NTP broadcast sys11 -> 224.0.1.1 NTP broadcast ... ...
Note Notice the 64-second interval between NTP advertisements sent out. This is due to the NTP polling value of 6; 26 is 64. The polling value can be seen by using the snoop -v command.
12-8
# cp /etc/inet/ntp.server /etc/inet/ntp.conf # 2. Open the /etc/inet/ntp.conf le for editing, and change the server entry. Comment out the fudge keyword because special conguration is not needed for an external reference clock. Change: server 127.127.XType.0 fudge 127.127.XType.0 stratum 0 to: server external-time-server-a server external-time-server-b server external-time-server-c # fudge 127.127.XType.0 stratum 0 3. Create a drift le as specied by the driftfile /var/ntp/ntp.drift entry in the /etc/inet/ntp.conf le.
# vi /etc/inet/ntp.conf
# touch /var/ntp/ntp.drift # 4. Verify that the le exists. 0 Aug 16 14:41 /var/ntp/ntp.drift # ls -al /var/ntp/ntp.drift -rw-r--r-1 root root #
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-9
Configuring an NTP Server 5. Start the NTP daemon by using the svcadm command.
# svcadm -v svc:/enable network/ntp network/ntp enabled. 6. Check to see if the NTP daemon is running. # pgrep -lf ntp 1595 /usr/lib/inet/xntpd #
Note NTP servers and client that are synchronizing with specic servers dened in the /etc/inet/ntp.conf le use a 64-second polling interval initially. When time synchronization is established, the polling interval increases to 17 minutes and 4 seconds (that is, 1024 seconds, or 210 seconds).
Managing Daemons
By default, all NTP messages are sent to the syslog facility. To view the logged information in pseudo real-time, use the tail command with the follow (-f) option. For example: # tail -f /var/adm/messages Aug 16 14:25:37 sys11 xntpd[1614]: [ID 450285 daemon.error] 0 makes a poor control keyid ... You can query or congure a running xntpd daemon by using the xntpdc utility, which was introduced in the Solaris 8 OS. The xntpdc command provides an extensive view of the state of the xntpd daemon. You can view statistical information interactively or on the command-line. Use the ? command to view a list of commands available inside xntpdc. # xntpdc xntpdc> ? Commands available: addpeer addrefclock broadcast clkbug ctlstats debug dmpeers enable host hostnames keytype leapinfo monlist passwd
12-10
Configuring an NTP Server quit restrict timerstats untrustedkey xntpdc> readkeys showpeer traps version requestkey sysinfo trustedkey reset sysstats unconfig reslist timeout unrestrict
The commands can be used to display and congure the NTP setup. For example, the sysinfo command displays information about the current conguration: xntpdc> sysinfo system peer: system peer mode: leap indicator: stratum: precision: root distance: root dispersion: reference ID: reference time: system flags: frequency: stability: broadcastdelay: authdelay: xntpdc> quit # instructor client 00 2 -14 0.00081 s 0.31441 s [192.168.30.30] c4cc99b1.2ce5f000 Tue, Aug 17 2004 15:50:25.175 auth monitor pll stats kernel_sync -16.000 ppm 38.345 ppm 0.003906 s 0.000122 s
The NTP service is started automatically at boot time if the /etc/inet/ntp.conf le exists and the NTP service was enabled by SMF. You can stop the service manually by using the svcadm command. To stop the daemon, perform the command: # svcadm -v disable svc:/network/ntp network/ntp disabled. # To start the daemon, perform the command: # svcadm -v enable svc:/network/ntp network/ntp enabled. #
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-11
12-12
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-13
Note The ntpdate command runs automatically to gather NTP inputs and to set the initial time on this system. The ntpdate command might perform this initial setting by means of a step or a slew. Refer to the ntpdate(1M) man page for further details.
12-14
Troubleshooting NTP
Troubleshooting NTP
Use a combination of tools, such as viewing system error logs and using the snoop utility, to troubleshoot NTP.
Viewing Messages
Log messages result from setting the time forward on the system. The system sends out its periodic (every 64 seconds) NTP requests with the incorrect time. The NTP servers respond with the correct time. After receiving multiple updates from the NTP servers, the client changes its time and writes a message to the /var/adm/messages le. # tail -50 /var/adm/messages | grep -i ntp Aug 17 15:21:46 sys11 ntpdate[1680]: [ID 318594 daemon.notice] no server suitable for synchronisation found yet Aug 17 15:21:46 sys11 ntpdate[1680]: [ID 147394 daemon.notice] trying ttl 1 for multicast server synchronisation Aug 17 15:21:46 sys11 ntpdate[1680]: [ID 558725 daemon.notice] adjust tim e server 192.168.30.30 offset 0.004158 sec Aug 17 15:22:48 sys11 xntpd[1676]: [ID 702911 daemon.notice] xntpd 3-5.93 e+sun 03/08/29 16:23:05 (1.4) Aug 17 15:22:48 sys11 xntpd[1676]: [ID 301315 daemon.notice] tickadj = 5, tick = 10000, tvu_maxslew = 495, est. hz = 100 Aug 17 15:22:48 sys11 xntpd[1676]: [ID 266339 daemon.notice] using kernel phase-lock loop 0041, drift correction 0.00000 #
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-15
Troubleshooting NTP
Clients synchronize with servers using unicast packets, as follows: 1. The NTP client sends a message to an NTP server with its idea of the local time. NTP client [st=0] (2004-08-17 15:24:17.32955) Note that the client is at stratum 0 initially. It sets the correct stratum level after synchronization is established. 2. 3. The NTP server responds with the correct time. NTP server [st=1] (2004-08-17 15:24:17.32834) This exchange between the NTP server and the NTP client repeats many times. Eventually, the NTP client acknowledges that its time is incorrect. The client then takes action to change its own time, based on NTP time advertisements received from one or more NTP servers. Information about the actions taken by the NTP client is sent to the syslog facility for proper processing. NTP NTP client [st=0] (2004-08-17 15:25:21.32958) server [st=1] (2004-08-17 15:25:21.32839) The NTP server responds again with the correct time. sys11 -> sys12
12-16
Preparation
Refer to the lecture notes as necessary to perform the tasks listed. The instructors system must be congured as a stratum-0 server even though the system might be using its local clock. This conguration must be completed at least ve minutes before this exercise starts so that the NTP server has an opportunity to initialize itself properly.
Task Summary
In this exercise, you congure an NTP server and an NTP client on your subnet. Your NTP server uses the instructor system as an external NTP server. After the NTP server is congured, it broadcasts NTP updates to your local subnet. Team up with other students in your subnet group so that you can experience most aspects of NTP conguration.
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-17
Tasks
Your rst task is to congure your subnets router as an NTP server.
4.
12-18
Exercise: Configuring NTP 7. Start the NTP daemon, and view the NTP transactions that can be seen on the snoop trace that is running. Watch the transactions for a few minutes to see your systems time becoming synchronized with the instructors stratum-0 NTP server. When you are nished, terminate the snoop session. Write the command that you use: _____________________________________________________________ Your second task is to congure an NTP client on any of the remaining systems on your subnet.
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-19
Exercise: Configuring NTP 12. Start the NTP daemon and verify that it is running. Write the commands that you use: _____________________________________________________________ 13. Examine the snoop trace and locate the part of the snoop trace where the client time changed to match the servers time. (Hint: Use X-Off (Control+S key sequence) to stop the snoop trace from scrolling and use X-On (Control+Q key sequence) to enable scrolling again.
12-20
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-21
Exercise Solutions
Exercise Solutions
Solutions to this exercise are provided in the following section.
Task Solutions
Your rst task is to congure your subnets router as an NTP server.
2 2
3 3
12-22
Exercise Solutions Use a combination of the snoop and grep utilities to look for NTP updates on the interface (qfe0) closest to the instructor system as follows: # snoop -d qfe0 -c 1 port ntp
Using device /dev/qfe (promiscuous mode) instructor.thirty.edu -> 192.168.30.255 NTP (2004-11-05 09:41:20.83034) 1 packets captured # broadcast [st=1]
You can continue to congure your system as an NTP server because it is receiving NTP updates from the instructor system that is acting as a stratum-0 server. 2. Copy and rename the NTP conguration template in preparation for specifying congurations in that le for the next time the NTP service is enable. Write the command that you use: Copy the /etc/inet/ntp.server le to the /etc/inet/ntp.conf le.
# cp /etc/inet/ntp.server /etc/inet/ntp.conf
3. Edit the NTP conguration le, and modify the server entry so that your system looks to the instructor system for NTP updates. Ensure that the instructor system is your preferred server. While you edit the le, comment out the fudge and keys entries and modify the broadcast entry. Edit the /etc/inet/ntp.conf le. # vi /etc/inet/ntp.conf Change the server and fudge entries to be similar to the following: server 192.168.30.30 prefer # fudge 127.127.XType.0 stratum 0 Change the keys entries to be similar to the following: #keys /etc/inet/ntp.keys #trustedkey 0 #requestkey 0 #controlkey 0 Change the broadcast entry to be similar to the following: broadcast 192.168.1.255 ttl 4 4. Create a drift le as specied by the drift le entry in the conguration le. Write the command that you use: # touch /var/ntp/ntp.drift
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-23
Exercise Solutions 5. Start the snoop utility on your router systems to observe NTP trafc between the router and the instructor system. Write the command that you use: Start the snoop utility on the 192.168.30.0 network. # snoop -d qfe0 port ntp
Using device /dev/qfe (promiscuous mode) instructor -> 192.168.30.255 NTP broadcast [st=1] (2004-11-05 10:04:48.83026) ...
6.
In another window, determine if the NTP daemon is running on your system. Write the command that you use, and write the output of the command:
# pgrep -lf ntp 1142 snoop -d qfe0 port ntp No, the NTP daemon is not running, as expected. 7. Start the NTP daemon, and view the NTP transactions that can be seen on the snoop trace that is running. Watch the transactions for a few minutes to see your systems time becoming synchronized with the instructors stratum-0 NTP server. Write the command that you use: # svcadm enable svc:/network/ntp:default
svc:/network/ntp:default enabled # # snoop -d qfe2 port ntp Using device /dev/qfe (promiscuous mode) sys11ext -> instructor NTP client [st=0] (2004-11-05 10:05:14.45062) instructor -> sys11ext NTP server [st=1] (2004-11-05 10:09:39.79242) ...
Your second task is to congure an NTP client on any of the remaining systems on your subnet.
12-24
Exercise Solutions
You can continue with conguring your system as an NTP client because it is receiving NTP updates from your router system, which acts as a stratum-2 server. 9. Copy and rename the NTP client conguration template to specify the conguation of the NTP service when it is enabled. Write the command that you use: # cp /etc/inet/ntp.client /etc/inet/ntp.conf 10. Determine if the NTP daemon is running. Write the command that you use, and write your answer: # pgrep -lf ntp No, the NTP daemon is not running, as expected. 11. Start a snoop session on the appropriate interface on the client. In the window running the snoop trace on the NTP client. After you start the NTP service in the next step, be prepared to examine the trace carefully. # snoop -d hme0 port ntp ... 12. Start the NTP daemon and verify that it is running. Write the commands that you use: # svcadm -v enable svc:/network/ntp svc:/network/ntp:default enabled. # # pgrep -lf ntp 1528 /usr/lib/inet/xntpd
Conguring NTP
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
12-25
Exercise Solutions 13. Examine the snoop trace and locate the part of the snoop trace where the client time changed to match the servers time. (Hint: Use X-Off (Control+S key sequence) to stop the snoop trace from scrolling and use X-On (Control+Q key sequence) to enable scrolling again. ...
sys12.one.edu sys12.one.edu sys12.one.edu sys12.one.edu sys11.one.edu sys12.one.edu -> -> -> -> -> -> 224.0.1.1 NTP 224.0.1.1 NTP 224.0.1.1 NTP 224.0.1.1 NTP 192.168.1.255 NTP sys11.one.edu NTP client [st=0] (2005-02-02 15:58:11.61034) client [st=0] (2005-02-02 15:58:12.61016) client [st=0] (2005-02-02 15:58:13.61026) client [st=0] (2005-02-02 15:58:14.61010) broadcast [st=2] (2005-02-02 15:57:47.06304) client [st=0] (2005-02-02 15:58:38.02497)
{observe that servers time is 15:57 while clients time is 15:58} sys11.one.edu sys12.one.edu sys11.one.edu sys12.one.edu sys11.one.edu sys12.one.edu sys11.one.edu sys11.one.edu sys12.one.edu -> -> -> -> -> -> -> -> -> sys12.one.edu sys11.one.edu sys12.one.edu sys11.one.edu sys12.one.edu sys11.one.edu sys12.one.edu 192.168.1.255 sys11.one.edu NTP NTP NTP NTP NTP NTP NTP NTP NTP server [st=2] (2005-02-02 15:57:47.06425) client [st=0] (2005-02-02 15:58:38.02556) server [st=2] (2005-02-02 15:57:47.06474) client [st=0] (2005-02-02 15:58:38.02602) server [st=2] (2005-02-02 15:57:47.06518) client [st=0] (2005-02-02 15:58:38.02645) server [st=2] (2005-02-02 15:57:47.06560) broadcast [st=2] (2005-02-02 15:58:51.06343) client [st=0] (2005-02-02 15:59:22.72971)
{observe that the client has updated its time to that of the server} sys11.one.edu sys11.one.edu sys12.one.edu sys11.one.edu sys11.one.edu -> -> -> -> -> sys12.one.edu 192.168.1.255 sys11.one.edu sys12.one.edu 192.168.1.255 NTP NTP NTP NTP NTP server [st=2] (2005-02-02 15:59:22.72968) broadcast [st=2] (2005-02-02 15:59:55.06379) client [st=0] (2005-02-02 16:00:26.72968) server [st=2] (2005-02-02 16:00:26.72945) broadcast [st=2] (2005-02-02 16:00:59.064
12-26
Module 13
Identify Solaris IP Filter rewall basics Congure the Solaris IP Filter rewall behavior
The course map in Figure 13-1 shows how this module ts into the current instructional goal.
Conguring DNS
Conguring NTP
13-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
13-2
An action A direction Criteria which are compared against the packet to determine whether the packet matches the rule
The default behavior of the Solaris IP Filter rewall is to read every rule in the /etc/ipf/ipf.conf le. Each rule in the le tells the Solaris IP Filter rewall to either permit or deny the packet to be sent or received. When processing a packet, the Solaris IP Filter rewall performs the following tasks: 1. 2. 3. 4. 5. Compare the packet against the direction and criteria in the rule. If the packet matches, remember the action specied in the rule. Discard any action remembered previously. If the end of the rules is reached or the matched rule contains the quick keyword, stop matching and perform the action. If no rules match, pass the packet.
13-3
Configuring the Behavior of the Solaris IP Filter Firewall The /etc/ipf/pfil.ap le contains a list of network interfaces. Remove the leading comment character from the appropriate lines for the interface for which ltering is to be congured. # cat /etc/ipf/pfil.ap # IP Filter pfil autopush setup # # See autopush(1M) manpage for more information. # # Format of the entries in this file is: # #major minor lastminor modules #le #qe #hme #qfe #eri #ce #bge #be #vge #ge #nf #fa #ci #el #ipdptp #lane #dmfe # -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 pfil pfil pfil pfil pfil pfil pfil pfil pfil pfil pfil pfil pfil pfil pfil pfil pfil
Any existing, plumbed network interfaces to which you choose to apply ltering must be unplumbed and plumbed. For example, you can use the autopush command to read changes to the /etc/ipf/pfil.ap le before you unplumb and plumb the interfaces. # autopush -f /etc/ipf/pfil.ap
13-4
Block/pass in on hme0
Internet
Corporate Network
Block/pass in on hme1
13-5
13-6
13-7
Configuring the Behavior of the Solaris IP Filter Firewall To dene a rule that will block any incoming packet matching the rule and will stop the Solaris IP Filter rewall from processing any further rules, start the rule with: block in quick ... To dene a rule that will permit any outgoing packet matching the rule and will stop the Solaris IP Filter rewall from processing any further rules, start the rule with: pass out quick ...
13-8
Note The Solaris IP Filter rewall does not lter the loopback interface. You should not use the interface identier lo0 in the /etc/ipf/ipf.conf le. Note that the lo identier does not appear in the /etc/ipf/pfil.ap le. To apply a rule to a specic interface, use the on keyword followed by the name of the interface. For example, to permit all packets arriving and leaving the hme0 interface and to stop further processing rules at this point, use the rules: pass in quick on hme0 all pass out quick on hme0 all
13-9
Configuring the Behavior of the Solaris IP Filter Firewall Network interfaces and IP addresses can be combined in rules. For example, the rule: block in on qfe0 from any to 192.168.1.0/24 will block any packets arriving at the qfe0 network interface from any source IP address which are intended for the 192.168.1.0 network. IP addresses can be used as both source and destination addresses. For example, the rule block out on qfe0 from 192.168.1.2/32 to 192.168.3.0/24 will block any packet leaving the qfe0 interface which originated from the host 192.168.1.2 and is intended for the 192.168.3.0 network.
13-10
For example, to block all ICMP packets arriving on the hme0 interface, use the rule: block in on hme0 proto icmp from any to any In this form, this rule blocks all ICMP packets. The icmp-type keyword can be used to specify a single ICMP type value for the rule. All ICMP packets contain a type value in the ICMP header. Some common ICMP types are shown in Table 13-2. Table 13-2 ICMP Type Values and Keywords ICMP Type Echo reply Echo request Router advertisement Router solicitation Value 0 8 9 10 Keyword echorep echo routerad routersol
13-11
Note A complete list of ICMP type values can be found in the /usr/include/netinet/ip_icmp.h le. The icmp-type keyword is appended to the end of a rule to make the rule apply to a specic type of ICMP packet. The type value can be specied numerically or textually. For example, to permit a system to receive ICMP router discovery solicitations on the hme0 interface connected to the 192.168.1.0 network and to send router advertisements on the same interface, but to block all other ICMP trafc on the hme0 interface, use the rules: pass in quick on hme0 proto icmp from 192.168.1.0/24 to any icmp-type 10 pass out quick on hme0 proto icmp from any to 192.168.1.0/24 icmp-type 9 block in quick on hme0 proto icmp from any to any block out quick on hme0 proto icmp from any to any To block outgoing ICMP echo replies (responses to the ping command) on the qfe0 interface, use the rule: block out quick on qfe0 proto icmp from any to any icmp-type echorep Filtering of TCP and UDP packets can be restricted to a particular port by using the port = keywords. The port to which the rule is to apply is specied after the equal sign (=). For example, to block the default telnet server port (23) the keywords port = 23 are appended to the rule. Port-based ltering can be applied to the source address or the destination address. Note that the spaces on either sides of the equals sign are required. Note When conguring ltering based upon port number, it is important to understand the manner in which the applications you are ltering uses ports. Some applications, for example, routing protocols, use the same port on the server and the client. Other applications, for example, FTP and telnet, use a well-known port on the server side and an anonymous port for the client. When writing rules for protocols like Telnet and FTP, the keep state keywords are a convenient way to avoid having to know the per-session, anonymous-client port assignments. See the ipf.conf(4) man page for details.
13-12
Configuring the Behavior of the Solaris IP Filter Firewall To block all incoming packets intended for the telnet server port (port 23), use the rule: block in quick proto tcp from any to any port = 23 To block all incoming telnet packets except those originating from the 192.168.1.0 network, use the rules: pass in quick proto tcp from 192.168.1.0/24 to any port = 23 block in quick proto tcp from any to any port = 23 To permit incoming RPC requests to the rpcbind daemon from the 192.168.1.0 network on the hme0 interface only, use the rules: pass in quick on hme0 proto tcp/udp from 192.168.1.0 to any port = 111 block in quick on hme0 proto tcp/udp from any to any port = 111 To permit packets to leave the telnet server port if they are intended for the local subnet, use the rule: pass out quick proto tcp from 192.168.1.1/32 port = 23 to 192.168.1.0/24
13-13
For example, to clear all of the input rules, type the command: # ipf -Fi # If you have made changes to the rule set in the /etc/ipf/ipf.conf le, you can load the new rules by combining a ush operation and an add operation in one command: # ipf -Fa -f /etc/ipf/ipf.conf #
Note Options to the ipf command are executed in the order in which they are specied on the command line. If a ush option is specied after an add rules option, the new rules will be added, then ushed along with the old rules. To clear the existing rules and load a new or updated set, the ush option must be specied rst.
13-14
Note The ipfstat -io command does not display the rules in the same sequence as they are listed in the /etc/ipf/ipf.conf le. The out rules are listed in order rst, and then the in rules are listed.
13-15
13-16
13-17
Configuring the Behavior of the Solaris IP Filter Firewall To congure the ipmon command to run as a daemon and to send logging information by using the syslogd daemon to the /var/adm/ipflog le: # cat /etc/syslog.conf local0.notice # touch /var/adm/ipflog # pkill -HUP syslogd # ipmon -D -s # ... /var/adm/ipflog
13-18
Preparation
Caution Before beginning this exercise, check that DNS services are running as they were in the prior DNS exercise. If the services are not running, issue the appropropriate svcadm commands on the appropriate systems to once again enable them. There is no preparation for this exercise. Team up with other students in your subnet group so that you can experience most aspects of the Solaris IP Filter rewall conguration. Also, be aware of what other subnet groups are doing. Congurations on other groups router rewall, for example, can inuence behavior that you observe locally.
Task Summary
In this exercise, you congure packet ltering on your subnets router and on client systems in your subnet.
13-19
13-20
Exercise: Configuring the Solaris IP Filter Firewall 5. Edit the /etc/ipf/ipf.conf le and add the relevant rules to block all incoming telnet requests to your system. Your le should have contents similar to the following:
sys12# cat /etc/ipf/ipf.conf # # ipf.conf # # IP Filter rules to be loaded during startup # # See ipf(4) manpage for more information on # IP Filter rules syntax. block in proto tcp from any to 192.168.1.2/32 port = 23 # 6. Enable the packet lter. a. b. Start the service, and write the command that you use. ________________________________________________________ Verify that the service started, and write the command that you use. ________________________________________________________ 7. Verify that, although a rule to block telnet access was established and the ipfilter service enabled, it is possible to use the telnet utility to access from another system to your system. After you verify that telnet access is permitted, terminate the telnet session. _____________________________________________________________ Caution Although you added a blocking rule in the /etc/ipf/ip.conf le, ltering rules do not take effect when the service is enabled. The system is not secure at this point.
13-21
Exercise: Configuring the Solaris IP Filter Firewall 8. From the command line force the pfild daemon to read the rule le by performing the following steps. (You can also reboot the system to accomplish the same effect.) a. Use the ifconfig command to determine the conguration of your systems interfaces. Document the relevant interface information, such as IP address, mask, and broadcast address. ________________________________________________________ b. Force the autopush conguration le to be read by using the following command: Unplumb your systems interface. ________________________________________________________ d. Plumb your systems interface to load the packet lter into the interfaces IP stack. ________________________________________________________ 9. As done previously, use another system and attempt to use the telnet utility to determine if your system permits a telnet connection. _____________________________________________________________ The next steps are to congure your system to permit incoming telnet requests from the local subnet, but block telnet requests from all other networks and not process any other rules. 10. Edit the Solaris IP Filter rewall conguration le by adding a new rule that:
q
Permits incoming telnet access only from other hosts on your local subnet Stops processing of subsequent rules by using the quick keyword.
Write the rule that you entered in the /etc/ipf/ipf.conf le: _____________________________________________________________ Did you put the new rule before or after the existing rule? Why? _____________________________________________________________ _____________________________________________________________
13-22
Exercise: Configuring the Solaris IP Filter Firewall 11. Update the Solaris IP Filter rewall conguration to include the new rule by using the following ipf command: sys12# ipf -Fa -f /etc/ipf/ipf.conf 12. Display the new rule set by using the ipfstat command. _____________________________________________________________ 13. Validate that the new conguration is working. Attempt to establish a telnet session to your system from a host on the local subnet and from a host on another subnet. _____________________________________________________________
13-23
Exercise: Configuring the Solaris IP Filter Firewall 17. Enable the packet lter by performing the following steps: a. Verify the status of the svc:/network/ipfilter service, and write the command that you use. ________________________________________________________ b. c. Start the service, and write the command that you use. ________________________________________________________ Verify that the service started, and write the command that you use. ________________________________________________________ 18. From the command line force the pfild daemon to read the rule le by performing the following steps. (You can also reboot the system to accomplish the same effect.) a. Force the autopush conguration le to be read by using the following command: Determine the conguration of your systems interfaces. Document the relevant interface information, such as IP address, mask, broadcast address, and routing information. ________________________________________________________ c. d. Unplumb your systems interfaces. ________________________________________________________ Plumb and restore your systems interface congurations to load the packet lter into the interfaces IP stack. ________________________________________________________ e. Verify that the rule functions as expected by using the telnet command. ________________________________________________________ The next steps block your non-router system from sending any outgoing ICMP echo replies.
13-24
13-25
13-26
13-27
13-28
13-29
Exercise: Configuring the Solaris IP Filter Firewall 18. Use the ipmon command as a daemon to log information to the /var/tmp/ipfilter.log le. _____________________________________________________________
13-30
Exercise Summary
Exercise Summary
Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercise.
q q q q
!
?
13-31
Exercise Solutions
Exercise Solutions
Solutions to this exercise are provided in the following sections. These solutions use sys12 as the example non-router system and sys11 as the example router system. Solution results vary accordingly.
Task 1 Solutions
In the rst part of the lab you will congure the Solaris IP Filter rewalls rules to show how to enable and disable access to services on a host and a network. The rst set of exercise steps is to congure packet ltering in order to prevent any telnet requests from reaching your system.
sys13# telnet sys12 Trying 192.168.1.2... Connected to sys12.one.edu Escape character is '^]'. login: root Password: Last login: Mon Dec 20 03:46:26 from sys13.one.edu Sun Microsystems Inc. SunOS 5.10 Generic January 2005 Welcome to SA300-S10_A on sys12 sys12# exit Connection to sys12.one.edu closed by foreign host. sys13# This proves that your system responds to the telnet request as expected. Now you can proceed with conguring the rewall and have condence that your working blocking rule will be responsible for blocking telnet requests and not some other networking issue.
13-32
Exercise Solutions 2. Determine the current status of the svc:/network/ipfilter and svc:/network/pfil services by using the svcs command.
sys12# svcs -a | grep network | egrep "pfil|ipf" disabled 8:31:38 svc:/network/ipfilter:default online 8:31:42 svc:/network/pfil:default 3. Use the ifconfig command to determine to which interface to apply lter rules.
sys12# ifconfig -a inet lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255 4. Edit the Solaris IP Filter rewalls autopush conguration le to specify the network interface for packet ltering on your system. Do this by removing the comment from the appropriate interface learned in the previous step. Which le do you edit? The /etc/ipf/pfil.ap le. Your conguration le should look similar to the following: sys12# cat /etc/ipf/pfil.ap ... #qe hme #qfe ... 5. Edit the /etc/ipf/ipf.conf le and add the relevant rules to block all incoming telnet requests to your system. Your le should have contents similar to the following:
sys12# cat /etc/ipf/ipf.conf # # ipf.conf # # IP Filter rules to be loaded during startup # # See ipf(4) manpage for more information on # IP Filter rules syntax. block in proto tcp from any to 192.168.1.2/32 port = 23 #
13-33
Exercise Solutions 6. Enable the packet lter. a. Start the service, and write the command that you use. Note that when enabled in this manner, the service is congured to run automatically on subsequent system boots. b. Verify that the service started, and write the command that you use.
sys12# svcs -a | grep -i ipf online 3:48:09 svc:/network/ipfilter:default 7. Verify that, although a rule to block telnet access was established and the ipfilter service enabled, it is possible to use the telnet utility to access from another system to your system. After you verify that telnet access is permitted, terminate the telnet session.
sys13# telnet sys12 Trying 192.168.1.2... Connected to sys12.one.edu. Escape character is '^]'. login: root Password: Last login: Mon Dec 20 03:46:26 from sys13.one.edu Sun Microsystems Inc. SunOS 5.10 Generic January 2005 Welcome to SA300-S10_A on sys12 sys12# exit Connection to sys12.one.edu closed by foreign host. sys13# Caution Although you added a blocking rule in the /etc/ipf/ip.conf le, ltering rules do not take effect when the service is enabled. The system is not secure at this point.
13-34
Exercise Solutions 8. From the command line force the pfild daemon to read the rule le by performing the following steps. (You can also reboot the system to accomplish the same effect.) a. Use the ifconfig command to determine the conguration of your systems interfaces. Document the relevant interface information, such as IP address, mask, and broadcast address.
sys12# ifconfig -a inet lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.1.2 netmask ffffff00 broadcast 192.168.1.255 b. Force the autopush conguration le to be read by using the following command: Unplumb your systems interface. Plumb your systems interface to load the packet lter into the interfaces IP stack.
9.
As done previously, use another system and attempt to use the telnet utility to determine if your system permits a telnet connection.
sys13# telnet sys12 Trying 192.168.1.2... telnet: Unable to connect to remote host: Connection timed out sys13# You should observe that telnet access is now blocked.
13-35
Exercise Solutions The next steps are to congure your system to permit incoming telnet requests from the local subnet, but block telnet requests from all other networks and not process any other rules. 10. Edit the Solaris IP Filter rewall conguration le by adding a new rule that:
q
Permits incoming telnet access only from other hosts on your local subnet Stops processing of subsequent rules by using the quick keyword.
Write the rule that you entered in the /etc/ipf/ipf.conf le: pass in quick proto tcp from 192.168.1.0/24 to 192.168.1.2/32 port = 23 Did you put the new rule before or after the existing rule? Why? Because you used the quick keyword in the new rule, it should be placed before the old rule to permit local telnet access only. If you place it after the old the rule, the old rule attempts to block the telnet requests and then the new rule permits telnet access from the local subnet. 11. Update the Solaris IP Filter rewall conguration to include the new rule by using the following ipf command: sys12# ipf -Fa -f /etc/ipf/ipf.conf 12. Display the new rule set by using the ipfstat command. sys12# ipfstat -io
empty list for ipfilter(out) pass in quick proto tcp from 192.168.1.0/24 to 192.168.1.2/32 port = telnet block in proto tcp from any to 192.168.1.2/32 port = telnet
13. Validate that the new conguration is working. Attempt to establish a telnet session to your system from a host on the local subnet and from a host on another subnet. sys13# telnet 192.168.1.2 Trying 192.168.1.2... Connected to sys12. Escape character is ^]. login: sys22# telnet 192.168.1.2 Trying 192.168.1.2... You should observe that telnet access succeeds on the local subnet only.
13-36
Exercise Solutions
13-37
Exercise Solutions 16. Edit the relevant le on your router system and add rules to block all incoming telnet requests to your local subnet that do not originate from the local subnet. Document the le that you edit and your rules. sys11# cat /etc/ipf/ipf.conf block in on qfe2 proto tcp from any to 192.168.1.0/24 port = 23 17. Enable the packet lter by performing the following steps: a. Verify the status of the svc:/network/ipfilter service, and write the command that you use.
sys11# svcs -a | grep ipfilter disabled 8:31:38 svc:/network/ipfilter:default b. c. Start the service, and write the command that you use. Verify that the service started, and write the command that you use. sys11# svcadm enable svc:/network/ipfilter:default
sys11# svcs -a | grep ipfilter online 5:56:23 svc:/network/ipfilter:default 18. From the command line force the pfild daemon to read the rule le by performing the following steps. (You can also reboot the system to accomplish the same effect.) a. Force the autopush conguration le to be read by using the following command: Determine the conguration of your systems interfaces. Document the relevant interface information, such as IP address, mask, broadcast address, and routing information.
sys11# ifconfig -a inet lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2 inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 qfe2: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 3 inet 192.168.30.31 netmask ffffff00 broadcast 192.168.30.255
c.
sys11# ifconfig hme0 down unplumb sys11# ifconfig qfe2 down unplumb
13-38
Exercise Solutions d. Plumb and restore your systems interface congurations to load the packet lter into the interfaces IP stack.
sys11# ifconfig hme0 plumb 192.168.1.1 netmask 0xffffff00 broadcast + up sys11# ifconfig qfe2 plumb 192.168.30.31 netmask 0xffffff00 broadcast + up
e.
Verify that the rule functions as expected by using the telnet command.
sys21# telnet 192.168.1.1 Trying 192.168.1.1... telnet: Unable to connect to remote host: Connection timed out sys21# You should observe that local telnet trafc is permitted but trafc initiated from another subnet is not. The next steps block your non-router system from sending any outgoing ICMP echo replies.
13-39
Exercise Solutions 21. Update the Solaris IP Filter rewall conguration to include the new rule by using the ipf command. sys12# ipf -Fa -f /etc/ipf/ipf.conf 22. Verify the rules by using the ipfstat command.
sys12# ipfstat -io block out quick proto icmp from any to any icmp-type echorep pass in quick proto tcp from 192.168.1.0/24 to 192.168.1.2/32 port = telnet block in proto tcp from any to 192.168.1.2/32 port = telnet #
23. Test that the new rule is functioning correctly by using the ping command from the test system again. sys13# ping sys12 no answer from sys12 24. Verify that a local system can successfully perform DNS lookups across routers. Use the dig command to nd the IP address of a system on another network. (Successful completion of this step will aid you in later steps when you write rules to specically allow DNS through rewalls.) sys13# dig @192.168.2.2 two.edu -x 192.168.2.4 ; <<>> DiG 9.2.4 <<>> @192.168.2.2 two.edu -x 192.168.2.4 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1914 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;two.edu. IN A ;; AUTHORITY SECTION: two.edu. 86400 IN SOA sys22.two.edu. root.sys22.two.edu. 2005010101 3600 1800 6048000 86400 ;; Query time: 4 msec ;; SERVER: 192.168.2.2#53(192.168.2.2) ;; WHEN: Wed Jan 12 08:19:05 2005 ;; MSG SIZE rcvd: 72 ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1194 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;4.2.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 4.2.168.192.in-addr.arpa. 86400 IN PTR sys24.two.edu. ;; AUTHORITY SECTION: 2.168.192.in-addr.arpa. 86400 IN NS sys22.two.edu. 2.168.192.in-addr.arpa. 86400 IN NS sys23.two.edu. ;; ADDITIONAL SECTION:
13-40
Exercise Solutions sys22.two.edu. 86400 IN sys23.two.edu. 86400 IN ;; Query time: 1 msec ;; SERVER: 192.168.2.2#53(192.168.2.2) ;; WHEN: Wed Jan 12 08:19:05 2005 ;; MSG SIZE rcvd: 141 A A 192.168.2.2 192.168.2.3
Task 2 Solutions
In the second part of the lab you restrict access to your subnet by disabling all services except a dened set.
sys11# ipf -Fa -f /etc/ipf/ipf.conf 3. sys11# ipfstat -io block out all block in all #
13-41
Exercise Solutions The reboot is performed as an easy way to ush cached information on the non-router systems. It is not a necessary part of the Solaris IP Filter rewalls conguration.
sys11# ipf -Fa -f /etc/ipf/ipf.conf 8. sys11# ipfstat -io pass out quick proto udp from any to any port = route pass out quick proto udp from any to any port = ripngd pass out quick proto icmp from any to any icmp-type routerad block out all pass in quick proto udp from any to any port = route pass in quick proto udp from any to any port = ripngd pass in quick proto icmp from any to any icmp-type routersol block in all
13-42
Exercise Solutions
sys12# netstat -rn -f inet Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------192.168.1.0 192.168.1.2 U 1 0 hme0 224.0.0.0 192.168.1.2 U 1 0 hme0 default 192.168.1.1 UG 1 0 hme0 127.0.0.1 127.0.0.1 UH 4 77 lo0 sys12# sys12# snoop ... sys11 -> 192.168.1.255 RIP R (3 destinations) sys11 -> 192.168.1.255 RIP R (3 destinations) ... You should see evidence of routing information in the routing table (a default route, for example) or in the snoop trace (router advertisements for example, but no other non-routing services.)
13-43
Exercise Solutions pass out quick proto udp from any to any port = route pass out quick proto udp from any to any port = ripng pass out quick proto icmp from any to any icmp-type routerad block out all pass in quick proto udp from any to any port = domain keep state pass in quick proto udp from any to any port = route pass in quick proto udp from any to any port = ripng pass in quick proto icmp from any to any icmp-type routersol block in all
13-44
Exercise Solutions ;; ;; ;; ;; Query time: 1 msec SERVER: 192.168.2.2#53(192.168.2.2) WHEN: Wed Jan 12 08:19:05 2005 MSG SIZE rcvd: 141
13-45
Exercise Solutions 15. Update the Solaris IP Filter rewall conguration to permit FTP trafc to pass from the local subnet to the instructor system only. Log any trafc that matches one of the rules that you dene. Assume that your system will get more DNS trafc than FTP trafc. Placing the new FTP rules after the DNS rules would recognize this and, appropriately, be more responsive to the DNS trafc. Hint: Use the keep state keywords in your rules. Write the rules that you entered in the /etc/ipf/ipf.conf le.
pass pass pass pass pass pass pass pass in log quick on hme0 from 192.168.1.0/24 to 192.168.30.30/32 port = 21 keep state out log quick on hme0 from 192.168.1.0/24 to 192.168.30.30/32 port = 21 keep state in log quick on qfe2 from 192.168.1.0/24 to 192.168.30.30/32 port = 21 keep state out log quick on qfe2 from 192.168.1.0/24 to 192.168.30.30/32 port = 21 keep state in log quick on hme0 from 192.168.1.0/24 to 192.168.30.30/32 port = 20 keep state out log quick on hme0 from 192.168.1.0/24 to 192.168.30.30/32 port = 20 keep state in log quick on qfe2 from 192.168.1.0/24 to 192.168.30.30/32 port = 20 keep state out log quick on qfe2 from 192.168.1.0/24 to 192.168.30.30/32 port = 20 keep state
16. Update the Solaris IP Filter rewall conguration to include the new rule by using the ipf command. sys11# ipf -Fa -f /etc/ipf/ipf.conf 17. Verify the rules by using the ipfstat command.
sys11# ipfstat -io pass out quick proto udp from any to any port = domain keep state pass out log quick on hme0 from 192.168.1.0/24 to 192.168.30.30/32 port = 21 keep state pass out log quick on qfe2 from 192.168.1.0/24 to 192.168.30.30/32 port = 21 keep state pass out log quick on hme0 from 192.168.1.0/24 to 192.168.30.30/32 port = 20 keep state pass out log quick on qfe2 from 192.168.1.0/24 to 192.168.30.30/32 port = 20 keep state pass out quick proto udp from any to any port = route pass out quick proto udp from any to any port = ripng pass out quick proto icmp from any to any icmp-type routerad block out all pass in quick proto udp from any to any port = domain keep state pass in log quick on hme0 from 192.168.1.0/24 to 192.168.30.30/32 port = 21 keep state pass in log quick on qfe2 from 192.168.1.0/24 to 192.168.30.30/32 port = 21 keep state pass in log quick on hme0 from 192.168.1.0/24 to 192.168.30.30/32 port = 20 keep state pass in log quick on qfe2 from 192.168.1.0/24 to 192.168.30.30/32 port = 20 keep state pass in quick proto udp from any to any port = route pass in quick proto udp from any to any port = ripng pass in quick proto icmp from any to any icmp-type routersol block in all
18. Use the ipmon command as a daemon to log information to the /var/tmp/ipfilter.log le. # ipmon -D /var/tmp/ipfilter.log
13-46
Exercise Solutions
13-47
Exercise Solutions
13-48
Bibliography
Sun Microsystems Publications
The following publications are available from Sun Microsystems:
q
Sun Microsystems, Inc. Solaris Tunable Parameters Reference Manual, part number 806-7009-10. Sun Microsystems, Inc. System Administration Guide: Advanced Administration, part number 806-4074-10. Sun Microsystems, Inc. System Administration Guide: IP Services, part number 806-4075-11. Sun Microsystems, Inc. System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP), part number 806-4077-10. Sun Microsystems, Inc. System Administration Guide: Security Services, part number 806-4078-10. Sun Microsystems, Inc. Using NTP to Control and Synchronize System Clocks Part I: Introduction to NTP, Sun BluePrints OnLine part number 816-1475-10. Sun Microsystems, Inc. Using NTP to Control and Synchronize System Clocks Part II: Basic NTP Administration and Architecture, Sun BluePrints OnLine part number 816-0092-10. Sun Microsystems, Inc. Using NTP to Control and Synchronize System Clocks Part III: NTP Monitoring and Troubleshooting, Sun BluePrints OnLine part number 816-2353-10.
Bibliography1-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Books
Books
The following books were used to create this course:
q
Albitz, Paul, and Cricket Liu. DNS & BIND, Fourth Edition. Sebastopol, CA: OReilly & Associates, Inc., 2001. Comer, Douglas. Internetworking with TCP/IP, Second Edition. Englewood Cliffs, NJ: Prentice Hall, 1991. Comer, Douglas E. Internetworking With TCP/IP, Vol. 1, Third Edition. Upper Saddle River, NJ: Prentice Hall, Inc. 1995. Huitema, Christian. IPv6 The New Internet Protocol, Second Edition. Upper Saddle River, NJ: Prentice Hall, Inc. 1998. Huitema, Christian. Routing in the Internet. Upper Saddle River, NJ: Prentice-Hall. 1995. Huitema, Christian. Routing in the Internet, Second Edition. Upper Saddle River, NJ: Prentice Hall, Inc., 1999. Loshin, Pete. IPv6 Clearly Explained. San Francisco: Morgan Kaufmann, 1999. Perlman, Radia. Interconnections, Second Edition. Menlo Park, CA: Addison-Wesley, 1999. Spurgeon, Charles E. Ethernet: The Denitive Guide. Sebastopol, CA: OReilly & Associates, Inc., 2000.
The following book can be used when studying for the Solaris 8 Network Certication Exam: Bushnell, Rick. Sun Certied Net Administration for Solaris 8 Study Guide. Upper Saddle River, NJ: Prentice Hall, Inc., 2002.
Bibliography-2
Online References
Online References
Many online references were used to create this course, including:
q
Mills, David. Information on Time and Frequency Services. [Online]. Available: http://www.eecis.udel.edu/~mills/ntp/, last accessed: 2000. Windl, U. and D. Dalton. What about NTP?: Understanding and Using the Network Time Protocol (A First Try on a Non-Technical Mini-HOWTO and FAQ on NTP). [Online]. Available: www.ntp.org/ntpfaq/NTP-a-faq.htm. Last accessed: 03/04/2000. The Solaris OS online manual pages. The http://docs.sun.com Web site. The http://www.sun.com/solutions/blueprints/ Sun BluePrints Web site.
q q q
Bibliography
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Bibliography-3
RFCs
RFCs
Many RFCs were used to create this course, including:
q q
RFC 1323: TCP Extensions for High Performance. Conta, A., and S. Deering. RFC 2463: Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specication. Network Working Group Request for Comments: 2463, 1998. Fenner, W. RFC 2236: Internet Group Management Protocol, Version 2. Network Working Group Request for Comments: 2236, 1997. Hinden, R., and S. Deering. RFC 2373: IP Version 6 Addressing Architecture. Network Working Group Request for Comments: 2373, 1998. Hinden, R., and S. Deering. RFC 2460: Internet Protocol, Version 6 (IPv6) Specication. Network Working Group Request for Comments: 2460, 1998. Mills, David. RFC 1305: Network Time Protocol (Version 3) Specication, Implementation and Analysis. Network Working Group Request for Comments: 1305, 1992. Narten, T., E. Nordmark, and W. Simpson. RFC 2461: Neighbor Discovery for IP Version 6 (IPv6). Network Working Group Request for Comments: 2461, 1998. Rekhter, Y., B. Moskowitz, D. Karrenberg, G. J. de Groot, and E. Lear. RFC 1918: Address Allocation for Private Internets. Network Working Group Request for Comments: 1918, 1996. Thomson, S., and T. Narten. RFC: 2462: IPv6 Stateless Address Autoconguration. Network Working Group Request for Comments: 2462, 1998.
Bibliography-4
Glossary/Acronyms
Numerals
10BASE-T An evolution of Ethernet technology that succeeded 10BASE-5 and 10BASE-2 as the most popular method of physical network implementation. A 10BASE-T network has a data transfer rate of 10 megabits per second and uses unshielded twisted-pair wiring.
A
ACL (access control list) ACLs provide a higher level of le security than the standard UNIX le permissions. ACLs give a le owner the ability to permit access to that le or directory to one or more specic users or groups and to set the default permissions for specic users or groups. AH Authentication header. ANSI American National Standards Institute. application A program that combines all the functions necessary for the user to accomplish a particular set of tasks (for example, word processing or inventory tracking). Application layer In the International Standards Organization/Open Systems Interconnection (ISO/OSI) model of network standards, the seventh layer, which handles services, such as login procedures, le and print server operation, and other basic functions.
Glossary-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
ARP (Address Resolution Protocol) The Internet protocol that dynamically maps Internet addresses to physical (hardware) addresses on local area networks. ARP is limited to networks that support hardware broadcast. AS Autonomous system. ASCII (American Standard Code for Information Interchange) A standard assignment of 7-bit numeric codes to characters.
B
BCC Block-check character. BIND Berkeley Internet Name Domain. boot (bootstrap) To load the system software into memory and start it. Bourne shell The Bourne shell is the default shell for the Solaris Operating Environment. It does not have aliasing or history capabilities. broadcast address One of three types of Ethernet addresses, the broadcast address represents broadcasts to the network. A host sends a message to all hosts on the local Ethernet using a broadcast address. The Ethernet broadcast address is all 1s (ff:ff:ff:ff:ff:ff in hexadecimal).
C
cache A buffer of high-speed memory lled at medium speed from main memory, often with instructions or the most frequently accessed information. A cache increases effective memory transfer rates and processor speed. caching-only server A domain name server that is not authoritative for any domain. This server queries servers that have authority for the information needed and caches that data.
Glossary-2
canonical Characteristic of adhering to standard, accepted, or authoritative procedures or principles. Category 3 Category 3 twisted-pair cabling is a voice-grade cable. It features two to three twists per foot and is used in 10BASE-T and 100BASE-T4 networks. Category 5 Category 5 twisted-pair cable is a data-grade cable. It features two to three twists per inch used in 10BASE-T and 100BASE-TX networks. CCITT Comite Consultatif Internationale de Telegraphie et Telephonie. CDE (Common Desktop Environment) This is a graphical user interface between the user and the operating system. It provides built-in menus for users to select and run utilities and programs without using the Solaris 2.x OE commands. It enables users to control multiple working documents or applications on the screen at the same time. checksum A checksum is a number that is calculated from the binary bytes of the le. It is used to determine if the le contents have changed. CIDR (classless inter-domain routing) This type of routing was introduced as a stop-gap solution to the Class B IPv4 address exhaustion and routing table explosion. CIDR enables more efcient allocation of IP address space, and it enables routing information to be aggregated to reduce the size of routing tables on backbone routers. client-server model A client-server environment is a network environment that contains at least one of each of the following:
q
Server A host or a process that provides services to other systems on the network. Client A host or a process that uses services provided by servers.
Glossary/Acronyms
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Glossary-3
connectionless A type of data transfer in which self-contained messages are delivered without acknowledgement of receipt. User Datagram Protocol (UDP) is an example of a protocol in which a connection is not necessary. connection-oriented A type of data transfer in which a connection with another system must be established before exchanging data. Transmission Control Protocol (TCP) is an example of a connection-oriented protocol. CRC (cyclical redundancy check) A system of error checking performed at both the sending and receiving station after a block-check character (BCC) has been accumulated. CSMA/CD (carrier sense multiple access/collision detection) The Ethernet access method protocol used to control packet transmission and ow over the Ethernet hardware.
D
daemon A process that performs a particular system task. datagram The Internet Protocol (IP) datagram is the basic unit of information that is passed on a Transmission Control Protocol/Internet Protocol (TCP/IP) network. Datagrams contain at least data and destination addresses. Data Link layer In the International Standards Organization/Open Systems Interconnection (ISO/OSI) model, the second layer, which enables establishing, maintaining, and releasing services between network entities. decryption The process of converting coded data to plain text. de-encapsulation The process of removing a header from a segment of data when systems are communicating with each other.
Glossary-4
DHCP (Dynamic Host Conguration Protocol) This automatically assigns Internet Protocol (IP) addresses to Transmission Control Protocol/Internet Protocol (TCP/IP) client computers when the client joins the network. This eliminates the need to maintain a static list of addresses for each client. DHCP selects an IP address from a precongured pool. DNS (Domain Name System) DNS provides translations of host names into Internet Protocol (IP) addresses. This enables Internet communications using only host names. domain The name assigned to a group of systems on a local network that share administrative les. It is required for the Network Information Service (NIS) database to work properly.
E
EBCDIC Extended Binary Coded Decimal Interchange Code. EEPROM (electrically erasable programmable read-only memory) A nonvolatile PROM that can be written to as well as read from. In Sun workstations, an EEPROM holds information about the current system conguration, alternate boot paths, and so on. EGPs Exterior gateway protocols. encapsulation The process of adding a header to a segment of data when systems are communicating with each other. encryption The process of protecting information from unauthorized use by making the information unintelligible. Encryption is based on a code, called a key, which is used to decrypt the information. ESP Encapsulation security payload. Ethernet A type of local area network that enables real-time communication between machines connected directly through cables.
Glossary/Acronyms
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Glossary-5
Ethernet address The physical address of an individual Ethernet controller board. It is called the hardware address or media access control (MAC) address. The Ethernet address of every Sun workstation is unique and coded into a chip on the motherboard. Additional Ethernet interfaces are assigned different Ethernet addresses. Ethernet MAC address The physical address also known as the media access controller (MAC) or Ethernet address. An Ethernet address is a unique hardware address. It is 48 bits long. An example of a complete Ethernet address is 8:0:20:le:56:7:d. EUI End-unit identier.
F
FCS Frame check sequence. FP Format prex. FQDN (fully qualied domain name) A domain name that ends with a dot followed by a domain label of length zero (the root). For example, andy.sun.com, where andy is the name of a host. frame A series of bits with a well-dened beginning and a well-dened end.
H
hierarchal domains A tree of domains or namespaces, each one of them having their own authority. hierarchy A classication of relationships in which each item except the top one (called the root) is a specialized form of the item above it. Each item can have one or more items below it in the hierarchy.
Glossary-6
host name A unique name identifying a host machine connected to a network. The name must be unique on the network. The hostname command determines a systems host. hub The central device through which all hosts in a twisted-pair Ethernet installation are connected.
I
IAB Internet Architecture Board. IANA Internet Assigned Numbers Authority. ICANN Internet Corporation for Assigned Names and Numbers. ICMP (Internet Control Message Protocol) A network layer protocol that provides for routing, reliability, ow control, and sequencing of data. IEEE (Institute of Electrical and Electronics Engineers) The standards organization that is responsible for developing networking standards relating to Ethernet, token bus, token ring, and metropolitan area networks. IGMP Internet Group Management Protocol. IGP (Interior Gateway Protocol) The protocol that enables the exchange or routing information between collaborating routers on the Internet. Examples of IGPs include Routing Information Protocol (RIP) and Open Shortest Path First (OSPF). IP (Internet Protocol) The basic protocol of the Internet. It enables the unreliable delivery of individual packets from one host to another. The IP does not determine whether the packet will be delivered, how long it will take, or if multiple packets will arrive in the order they were sent. Protocols built on top of this protocol add the functions of connection and reliability.
Glossary/Acronyms
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Glossary-7
IP address In Transmission Control Protocol/Internet Protocol (TCP/IP), a unique 32-bit number that identies each host in a network. IPG Internet Gateway Protocol. IPMP Internet Protocol Messaging Protocol. IP network number The rst octet or octets of an Internet Protocol (IP) address that uniquely identify an IP network within an organization, and on the Internet, if that network has been registered with the Internet governing organization. IPsec Internet Protocol Security Architecture. IPv4 (Internet Protocol version 4) One of two versions of IP addressing. It is a 32-bit addressing scheme currently used as the dominant scheme. An IPv4 address is a unique number assigned to a host on a network. IPv4 addresses are 32 bits divided into four 8-bit elds. Each 8-bit eld, or octet, is represented by a decimal number between 0 and 255, separated by periods; for example, 129.150.182.31. IPv6 (Internet Protocol version 6) A new version designed to be an evolutionary step from the current version, Internet Protocol version 4 (IPv4). IPv6 is an increment to IPv4. Deploying IPv6, using dened transition mechanisms, does not disrupt current operations. In addition, IPv6 provides a platform for new Internet functionality. ISO (International Organization for Standardization) An international standards body that reviews and approves independently designed products for use within specic industries. ISO also develops standards for information exchange, such as the ISO/OSI model for computer networks. ISP (Internet service provider) A company providing an Internet package. This often includes a phone number access code, user name, and software, all for a provider fee.
Glossary-8
J
JPEG Joint Pictures Expert Group. JPG Joint Pictures Group. JumpStart process An automatic installation process available in a network environment that enables system administrators to categorize machines and automatically install systems based on the machines category.
K
kernel The master program (core) of the Solaris Operating Environment. It manages devices, memory, swap, processes, and daemons. The kernel also controls the functions between the system programs and the system hardware.
L
LAN (local area network) A group of computer systems in close proximity that can communicate by way of some connecting hardware and software. layer One of a set of services, functions, and protocols that span all open systems.
M
MAC Media access control. master server The server that maintains the master copy of the network information service database. It has a disk and a complete copy of the operating system. mirror Disk mirroring is a feature that guards against component failure by writing the same data to two or more disk drives at the same time. MMF Multimode ber.
Glossary/Acronyms
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Glossary-9
MTU (maximum transmission unit) An MTU is the largest amount of data that can be transferred across a given physical network. The MTU is hardware specic. For example, the MTU for a physical Ethernet interface is 1500 bytes. multicast address One of three types of Ethernet address, the multicast address is used to send a message to a subset of hosts on a network. In Ethernet multicast addressing, the rst three octets must contain a value of 01.00.5E. The last three octets are used to assign host group identity.
N
name service A name service provides a means of identifying and locating resources (traditionally host names and Internet Protocol [IP] addresses) available to a network. The default name service product available in the Solaris 2.x Operating Environment is Network Information Service Plus (NIS+). NDP Neighbor Discovery Protocol. network Technically, the hardware connecting various systems, enabling them to communicate. Informally, the systems so connected. network address The address, consisting of up to 20 octets, used to locate an Open Systems Interconnection (OSI) transport entity. The address is formatted into an initial domain part that is standardized for each of several addressing domains, and a domain-specic part that is the responsibility of the addressing authority for that domain. Network layer In the International Standards Organization/Open Systems Interconnection (ISO/OSI) model of network standards, the third layer, which enables routing and switching blocks of data between two devices that support Transport layer protocols over a connection. network segment In Integrated Services Digital Network (ISDN), when the TCP adds an information header to a packet of data for decoding by the TCP on the remote machine, the expanded packet is referred to as a segment. It is then passed to the Network layer, which converts it to a datagram. It then goes to the Data Link layer, which converts it to a frame.
Glossary-10
NFS (Network File System) A le system distributed by Sun that provides transparent access to remote le systems on heterogeneous networks. NIC Network interface card. NIS (Network Information Service) The Sun Operating System 4.0 (minimum) network information service. A distributed network database containing key information about the systems and the users on the network. The NIS database is stored on the master server and all the slave servers. See also NIS+. NIS+ (Network Information Service Plus) The Sun Operating System 5.0 (minimum) network information service. NIS+ replaces NIS, the Sun OS 4.0 (minimum) NIS. NLA Next level aggregator. node A node is an addressable point on a network. Each node in a Sun network has a different name. A node can connect a computing system, a terminal, or various other peripheral devices to the network. NS Name server. NSCD Name service cache daemon. NTP Network Time Protocol. NVRAM Nonvolatile random access memory.
O
OpenBoot PROM OpenBoot programmable read-only memory. OS (operating system) A collection of programs that monitor the use of the system and supervise the other programs executed by it.
Glossary/Acronyms
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Glossary-11
OSI (Open Systems Interconnection) OSI is an international standardization program that was developed to facilitate communications among computers from different manufacturers. OSPF Open Shortest Path First.
P
PDU Packet data unit. peer-to-peer communication The communications between peer devices. Physical layer In the International Standards Organization/Open Systems Interconnection (ISO/OSI) model of network standards, the rst layer, which supplies the mechanical, electrical, and procedural means of establishing, maintaining, and releasing physical connections. PID (process identication number) A unique, system-wide, identication number assigned to a process. Also called process ID, process number. PLM Physical layer medium. PPP (Point-to-Point Protocol) A way to connect to the Internet; PPP also provides error-checking features. PROM (programmable read-only memory) A permanent memory chip programmed by the user rather than at the chip manufacturer, as is true with a read-only memory (ROM). You need a PROM programmer or burner to write data onto a PROM. PROM has been mostly replaced by erasable programmable read-only memory (EPROM), a type of PROM that can be erased by ultraviolet light and reprogrammed. protocol A way to transmit data between devices. A computer or device must have a correct protocol to be able to communicate successfully with other computers or devices. PTR DNS pointer record.
Glossary-12
R
RARP (Reverse Address Resolution Protocol) RARP is an Internet Protocol that maps a physical (hardware) address to an Internet address. Diskless clients use RARP to nd its Internet address at startup. RDISC Router discovery. RFC Request for Comment. RIP (Routing Information Protocol) RIP provides for automated distribution of routing information between systems. RPC (remote procedure call) This is an easy and popular paradigm for implementing the client-server model of distributed computing. A request is sent to a remote system to execute a designated procedure, using supplied arguments. The result is returned to the caller. There are many variations of this, resulting in a variety of different RPC protocols. run level One of the eight initialization states in which a system can run. A system can run in only one initialization state at a time. The default run level for each system is specied in the /etc/inittab le. run level 2 A multiuser mode without remote resources available. All daemons are running except for remote le-sharing daemons. run level S A single-user mode in which the operating system is running, but all users are logged out and most system processes, such as print and mail, are not running. Only one user (the superuser) is logged in to the system. Run level S is convenient for doing backups because, because no users are logged in, all data is stable.
S
SLA Site-level aggregator.
Glossary/Acronyms
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Glossary-13
slave server A server system that maintains a copy of the Network Information Service (NIS) database. It has a disk and a complete copy of the operating system. SLIP (Serial-Line Internet Protocol) An Internet protocol used to run Internet Protocol (IP) over serial lines such as telephone circuits or RS-232 cables interconnecting two systems. The Point-to-Point Protocol (PPP) is the preferred protocol. SMF Service Management Framework. SNMP (Simple Network Management Protocol) The network management of choice for Transmission Control Protocol/Internet Protocol-based (TCP/IP-based) Internets. snoop This command captures network packets and displays their contents. The command can be run only by the superuser. SOA (start of authority) An SOA record marks the beginning of a zones authority and denes parameters that affect an entire zone. stateful A type of data transfer where part of the data sent from the client to the server includes the status of the client. Transmission Control Protocol (TCP) is an example of a stateful protocol. stateless A type of data transfer where the server has no obligation to keep track of the state of the client. User Datagram Protocol (UDP) is an example of a stateless protocol. subnetwork A collection of International Standards Organization/Open Systems Interconnection (ISO/OSI) end systems and intermediate systems under the control of a single administrative domain and using a single network access protocol; for example, private X.25 networks and a collection of bridged LANs.
Glossary-14
T
TCP (Transmission Control Protocol) A communications protocol that ensures data is sent between computers on the Internet. TCP/IP (Transmission Control Protocol/Internet Protocol) An Internet protocol that provides for the reliable delivery of data streams from one host to another. SunOS networks run on TCP/IP by default. Also called Internet Protocol suite. See also IP. TLA Top-level aggregator. TP Twisted pair. TP-PLM Twisted-pair physical layer medium. Transport layer In the International Standards Organization/Open Systems Interconnection (ISO/OSI) model of network standards, the fourth layer, which controls the transfer of data between session layer entities. TTL (time-to-live) Complete entries in the Address Resolution Protocol (ARP) table have a TTL value and a period during which they are considered to be valid entries (normally 30 minutes). TTL is also used in Domain Name System (DNS) zone les.
U
UDP (User Datagram Protocol) This protocol is a transport protocol in the Internet suite of protocols. It uses Internet Protocol (IP) for delivery, and provides for exchange of datagrams without acknowledgements or guaranteed delivery. UTC Coordinated Universal Time. This is the ofcial standard for current time. Several institutions contribute their calculations of the current time, and UTC is a combination of these estimates. UTP Unshielded twisted-pair.
Glossary/Acronyms
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Glossary-15
V
VLAN Virtual local area network. VLSM Variable length subnet mask.
W
WAN (wide area network) WANs are slower-speed networks typically used by organizations to connect their local area networks. WANs are often built from leased telephone lines capable of moving data at speeds of 56 kilobits per second to 1.55 megabits per second. A WAN might be used to bridge a companys ofce on two opposite ends of town or on opposite ends of a continent.
Glossary-16
Index
Numerics
1000BASE-CX media system 2-11 1000BASE-LX media system 2-11 1000BASE-SX media system 2-11 1000BASE-T media system 2-11 100BASE-FX media system 2-10 100BASE-T4 media system 2-10 100BASE-TX media system 2-9 10BASE-T media system 2-9 IPv6 anycast 8-6 multicast 8-5 representation 8-6 types 8-5 unicast 8-5 link-local 8-6 loopback type 8-14 multicast 3-7, 5-11, 8-7 network number 5-9 scope bits 8-16 site-local 8-6 test 6-5 unicast 3-7, 5-9 unspecified type 8-14 address-to-name translation 10-24, 10-25 aggregatable global address 8-7, 8-12 anycast address 8-6 Application layer common protocols 1-9 description 1-4, 1-8 formatting data 1-9 functions 1-9 presenting data 1-9 transporting data 1-9 ARP adding entries from a file 4-6 adding permanent table entries 4-6 adding table entries 4-6 cache 4-4
A
access list 10-27 access method, Ethernet 3-2 addif option 5-27 address aggregatable global 8-7 broadcast 3-7, 5-11 Class A 5-9 Class B 5-10 Class C 5-10 classful 5-9 define test 8-61 detecting duplicates 8-10 embedded IPv4 8-13 Ethernet 3-6 host number 5-9 IP 5-9 IPv4 5-9
Index-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
cache management 4-5 cache times 4-4 control table entries 4-5 deleting table entries 4-7 description 1-13, 4-2 display table entries 4-5 Ethernet frame 4-2 operation 4-2 process 4-3 removing static entries 4-7 removing table entries 4-6 searching for new cache entries 4-6 table entries 4-5 TCP/IP model 4-2 time to live 4-6 arp utility 4-5 ASCII 1-9 autonomous system 7-8
B
banner command 3-8 BASE 2-8 baseband 2-8 BIND 10-24 bridges 2-12 bridging devices 2-12 broadcast addresses 3-7, 5-11 buffered transfer 9-11 bus configurations 2-2
C
capture network packets 3-14 carrier sense 3-2 carrier sense multiple access/collision detection. See CSMA/CD changing host name 5-23 CIDR block 7-35 operation 7-33 purpose 7-33 Class A address 5-9 Class B address 5-10 Class C address 5-10
classful address 5-9 classless inter-domain routing. See CIDR CNAME record 10-23 coaxial cable 2-8 collision detection 3-2 rates 3-4 collision rates 3-4 commands banner 3-8 eeprom 3-8 ndd 4-4 route 7-24 communication architecture 1-2 computers keeping time 12-2 networking fundamentals 1-2 configuration errors file 10-35 configuring default route 7-19 DHCP address 11-21 to 11-38 initial 11-9, 11-20 server 11-28 DHCP client 11-39 DNS client 10-32 dynamic routing 7-25 interface for IPv6 8-20 IPMP at boot time 8-68 manually 8-58 IPv6 autoconfiguration 8-3, 8-8 interfaces 8-24 multipathing 8-58 name service lookup 8-21, 8-25 on non-router 8-19 router 8-24 logical interfaces 5-26, 8-36 multipathing 6-6, 6-21 ndpd.conf file 8-25 NTP client 12-13 NTP server 12-5 router troubleshooting 7-42 routing
Index-2
at boot time 7-38 without rebooting 7-40 secondary DNS server 10-29 static route 7-18 static route manually 7-21 stratum of a NTP server 12-8 troubleshooting routers 8-33 connectionless communication 1-8 connection-oriented communication 1-8 connection-oriented protocol 9-3 connections, full-duplex and virtual circuit 9-11 contiguous netmask 5-15 contiguous subnet masks 5-15 CRC 1-5 creating DHCP tables 11-31 CSMA/CD Ethernet access method 3-2 structure 3-3 cyclical redundancy check (CRC) 1-5
D
daemons /usr/sbin/in.routed 7-28 in.dhcpd 11-4 in.mpathd 6-4, 6-18, 8-66 in.ndpd 8-18, 8-23 in.rarpd 4-9, 4-11 in.ripngd 8-24 in.routed 7-20 xntpd 12-7 data communication 1-2 data encapsulation 1-11, 4-2 data format 1-2 data transfer 1-2 datagram connectionless delivery of 5-3 header fields 5-6 IP 5-6 IP fields 5-6 payload 5-8 default route 7-6, 7-19 define test address 8-61 destination IP address 7-15
network 7-17 network number 7-15 DHCP adding table entries 11-32 address configuration 11-21, 11-38 client functions 11-3 configuration file 11-7 configuring client 11-39 servers 11-7, 11-28 creating tables 11-31 description 1-14 dhcptab table 11-34 functionality 11-2 fundamentals 11-2 graphical manager 11-8 initial configuration 11-9 to 11-20 managing tables 11-31 server 10-26 server functions 11-4 troubleshooting clients 11-45 dhcp_network file 11-30 dhcpconfig utility 11-8, 11-28 dhcpmgr utility 11-8 dhcptab table 11-34 dhtadm utility 11-34 direct route 7-4 directory, /tftpboot 4-11 discover routers 8-18 diskless clients 4-9 displaying ARP data 4-4 ARP table entries 4-6 IPv6 route table 8-36 route table 7-12 state of IPv6 interfaces 8-35 distance-vector algorithms 7-11, 7-25 DNS access list 10-27 allow-query BIND file 10-27 allow-transfer BIND file 10-27 configuring server 10-29 configuring the client 10-32 description 1-14 dynamic updates 10-26
Index
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Index-3
restricting queries 10-28 reverse-domain file 10-24 security 10-27 server 10-25 troubleshooting the server 10-33 Domain Name System. See DNS drift file 12-7 duplicate address detection 8-10 Dynamic Host Configuration Protocol. See DHCP dynamic route 7-7 dynamic routing, configuring 7-25
F
failover 6-2 FAILURE_DETECTION_TIME variable 6-5 features of a protocol stack 1-3 File Transfer Protocol (FTP) 1-9, 1-14 files /etc/default/dhcp 11-7 /etc/default/mpathd 6-3, 6-5, 6-18, 8-66 /etc/defaultrouter 7-6, 7-19 /etc/ethers 4-11 /etc/gateways 7-20 /etc/hostname.hme0 5-27 /etc/hostname.interface 5-22, 5-23 /etc/inet/dhcpsvc.conf 11-7 /etc/inet/hosts 3-17, 4-11, 5-23 /etc/inet/netmasks 5-18 /etc/inet/networks 7-16 /etc/inet/ntp.conf 12-7, 12-11 /etc/inet/ntp.server 12-5 /etc/named.conf 10-27 /etc/net/hosts 5-22 /etc/netmask 5-18 /etc/nodename 5-23 /etc/nsswitch.conf 4-11 /usr/include/netinet/ip_icmp.h 5-4 /var/adm/messages 10-35 /var/ntp/ntp.drift 12-7 dhcp_network 11-30 interface configuration 5-22 ndpd.conf 8-25 ntp.conf 12-8 one-backup 10-30 one-rbackup 10-30 flow control 9-12 flushing route table 7-23 format prefix 8-6 formatting data, Application layer functions 1-9 fragmentation 5-3
E
EBCDIC 1-9 EEPROM 3-8 eeprom command 3-8 EGP 7-10 electrically erasable programmable read-only memory (EEPROM) 3-8 embedded IPv4 address 8-13 enabling IPv6 8-18 Ethernet access method 3-2 address mapping 4-5 addresses 3-6 ARP 4-2 changing the address 3-9 displaying the address 3-8 displaying the state 3-4 elements 3-2 frame header information 3-14 frames 3-2, 3-6, 3-10 permanent change to address 3-9 statistics 3-4 switches 2-13 topology 3-3 viewing the address 3-8 Ethernet frames bad CRC 3-13 error conditions 3-13 giant 3-13 jabbers 3-13 long 3-13 runts 3-13
Index-4
frame check sequence 3-13 frames, Ethernet 3-2 framing packets 1-5 FTP 1-9, 1-14 fudge entry 12-8 full-duplex connection 9-11 transmission 3-4 full-duplex transmission 3-4 function, \? 3-19
G
group membership 8-17
H
half-duplex transmission 3-4 hardware address 4-5 header fields, IP 5-7 hme driver 3-18 hme interfaces 3-19 hme0 interface 3-19, 5-22 hold-down state 7-26 hop count 7-25 hop-count limit 7-26 host alias 10-23 host name, changing 5-23 host nickname 10-23 host-based addressing media 3-6 host-based approach, Ethernet addresses 3-6 HTTP 1-15 http 1-4, 12-9 hubs intelligent 2-3 non-intelligent 2-3 shared 2-12 Hypertext Transfer Protocol (HTTP) 1-15
I
IANA 5-9 ICMP definition 5-3
description 1-13 error detection 1-7 functions 5-3 message types 5-4 message-type file 5-4 purpose 5-3, 5-4 redirect 7-31 routing data 1-7 ICMPv6 group membership 8-17 IEEE 802.3 standard 2-9, 3-2 IEEE identifiers 2-8 if_mpadm utility 6-28 ifconfig utility addif option 5-27 configuring logical interfaces 5-26 unconfiguring logical interfaces 5-28 viewing the MTU of an interface 5-3 IGP 7-9 IMAP4 1-14 in.dhcpd daemon 11-4 in.mpathd daemon failure detection 6-5 multipath group 6-4 repair detection 6-5 starting 6-18, 8-66 in.ndpd daemon 8-18, 8-23 in.rarpd daemon 4-9, 4-11 in.rdisc process 7-30 in.ripngd daemon 8-24 in.routed daemon 7-20 incrementing interface number 5-27 indirect route 7-4 initializing multihomed host 7-40 non-router 7-41 input errors, network system 3-5 instance of hme interface 3-19 instance parameter 3-19 Institute of Electrical and Electronics Engineers, Inc. (IEEE) identifiers 2-8 intelligent hubs 2-3 interface configuration files 5-22 interface failure definition 6-5 interface identifier 8-8 interface identifier calculation 8-9 interface repair definition 6-6
Index
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Index-5
interfaces hme 3-19 hme0 3-19 logical 5-24 virtual 5-24 Internet Assigned Numbers Authority (IANA) 5-9 Internet Control Message Protocol. See ICMP Internet Gateway Protocol (IGP) 7-9 Internet layer description 1-4, 1-6 functions 1-6 ICMP 1-7 IP 1-7 Internet Message Access Protocol version 4 (IMAP4) 1-14 Internet Protocol. See IP IP address mapping 4-5 address types 5-9 datagram 5-3, 5-6, 7-15 datagram header fields 5-6 datagram payload 5-8 description 1-13 fragmenting data 1-7 header fields 5-7 ICMP 5-3 MTUs 5-3 purpose 5-3 routing 7-3 routing data 1-7 IPMP configuring at boot time 8-68 features 6-3 manual configuration 8-58 requirements 6-4, 6-20 IPv4 address shortage 8-3 addresses 5-9 IPv6 address representation 8-6 address shortage 8-3 address types 8-5 aggregatable global address 8-7, 8-12 anycast address 8-6
authentication 8-4 autoconfiguration 8-3, 8-8 configure on non-router 8-19 configuring interfaces 8-20, 8-24 configuring multipathing 8-58 configuring name service lookup 8-21 displaying interfaces 8-35 displaying route table 8-36 embedded IPv4 address 8-13 enabling 8-18 expanded addressing 8-4 format prefix 8-6 interface troubleshooting 8-36 IPMP configuration 8-58 link-local address 8-6 managing 8-35 multicast address 8-5, 8-7 name service lookup 8-25 privacy header 8-4 RFC 8-3 RIP 8-23 router configuration 8-24 site-local address 8-6 stateful autoconfiguration 8-8 stateless autoconfiguration 8-8 unicast address 8-5
J
JumpStart software clients 4-9
L
LAN media 2-8 network devices 2-12 link speed 3-19 link-local address 8-6, 8-11 link-state protocol 7-10 localhost entry 7-18 local-mac-address? variable 3-8 logical interfaces administering 5-24 configuring 5-26, 8-36
Index-6
description 5-24 incrementing 5-27 removeif option 5-28 unconfiguring 5-28 loopback address type 8-14 loopback interface 3-12
multihomed host 7-40 multipath, viewing operation 6-28 multipathing configuring 6-6, 6-21, 8-58 troubleshooting 6-30 multiple access 3-2
M
MAC address banner command 3-8 files 4-11 ifconfig utility 3-8 setting 3-8 viewing 3-8 managing DHCP tables 11-31 IPv6 8-35 NTP daemons 12-10 mappings to host names 10-21 maximum transfer unit. See MTU media access control address. See MAC address media systems 1000BASE-CX 2-11 1000BASE-LX 2-11 1000BASE-SX 2-11 1000BASE-T 2-11 100BASE - TX 2-9 100BASE-FX 2-10 100BASE-T4 2-10 10BASE-T 2-9 messages, ICMP 5-4 monitoring route table changes 7-22 MTU data size 3-12 description 3-12 fragmentation 5-3 Internet layer 5-3 maximum frame size 3-12 multicast address description 3-7, 5-11 format prefixes 8-7 IPv6 8-5 purpose 8-15 scope bits 8-16
N
name daemon control program (ndc) 10-45 name server 10-20 name service lookup 8-21, 8-25 name-service database 4-11 names-to-IP addresses 10-21 ND 8-18 ndc utility 10-45 ndd parameters 3-19 ndd utility 3-18, 3-19, 3-20, 4-4 ndpd.conf file 8-25 Neighbor Discovery Protocol (ND) 8-18 netmask contiguous 5-15 definition 5-18 file 5-18 noncontiguous 5-15 netstat utility displaying collisions 3-4 displaying Ethernet interfaces 3-17 field descriptions 3-17 -i option 3-17 input and output errors 3-5 network devices bridges 2-12 LANs 2-12 switches 2-12 Network File System (NFS) 1-9 network interface card (NIC) 3-6, 6-2 Network Interface layer description 1-4 protocols IEEE 802.4 1-6 IEEE 802.5 1-6 PPP 1-12 SLIP 1-12 TCP/IP 3-2 network is unreachable 7-15
Index
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Index-7
network model concepts 1-3 functions 1-3 layered model 1-3 layers 1-3 rules 1-3 structure 1-3 network name 7-16, 7-44 network number 5-18 network overload 3-5 network packets, capturing 3-14 network performance problems 3-4 network protocols 1-2 Network Time Protocol. See NTP network topologies and OSPF 7-10 bus configurations 2-2 describing 2-2 ring configurations 2-4 star configurations 2-3 NFS 1-9 NIC 3-6, 6-2 no route to host 7-15 noncontiguous netmasks 5-15 noncontiguous subnet masks 5-15 non-intelligent hubs 2-3 nonvolatile random access memory (NVRAM), Ethernet addresses 3-6 noripin directive 7-20 NS record 10-20, 10-21 nslookup utility 10-36 NTP basic concepts 12-2 configuration file parts 12-6 configuring a server 12-5 configuring clients 12-13 configuring stratum of a NTP server 12-8 configuring the stratum 12-8 external reference servers 12-9 fudge entry 12-8 functions 12-3 managing daemons 12-10 multicast advertisement 12-8 ntpg utility 12-12 peers 12-12
query program 12-12 snoop utility 12-16 terms 12-3 troubleshooting 12-15 undisciplined local clock 12-7 xntpdc utility 12-10 ntp.conf file 12-8 ntpq utility 12-12 NVRAM 3-6
O
one-backup file 10-30 one-rbackup file 10-30 output errors 3-5
P
packet data unit 1-5 parameters instance 3-19 TRACK_INTERFACES_ONLY_WITH_ GROUPS 8-66 path-vector algorithm 7-11 PDU 1-5 peer-to-peer description 1-10 encapsulation 1-11 physical network interface 5-25 piggybacking 9-11 pntadm utility 11-31 Point-to-Point Protocol (PPP) 1-12 POP3 1-14 port-based address 3-8 port-based approach, Ethernet addresses 3-6 Post Office Protocol, version 3 (POP3) 1-14 PPP 1-12 prefix notation 8-13 presenting data, Application layer functions 1-9 process, in.rdisc 7-30 programmable read-only memory (PROM) 4-10
Index-8
protocol stack features 1-3 protocol statistics 3-18 protocols connection-oriented 9-3 EGP 7-10 FTP 1-9, 1-14 functions 1-2 ICMP 5-3 IGP 7-9 IP 5-3 link-state 7-10 NFS 1-9 RDISC 7-30 reliable 9-6 SLIP 1-12 SMTP 1-9 SNMP 1-9 SSH 1-9 stack 1-2 stateful 9-5 stateless 9-5 TCP 9-2, 9-8 telnet 1-9 Transport layer 9-2, 9-8 UDP 9-2, 9-8 unreliable 9-7
R
RARP /etc/ethers files 4-11 /etc/inet/hosts files 4-11 description 1-13 in.rarp daemon 4-11 operation 4-9 performing a boot 4-10 PROM 4-10 TCP/IP Internet layer protocol description 1-13 RDISC Protocol 7-30, 8-18 reducing network traffic 9-11 reference clock 12-3 reliable protocol 9-6 remote procedure call (RPC) 3-14 removeif option 5-28 Request for Comment. See RFC
retransmit message 9-6 REVARP request 4-9 Reverse Address Resolution Protocol. See RARP reverse loopback 10-25 reverse-domain file 10-24 RFC documents 1-4 listings 1-4 ring configurations 2-4 RIP 7-7, 8-23 root name server 10-20 route command 7-24 route poisoning 7-27 route table description 7-12 display 7-12 fields 7-13 flush 7-23 monitoring changes 7-22 netmask 7-23 protocol 7-10 search order 7-14 updates 7-6, 7-31 router advertisement 8-19 configuration 8-24 discover 8-18 troubleshooting 8-22 Router Discovery (RDISC) Protocol 8-18 routing add route 7-24 advertisement 7-7 autonomous system 7-8 broadcast 7-28 configuring at boot time 7-38 configuring without rebooting 7-40 default 7-6, 7-19 direct 7-4 dynamic 7-7 fundamentals 7-3 hold-down state 7-26 hops 7-25 indirect 7-4 initialization 7-38 initializing non-router 7-41
Index
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Index-9
route poisoning 7-27 route table 7-6 split horizons 7-26 static 7-6 triggered updates 7-26 troubleshooting 7-42 Routing Information Protocol (RIP) 7-7, 8-23 RPC 3-14 RUNNING flag 6-5
S
scope bits 8-16 scripts /etc/rc2.d/S69inet 4-11, 5-17, 6-18, 7-7, 7-39, 8-29 /etc/rc2.d/S72inetsvc 5-17 /etc/rcSd/S30network.sh 5-17, 6-18 secure shell 1-9 security DNS 10-27 restricting queries 10-28 segment type 2-8 self-contained messages 9-4 semantics in network protocols 1-2 sender side congestion window 9-12 sequencing 1-2 Serial Line Internet Protocol (SLIP) 1-12 servers DHCP configuration 11-7 stratum 12-3 Simple Mail Transfer Protocol (SMTP) 1-9, 1-14 Simple Network Management Protocol (SNMP) 1-9, 1-14 site-local address 8-6, 8-12 SLIP 1-12 SMTP 1-9, 1-14 SNMP 1-9, 1-14 snoop utility capture network packets 3-14 NTP 12-16 reading the file 3-16 summary mode 3-14
using 3-14 verbose mode 3-14 SOA record 10-22 speed matching 1-2 split horizons 7-26 SSH 1-9 standby interface 6-3 star configurations 2-3 stateful autoconfiguration 8-8 protocol 9-5 stateless autoconfiguration 8-8 protocol 9-5 static routes configuring 7-18 configuring manual 7-21 definition 7-6 strata 12-3 stratum-1 server 12-3 subnet address 5-21 subnet masks contiguous 5-15 noncontiguous 5-15 subnetting 5-12 switches 2-12 switching devices 2-12
T
TCP congestion window 9-12 datagram header 9-10 description 1-13, 9-10 flow control 9-12 header information 9-11 high-bandwidth network 9-13 large window 9-13 network congestion 9-12 protocol 1-8, 9-2, 9-8 receiver-side window advertisements 9-12 reliability 1-8 satellite networks 9-13 segment acknowledgement 9-12 segments 1-8
Index-10
TCP/IP ARP 4-2 common protocols 1-12 model 1-1 Network Interface layer 3-2 peer-to-peer communication 1-10 PPP 1-12 protocol stack 9-8 protocols 1-12 SLIP protocol 1-12 TCP/IP layer model Application layer 1-4 common hardware platform 1-4 Internet layer 1-4 Network Interface layer 1-4 primary functions 1-5 Transport layer 1-4 telnet protocol 1-9, 1-14 test address 6-5, 8-61 time keeping 12-2 time-to-live 10-20 timing in network protocols 1-2 TRACK_INTERFACES_ONLY_WITH_GROUPS parameter 8-66 transfer, buffered 9-11 transmission full-duplex 3-4 half-duplex 3-4 Transmission Control Protocol. See TCP Transmission Control Protocol/Internet Protocol. See TCP/IP Transport layer connectionless communication 1-8 connection-oriented communication 1-8 description 1-4, 1-7 error detection 9-8 fundamentals 9-2 protocol 9-2, 9-8 transport server 9-2 transporting data, Application layer functions 1-9 triggered updates 7-26 troubleshooting DHCP clients 11-45 DNS server 10-33
IPv6 interface 8-36 multipathing 6-30 network names 7-44 non-router configuration 8-22 NTP 12-15 router configuration 7-42, 8-33 routing 7-42, 7-44 tools 3-17 twisted-pair 2-8
U
UDP datagram header 9-9 datagrams 1-8 description 1-13, 9-9 procedure call 3-14 protocol 9-2, 9-8 reliability 1-8, 9-9 unconfiguring logical interfaces 5-28 undisciplined local clock 12-7 unicast addresses description 3-7, 5-9, 8-5 types 8-11 unreliable protocol 9-7 unspecified address type 8-14 unstructured stream orientation 9-11 User Datagram Protocol. See UDP utilities arp 4-5 dhcpconfig 11-8, 11-28 dhcpmgr 11-8 dhtadm 11-34 if_mpadm 6-28 ifconfig 5-3, 5-26 ndc 10-45 ndd 3-18, 3-19, 3-20 netstat 3-4, 3-5 nslookup 10-36 ntpg 12-12 ntpq 12-12 pntadm 11-31 snoop 3-14, 12-16 xntpdc 12-10
Index
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision A.1
Index-11
V
variable length subnet mask (VLSM) 5-20 variables FAILURE_DETECTION_TIME 6-5 local-mac-address? 3-8 virtual circuit connection 9-11 virtual interfaces 5-24 Virtual Local Area Network (VLAN) 2-5 VLAN 2-5 VLSM 5-20
W
web servers 10-24 window advertisement 9-12
X
xntpd daemon 12-7 xntpdc utility 12-10
Index-12