\documentclass{beamer} \usepackage{url} \usepackage{verbatim} \usetheme{Warsaw} \usecolortheme{seagull} \title{Intro to iproute2} \author{John Lewis} \institute{Western Pennsylvania Linux Users Group} \date{May 1, 2012} \begin{document} \begin{frame} \titlepage \end{frame} \begin{frame} \frametitle{What is iproute2} iproute2 is a collection of utilities for controlling TCP/IP networking in Linux \end{frame} \begin{frame} \frametitle{Net-tools inadequate for modern networks and is obsolete} \begin{itemize} \item ifconfig \item route \item netstat \item arp \item rarp \end{itemize} \end{frame} \begin{frame} \frametitle{New tools in iproute2} \begin{itemize} \item ip \item ip help \item ip link (network device) \item ip addr (IP or Ipv6 address on device) \item ip addrlabel (label configuration on protocol address) \item ip route (routing table entry) \item ip rule (rule and routing protocol entry) \item ip neigh (ARP or NDISC cache entry) \end{itemize} \end{frame} \begin{frame} \frametitle{More new tools in iproute2} \begin{itemize} \item ip tunnel (tunnel over IP) \item ip tuntap \item ip maddr (multicast address) \item ip mroute (multicast routing cache entry) \item ip monitor (show objects) \item ip xfrm \item ss investigates sockets \end{itemize} \end{frame} \begin{frame} \frametitle{ip} \begin{itemize} \item ip [options] object \{ command | help \} \item tools are addressed as objects \item help goes at the end to get help on a specific object \item using help on ip directly gets all of the available commands \item man page not as current as ip help \end{itemize} \end{frame} \begin{frame} \frametitle{ip link} \begin{itemize} \item ip link modifies device state \item add device \item ip link add link [device to act on] name [name of new device] \item remove device \item ip link delete [device to act on] \item show device \item ip link show \item ip link set [device] \{up | down | arp \{on | off\}\} \end{itemize} \end{frame} \begin{frame} \frametitle{ip neigh} \begin{itemize} \item ip neigh \{show | flush\} [target address] dev [device name] [state] \item show shows things \item flush removes things \item can be manipulated with other commands \item ip neigh \{ add | del | change | replace \} \{[address] lladdr [ll address] \{permanent | noarp | stale | reachable \} | proxy Address\} dev [Device name] \end{itemize} \end{frame} \begin{frame} \frametitle{ip addr} \begin{itemize} \item shows ip address \item ip addr add [ip address] dev [interface name] \item adds address \item ip addr del [ip address] dev [interface name] \item removes address \end{itemize} \end{frame} \begin{frame} \frametitle{ip route} \begin{itemize} \item updates and displays routing table \item it is possible to have multiple named routing tables \item quagga depends on this utility \item ip route \{ list | flush \} [selector] \item ip route \{ add | del | change | append | replace | monitor \} [source] [next hop \{via [address] | dev [interface name] | weight [number] \} \end{itemize} \end{frame} \begin{frame} \frametitle{ip tunnel} \begin{itemize} \item encapsulates packets in other packets \item ip tunnel \{ add | change | del | show | prl \} [name of tunnel] [mode \{ ipip | gre | sit | isatap \} ] [remote address] [local address] [other options] \end{itemize} \end{frame} \begin{frame} \frametitle{ip tuntap} \begin{itemize} \item does user space networking \item allow applications to see raw network traffic at Ethernet or ip level \item tap = full Ethernet frames \item tun = raw packets \item ip tuntap \{ add | del \} dev [device name] mode \{ tun | tap \} user [user name] group [group name] [one\_queue] [pi] [vnet\_hdr] \end{itemize} \end{frame} \begin{frame} \frametitle{ss} \begin{itemize} \item utility to investigate sockets \item can display more TCP and state information than other tools \item -a displays all sockets \item -l displays listening sockets \item -e show detailed socket information \item -m show socket memory usage \item -p show process using socket \item -s prints summary statistics \item -t TCP sockets \item -u UDP sockets \item -x Unix domain sockets \end{itemize} \end{frame} \begin{frame} \frametitle{Source List} ip help\\ \url{http://backreference.org/2010/03/26/tuntap-interface-tutorial/}\\ \url{http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2}\\ man ip\\ /usr/share/doc/iproute-doc/\\ \end{frame} \begin{frame} \frametitle{Licensing} This document is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.\\ \url{https://creativecommons.org/licenses/by-sa/3.0/deed.en_US} \url{http://freedomdefined.org/Definition} \end{frame} \end{document}