From: Michael Tremer Date: Fri, 2 Oct 2015 17:52:16 +0000 (+0100) Subject: Add talk: IPFire 3: Networking X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a26d323d1da81be2baffdce17c70925c6aecb760;p=people%2Fms%2Ftalks.git Add talk: IPFire 3: Networking Signed-off-by: Michael Tremer --- diff --git a/.gitignore b/.gitignore index fded31e..571d41c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ *.out *.snm *.toc +*.vrb +*-converted-to.pdf diff --git a/2015_-_IPFire_3_Networking/main.tex b/2015_-_IPFire_3_Networking/main.tex new file mode 100644 index 0000000..a9523de --- /dev/null +++ b/2015_-_IPFire_3_Networking/main.tex @@ -0,0 +1,669 @@ + +\documentclass[serif,mathserif,compress]{beamer} + +\usepackage{beamerthemesplit} + +\usetheme{default} +\useoutertheme{default} + +\usepackage[british]{babel} +\usepackage{amsmath} +\usepackage{amsfonts} +\usepackage{color} +\usepackage{epsfig} +\usepackage{listings} +\usepackage{marvosym} +\usepackage{texnansi} +\usepackage{verbatim} +\usepackage{xspace} + +% Make this a 16:9 presentation +\setlength{\paperwidth}{171 mm} +\setlength{\paperheight}{96 mm} +\setlength{\textwidth}{151 mm} +\setlength{\textheight}{86 mm} + +\usepackage[default,osfigures,scale=0.95]{opensans} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} + +% Set sans-serif font. +%\renewcommand\sfdefault{phv} +%\renewcommand\familydefault{\sfdefault} + +% Define some colours. +\definecolor{myred}{rgb}{0.53,0.01,0} +\definecolor{mygrey}{rgb}{0.3,0.3,0.3} + +% Make a nice gradient as background. +%\setbeamertemplate{background canvas}[vertical shading] +%[bottom=black, middle=myred, top=myred] +\setbeamercolor{background canvas}{bg=white, fg=mygrey} +\setbeamercolor{frametitle}{fg=mygrey,bg=mygrey!20} +\setbeamercolor{section in head/foot}{bg=myred} +\setbeamercolor{subsection in head/foot}{fg=white} +\setbeamercolor{author in head/foot}{bg=myred} +\setbeamercolor{date in head/foot}{fg=white} + +% Highlight elements in some sort of grey. +\setbeamercolor{structure}{fg=mygrey} +\setbeamercolor{normal text}{bg=black, fg=mygrey} + +% Use round bullets in lists. +\setbeamertemplate{items}[circle] + +% Use bigger fonts for titles. +\setbeamerfont{title}{size=\Huge} +\setbeamerfont{frametitle}{size=\large} + +% Don't clutter the pages with useless navigations. +\setbeamertemplate{navigation symbols}{} + +\lstdefinestyle{console}{% + language=bash, + basicstyle=\ttfamily\fontsize{3.5}{6}\selectfont\color{white}, + frame=none, + rulecolor=\color{white}, + backgroundcolor=\color{black}, + breaklines=false, + breakindent=0pt, + lineskip={0pt}, + escapeinside={<@}{@>} +} + +% Author information. +\author[Michael Tremer]{Michael Tremer} +\institute{IPFire Project} + +% The title of the presentation. +\title{IPFire 3: Networking} +\subtitle{Basics of the next generation of networking in IPFire} + +\date{October 10\textsuperscript{th}, 2015} + +\newcommand{\spacer}{\vspace{4 mm}} + +\newcommand{\screenshot}[1]{\centerline{% + \includegraphics[width=\textwidth]{#1}}} + +\newcommand{\slug}[1]{ + \vspace*{\fill} + + \begin{center} + \LARGE #1 + \end{center} + + \vspace*{\fill} +} + +\newcommand{\subslug}[1]{ + \slug{\normalsize #1} +} + +\begin{document} + \maketitle + + %\section*{Outline} + %\frame{\tableofcontents} + + \section{Introduction} + + \begin{frame} + \frametitle{What is this all about?} + + \slug{The new \texttt{network} command} + \pause + + \subslug{One to rule them all} + \end{frame} + + \begin{frame} + \frametitle{Introduction} + + \slug{Rewritten from scratch} + \pause + + \subslug{Shell code (because it is fast and easily extensible)} + \pause + + \subslug{Built around new concepts without any patchwork} + \end{frame} + + \begin{frame} + \frametitle{We can do fancy stuff...} + + \subslug{Initialises everything in parallel for fast bootup} + \subslug{Everything is hotpluggable} + \subslug{Auto-completion on command line} + \subslug{Easily extensible = \\ + common language + modular design + huge library of functions for everything} + \subslug{Good Alpha state, testers welcome} + \end{frame} + + \section{Zones} + + \begin{frame} + \slug{\only<2>{Unlimited} Zones} + \end{frame} + + \begin{frame} + \frametitle{Zones} + + \slug{Zones represent a \emph{logical} segment of the network} + \end{frame} + + \subsection{Types of Zones} + + \begin{frame} + \frametitle{There are two types...} + \slug{Uplink Zones (\texttt{upl0, upl1, ...})} + \pause + + \slug{Network Zones (\texttt{net0, net1, ...})} + \end{frame} + + \subsection{Zone Hooks} + + \begin{frame} + \frametitle{Zone Hooks} + + \subslug{Every supported protocol is realised as a 'hook'} + \pause + + \subslug{Hooks are designed as a modular thing} + \pause + + \subslug{Their only requirement is to create an Ethernet-like + device \\ that can have an IP address assigned} + \end{frame} + + \subsubsection{The 'bridge' hook} + + \begin{frame}[fragile] + \frametitle{The 'bridge' hook} + + \begin{columns}[T] % align columns + \begin{column}{.48\textwidth} + \begin{itemize} + \item The most important hook (i.e. everything local is a bridge) + \pause + \item Can have multiple ports + \begin{itemize} + \item Packets are forwarded between ports + \item Redundancy! + \item Performance! + \end{itemize} + \pause + \item Entire network segments can be added at runtime + \pause + \item (True) Layer 2 VPNs + \pause + \end{itemize} + \end{column}% + \hfill% + \begin{column}{.48\textwidth} + \begin{lstlisting}[style=console] +Zone upl0 (enabled, bridge) + Status <@\textcolor{green}{UP}@> + MTU 1500 + + Statistics + Received 1946547 packets 170M (0 errors) + Sent 891860 packets 354M (0 errors) + + Spanning Tree Protocol information + Version Spanning Tree Protocol + ID 0200.8e0aa9032f5f + Priority 512 + This bridge is root. + + Topology changing no + Topology change time 0s + Topology change count 0 + + Ports + p1 <@\textcolor{green}{FORWARDING}@> - DSR: 8e:0a:a9:03:2f:5f - Cost: 4 + p2 <@\textcolor{green}{FORWARDING}@> - DSR: 8e:0a:a9:03:2f:5e - Cost: 4 + + Configurations + ipv4-dhcp <@\textcolor{green}{UP}@> + IPv4 address 192.168.160.126/24 + Gateway 192.168.160.253 + + DNS-Servers 192.168.160.253 + \end{lstlisting} + \end{column}% + \end{columns} + \end{frame} + + \subsubsection{The 'pppoe' hook} + + \begin{frame}[fragile] + \frametitle{The 'pppoe' hook} + + \subslug{The PPPoE protocol is used for many dial-up connections + like DSL, VDSL, some aerial connections or satellite links} + \subslug{Uses a port to connect to a physical network} + \subslug{Modular design - Takes a single (physical) port} + \end{frame} + + \subsubsection{The 'modem' hook} + + \begin{frame}{The 'modem' hook} + \subslug{Used from 56k modems over UMTS/3G to LTE/4G} + \subslug{Simply creates a PPP session over a (serial) link} + \end{frame} + + \begin{frame}{The 'wireless' hook} + \subslug{Connects to an (encrypted) wireless network} + \end{frame} + + \begin{frame} + \frametitle{Other hooks (only IPv6 transition protocols)} + + \begin{center} + \begin{tabular}{|l|l|} + \hline + 6to4-tunnel & Hurricane Electric tunnels \\ + \hline + 6rd & The 6rd transitioning protocol used by some ISPs \\ + \hline + aiccu & AYIYA (anything-in-anything) protocol used by SIXXS.net \\ + \hline + \end{tabular} + \end{center} + \end{frame} + + \begin{frame} + \frametitle{What have we seen?} + + \subslug{We support everything that is supported in IPFire 2: \\ + Ethernet (Cable + Fibre), WiFi \& PPP (PPPoE, mobile connections) + } + + \subslug{Except: PPTP} + \end{frame} + + \section{Ports} + + \subsection{What is a Port?} + + \begin{frame} + \frametitle{Ports} + + \slug{Ports most often represent a \emph{physical} segment of the network} + \pause + + \slug{They can also be virtual} + \end{frame} + + \subsection{Port Hooks} + + \subsubsection{The 'ethernet' hook} + + \begin{frame}[fragile] + \frametitle{The 'ethernet' hook} + + \begin{columns}[T] % align columns + \begin{column}{.48\textwidth} + \subslug{For Ethernet adapters in the system \\ + (physical and virtual)} + + \begin{itemize} + \item Get automatically created when a new network device is + plugged in + \end{itemize} + \end{column}% + \hfill% + \begin{column}{.48\textwidth} + \begin{lstlisting}[style=console] +[root@prime ~]# network port p1 status +Port p1 (ethernet) + Status <@\textcolor{green}{UP}@> + Address 00:c0:08:87:ef:4a + MTU 1500 + Promisc true + + Statistics + Received 1952204 packets 197M (0 errors) + Sent 2461555 packets 432M (0 errors) + +[root@prime ~]# network device p1 status +Device status: p1 + Name p1 + Status <@\textcolor{green}{UP}@> + Type ethernet + Ethernet-compatible true + Address 00:c0:08:87:ef:4a + + Link 1000 MBit/s full duplex + MTU 1500 + + Statistics + Received 1952262 packets 197M (0 errors) + Sent 2461604 packets 432M (0 errors) + + Has carrier? true + Promisc true + \end{lstlisting} + \end{column}% + \end{columns} + \end{frame} + + \subsubsection{The 'vlan' hook} + + \begin{frame}[fragile] + \frametitle{The 'vlan' hook} + + \begin{columns}[T] % align columns + \begin{column}{.48\textwidth} + \subslug{Plain 802.1q} + \end{column}% + \hfill% + \begin{column}{.48\textwidth} + \begin{lstlisting}[style=console] +[root@prime ~]# network port new vlan --parent-device=d0 --tag=10 +Configuration check succeeded. +Writing settings file /etc/network/ports/d0v10. +[root@prime ~]# network port d0v10 create +vlan device 'd0v10' has been created +[root@prime ~]# network port d0v10 up +Setting up device 'd0v10' +[root@prime ~]# network port d0v10 status +Port d0v10 (vlan) + Status <@\textcolor{green}{UP}@> + Address b6:2a:2d:f2:ce:13 + MTU 1500 + Promisc false + + Statistics + Received 0 packets 0B (0 errors) + Sent 0 packets 0B (0 errors) + + VLAN + Parent d0 + VID 10 + \end{lstlisting} + \end{column}% + \end{columns} + \end{frame} + + \subsubsection{The 'bonding' hook} + + \begin{frame}[fragile] + \frametitle{The 'bonding' hook} + + \begin{columns}[T] % align columns + \begin{column}{.48\textwidth} + \subslug{Combines several ports to one} + + \begin{itemize} + \item Also called ``Trunk'', ``LAG'' or ``Bond'' + \item Adds layer 2 failover \& redundancy + \item Can add the throughput of multiple links + (20G, 40G, ...) + \end{itemize} + \end{column}% + \hfill% + \begin{column}{.48\textwidth} + \begin{lstlisting}[style=console] +[root@prime ~]# network port new bonding b0 --slave=d0 --slave=d1 --mode=802.3ad +Configuration check succeeded. +Writing settings file /etc/network/ports/b0. +[root@prime ~]# network port b0 create +Loading module 'bonding'. +Successfully created bonding device 'b0' +Set mode of bond 'b0' to '802.3ad' +Setting address of 'b0' from 'ee:2f:65:02:2e:40' to '9e:db:22:40:46:b0' +[root@prime ~]# network port b0 up +Setting up device 'b0' +[root@prime ~]# network port b0 status +Port b0 (bonding) + Status <@\textcolor{yellow}{NO-CARRIER}@> + Address 9e:db:22:40:46:b0 + MTU 1500 + Promisc false + + Statistics + Received 0 packets 0B (0 errors) + Sent 0 packets 0B (0 errors) + + Bonding information + Mode 802.3ad + LACP rate slow + \end{lstlisting} + \end{column}% + \end{columns} + \end{frame} + + \subsubsection{The 'wireless-ap' hook} + + \begin{frame}[fragile] + \frametitle{The 'wireless-ap' hook} + + \begin{columns}[T] % align columns + \begin{column}{.48\textwidth} + \begin{itemize} + \item For Ethernet adapters in the system \\ + (physical and virtual) + \end{itemize} + \end{column}% + \hfill% + \begin{column}{.48\textwidth} + \begin{lstlisting}[style=console] +[root@prime ~]# network port new bonding b0 --slave=d0 --slave=d1 --mode=802.3ad +Configuration check succeeded. +Writing settings file /etc/network/ports/b0. +[root@prime ~]# network port b0 status +Port b0 (unknown) + Status <@\textcolor{red}{DOWN}@> + Address +[root@prime ~]# network port b0 create +Loading module 'bonding'. +Successfully created bonding device 'b0' +Set mode of bond 'b0' to '802.3ad' +Setting address of 'b0' from 'ee:2f:65:02:2e:40' to '9e:db:22:40:46:b0' +[root@prime ~]# network port b0 up +Setting up device 'b0' +[root@prime ~]# network port b0 status +Port b0 (bonding) + Status <@\textcolor{yellow}{NO-CARRIER}@> + Address 9e:db:22:40:46:b0 + MTU 1500 + Promisc false + + Statistics + Received 0 packets 0B (0 errors) + Sent 0 packets 0B (0 errors) + + Bonding information + Mode 802.3ad + LACP rate slow + \end{lstlisting} + \end{column}% + \end{columns} + \end{frame} + + \begin{frame} + \frametitle{Other hooks} + + \begin{center} + \begin{tabular}{|l|l|} + \hline + wireless-adhoc & Wireless Ad-hoc networks \\ + \hline + dummy & Dummy devices \\ + \hline + batman-adv & For wireless mesh networks with B.A.T.M.A.N \\ + \hline + \end{tabular} + \end{center} + \end{frame} + + \section{Zones \& Ports} + \subsection{Putting it all together} + + \begin{frame}[fragile] + \frametitle{Putting it all together} + + \begin{columns}[T] % align columns + \begin{column}{.48\textwidth} + \subslug{Ports get attached to \\ and detached from zones} + \pause + + \begin{lstlisting}[style=console] +[root@prime ~]# network zone new net9 bridge +<@\textcolor{blue}{Configuration check succeeded.}@> +<@\textcolor{blue}{Writing settings file /etc/network/zones/net9/settings.}@> +Auto-start enabled for zone net9 +Started service 'network@net9.service', code=0. +[root@prime ~]# network zone net9 port attach b0 +<@\textcolor{blue}{Configuration check succeeded.}@> +<@\textcolor{blue}{Writing settings file /etc/network/zones/net9/ports/b0.}@> +b0 has been attached to net9 +bridge: device 'b0' has been attached to bridge 'net9' +[root@prime ~]# network zone net9 port attach d0v10 +<@\textcolor{blue}{Configuration check succeeded.}@> +<@\textcolor{blue}{Writing settings file /etc/network/zones/net9/ports/d0v10.}@> +d0v10 has been attached to net9 +bridge: device 'd0v10' has been attached to bridge 'net9' + \end{lstlisting} + \pause + \end{column}% + \hfill% + \begin{column}{.48\textwidth} + \begin{lstlisting}[style=console] +[root@prime ~]# network status net9 +Zone net9 (enabled, bridge) + Status <@\textcolor{green}{UP}@> + MTU 1500 + + Statistics + Received 0 packets 0B (0 errors) + Sent 7 packets 738B (0 errors) + + Spanning Tree Protocol information + Version Rapid Spanning Tree Protocol + ID 0200.caddf06a9f59 + Priority 512 + This bridge is root. + + Topology changing no + Topology change time 5m + Topology change count 0 + + Ports + b0 <@\textcolor{yellow}{NO-CARRIER}@> + d0v10 <@\textcolor{green}{FORWARDING}@> - DSR: ca:dd:f0:6a:9f:59 + - Cost: 2000000 + \end{lstlisting} + \end{column}% + \end{columns} + \end{frame} + + \begin{frame} + \includegraphics[width=\textwidth]{res/zone} + \end{frame} + + \section{Configurations} + + \subsection{What is a Config?} + + \begin{frame} + \frametitle{Configs} + + \slug{Everything has been only layer 2 so far... \\ + Configs add layer 3} + \end{frame} + + \subsection{Config Hooks} + + \subsubsection{IPv6 \& IPv4 static configuration} + + \begin{frame}[fragile] + \frametitle{The 'ipv\{6,4\}-static' hook} + + \begin{columns}[T] % align columns + \begin{column}{.48\textwidth} + \subslug{Static IP address assignment \\ for IPv6 and IPv4} + \end{column}% + \hfill% + \begin{column}{.48\textwidth} + \begin{lstlisting}[style=console] +[root@prime ~]# network zone net9 config new ipv6-static \ + --address=2001:db8:: --prefix=32 +Configuration check succeeded. +Writing settings file /etc/network/zones/net9/configs/ipv6-static.2001db8.32. +IP address '2001:db8::' (ipv6) was successfully configured on device 'net9'. +[root@prime ~]# ip addr show dev net9 +22: net9@NONE: mtu 1500 qdisc noqueue state UP group default + link/ether ca:dd:f0:6a:9f:59 brd ff:ff:ff:ff:ff:ff + inet6 2001:db8::/32 scope global + valid_lft forever preferred_lft forever + inet6 fe80::c8dd:f0ff:fe6a:9f59/64 scope link + valid_lft forever preferred_lft forever + \end{lstlisting} + \end{column}% + \end{columns} + \end{frame} + + \begin{frame}[fragile] + \frametitle{The 'ipv\{6,4\}-dhcp' hook} + + \begin{columns}[T] % align columns + \begin{column}{.48\textwidth} + \subslug{Dynamic Host Configuration Protocol} + \end{column}% + \hfill% + \begin{column}{.48\textwidth} + \begin{lstlisting}[style=console] +[root@prime ~]# network zone net9 config new ipv4-dhcp +Started service 'dhclient4@net9.service', code=0. + \end{lstlisting} + \end{column}% + \end{columns} + \end{frame} + + \begin{frame} + \frametitle{Other hooks} + + \begin{center} + \begin{tabular}{|l|l|} + \hline + pppoe-server & Runs a PPPoE server on a zone with IPv6 \& IPv4 \\ + \hline + ipv6-auto & IPv6 auto-configuration (which is pretty much useless for us) \\ + \hline + \end{tabular} + \end{center} + \end{frame} + + \section{More} + + \begin{frame} + \slug{Static Routes} + \end{frame} + + \begin{frame} + \slug{DNS} + + \subslug{Imports DNS servers from dynamically configured connections} + \end{frame} + + \begin{frame} + \slug{DHCP Server} + \end{frame} + + \section{The End} + + \begin{frame} + \begin{center} + \includegraphics[height=.5\textheight]{res/ipfire_tux_512x512.png} + \end{center} + + \begin{itemize} + \item Code: \url{git://git.ipfire.org/network.git} + \item GitWeb: \url{http://git.ipfire.org/?p=network.git;a=summary} + \end{itemize} + \end{frame} +\end{document} diff --git a/2015_-_IPFire_3_Networking/res/ipfire_tux_512x512.png b/2015_-_IPFire_3_Networking/res/ipfire_tux_512x512.png new file mode 100644 index 0000000..ec2bab2 Binary files /dev/null and b/2015_-_IPFire_3_Networking/res/ipfire_tux_512x512.png differ diff --git a/2015_-_IPFire_3_Networking/res/zone.eps b/2015_-_IPFire_3_Networking/res/zone.eps new file mode 100644 index 0000000..871309e --- /dev/null +++ b/2015_-_IPFire_3_Networking/res/zone.eps @@ -0,0 +1,266 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.14.2 (http://cairographics.org) +%%CreationDate: Thu Sep 24 18:26:52 2015 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 14 13 452 172 +%%EndComments +%%BeginProlog +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +%%BeginSetup +%%BeginResource: font DejaVuSans +11 dict begin +/FontType 42 def +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 48 /zero put +Encoding 49 /one put +Encoding 50 /two put +Encoding 51 /three put +Encoding 98 /b put +Encoding 101 /e put +Encoding 110 /n put +Encoding 112 /p put +Encoding 116 /t put +/CharStrings 10 dict dup begin +/.notdef 0 def +/n 1 def +/e 2 def +/t 3 def +/zero 4 def +/p 5 def +/one 6 def +/two 7 def +/three 8 def +/b 9 def +end readonly def +/sfnts [ +<0001000000090080000300106376742000691d39000006bc000001fe6670676d7134766a0000 +08bc000000ab676c79662854bac30000009c000006206865616408a5d0d10000096800000036 +686865610d9f0777000009a000000024686d7478307205d6000009c4000000286c6f63610000 +1e44000009ec0000002c6d6178700477067100000a1800000020707265703b07f10000000a38 +0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec +310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f2720629000100ba +00000464047b001300364019030900030e0106870e11b80cbc0a010208004e0d09080b461410 +fcec32f4ec31002f3ce4f4c4ec1112173930b46015cf1502015d011123113426232206151123 +1133153e013332160464b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae65 +64ef00020071ffe3047f047b0014001b00704024001501098608880515a90105b90c01bb18b9 +12b80c8c1c1b1502081508004b02120f451c10fcecf4ecc4111239310010e4f4ece410ee10ee +10f4ee1112393040293f1d701da01dd01df01d053f003f013f023f153f1b052c072f082f092c +0a6f006f016f026f156f1b095d71015d0115211e0133323637150e0123200011100033320007 +2e0123220607047ffcb20ccdb76ac76263d06bfef4fec70129fce20107b802a5889ab90e025e +5abec73434ae2a2c0138010a01130143feddc497b4ae9e0000010037000002f2059e00130038 +40190e05080f03a9001101bc08870a0b08090204000810120e461410fc3cc4fc3cc432393931 +002fecf43cc4ec3211393930b2af1501015d01112115211114163b0115232226351123353311 +0177017bfe854b73bdbdd5a28787059efec28ffda0894e9a9fd202608f013e00000000020087 +ffe3048f05f0000b00170023401306a01200a00c91128c18091c0f1e031c151b1810fcecf4ec +310010e4f4ec10ee30012202111012333212111002273200111000232200111000028b9c9d9d +9c9d9d9d9dfb0109fef7fbfbfef701090550fecdfeccfecdfecd0133013301340133a0fe73fe +86fe87fe73018d0179017a018d00000200bafe5604a4047b0010001c003e401b1ab9000e14b9 +0508b80e8c01bd03bc1d11120b471704000802461d10fcec3232f4ec310010e4e4e4f4c4ec10 +c4ee304009601e801ea01ee01e04015d2511231133153e013332001110022322260134262322 +061514163332360173b9b93ab17bcc00ffffcc7bb10238a79292a7a79292a7a8fdae060aaa64 +61febcfef8fef8febc6101ebcbe7e7cbcbe7e7000000000100e10000045a05d5000a00404015 +4203a00402a005810700a009081f061c03001f010b10d44bb00f5458b9000100403859ecc4fc +ec31002fec32f4ecd4ec304b5358592201b40f030f04025d3721110535253311211521fe014a +fe990165ca014afca4aa047348b848fad5aa0000000100960000044a05f0001c009e4027191a +1b03181c11050400110505044210a111940da014910400a00200100a02010a1c171003061d10 +fc4bb015544bb016545b4bb014545b58b90003ffc03859c4d4ecc0c011123931002fec32f4ec +f4ec304b5358071005ed0705ed01b01c1011173959220140325504560556077a047a05761b87 +190704000419041a041b051c74007606751a731b741c82008619821a821b821ca800a81b115d +005d25211521353600373e0135342623220607353e01333204151406070600018902c1fc4c73 +018d33614da7865fd3787ad458e80114455b19fef4aaaaaa7701913a6d974977964243cc3132 +e8c25ca5701dfeeb00000001009cffe3047305f000280070402e0015130a86091f862013a015 +0da00993061ca020932391068c15a329161c13000314191c2620101c03141f09062910fc4bb0 +16544bb014545b58b90009ffc03859c4c4d4ecf4ec11173939310010ece4f4e4ec10e6ee10ee +10ee10ee11123930014009641e611f6120642104005d011e0115140421222627351e01333236 +3534262b013533323635342623220607353e01333204151406033f91a3fed0fee85ec76a54c8 +6dbec7b9a5aeb6959ea39853be7273c959e6010c8e03251fc490ddf22525c33132968f8495a6 +7770737b2426b42020d1b27cab00000200baffe304a40614000b001c0038401903b90c0f09b9 +18158c0fb81b971900121247180c06081a461d10fcec3232f4ec31002fece4f4c4ec10c6ee30 +b6601e801ea01e03015d013426232206151416333236013e0133320011100223222627152311 +3303e5a79292a7a79292a7fd8e3ab17bcc00ffffcc7bb13ab9b9022fcbe7e7cbcbe7e7025264 +61febcfef8fef8febc6164a80614013500b800cb00cb00c100aa009c01a600b8006600000071 +00cb00a002b20085007500b800c301cb0189022d00cb00a600f000d300aa008700cb03aa0400 +014a003300cb000000d9050200f4015400b4009c01390114013907060400044e04b4045204b8 +04e704cd0037047304cd04600473013303a2055605a60556053903c5021200c9001f00b801df +007300ba03e9033303bc0444040e00df03cd03aa00e503aa0404000000cb008f00a4007b00b8 +0014016f007f027b0252008f00c705cd009a009a006f00cb00cd019e01d300f000ba018300d5 +009803040248009e01d500c100cb00f600830354027f00000333026600d300c700a400cd008f +009a0073040005d5010a00fe022b00a400b4009c00000062009c0000001d032d05d505d505d5 +05f0007f007b005400a406b80614072301d300b800cb00a601c301ec069300a000d3035c0371 +03db0185042304a80448008f0139011401390360008f05d5019a061407230666017904600460 +0460047b009c00000277046001aa00e904600762007b00c5007f027b000000b4025205cd0066 +00bc00660077061000cd013b01850389008f007b0000001d00cd074a042f009c009c0000077d +006f0000006f0335006a006f007b00ae00b2002d0396008f027b00f600830354063705f6008f +009c04e10266008f018d02f600cd03440029006604ee00730000140000960000b70706050403 +0201002c2010b002254964b040515820c859212d2cb002254964b040515820c859212d2c2010 +0720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d7920 +b8ffff5058041b0559b0051cb0032508e12d2c4b505820b0fd454459212d2cb002254560442d +2c4b5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b005254960b020 +6368208a108a233a8a10653a2d000001000000025999bc80ff2c5f0f3cf5001f080000000000 +d1a2160900000000d1a21609f7d6fc4c0e5909dc00000008000000010000000000010000076d +fe1d00000efef7d6fa510e5900010000000000000000000000000000000a04cd0066051200ba +04ec00710323003705170087051400ba051700e1051700960517009c051400ba000000000000 +0044000000bc000001900000020c0000029000000330000003a0000004a00000058800000620 +00010000000a0354002b0068000c000200100099000800000415021600080004b8028040fffb +fe03fa1403f92503f83203f79603f60e03f5fe03f4fe03f32503f20e03f19603f02503ef8a41 +05effe03ee9603ed9603ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5e45305e59603 +e48a4105e45303e3e22f05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603dcfe03db1203 +da7d03d9bb03d8fe03d68a4105d67d03d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe +03d0fe03cffe03cefe03cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c6851105c61c03c516 +03c4fe03c3fe03c2fe03c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505 +b9fe03b8b7bb05b8fe03b7b65d05b7bb03b78004b6b52505b65d40ff03b64004b52503b4fe03 +b39603b2fe03b1fe03b0fe03affe03ae6403ad0e03acab2505ac6403abaa1205ab2503aa1203 +a98a4105a9fa03a8fe03a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03a16403a08a41 +05a096039ffe039e9d0c059efe039d0c039c9b19059c64039b9a10059b19039a1003990a0398 +fe0397960d0597fe03960d03958a410595960394930e05942803930e0392fa039190bb0591fe +03908f5d0590bb039080048f8e25058f5d038f40048e25038dfe038c8b2e058cfe038b2e038a +8625058a410389880b05891403880b03878625058764038685110586250385110384fe038382 +110583fe0382110381fe0380fe037ffe0340ff7e7d7d057efe037d7d037c64037b5415057b25 +037afe0379fe03780e03770c03760a0375fe0374fa0373fa0372fa0371fa0370fe036ffe036e +fe036c21036bfe036a1142056a530369fe03687d036711420566fe0365fe0364fe0363fe0362 +fe03613a0360fa035e0c035dfe035bfe035afe0359580a0559fa03580a035716190557320356 +fe035554150555420354150353011005531803521403514a130551fe03500b034ffe034e4d10 +054efe034d10034cfe034b4a13054bfe034a4910054a1303491d0d05491003480d0347fe0346 +960345960344fe0343022d0543fa0342bb03414b0340fe033ffe033e3d12053e14033d3c0f05 +3d12033c3b0d053c40ff0f033b0d033afe0339fe033837140538fa033736100537140336350b +05361003350b03341e03330d0332310b0532fe03310b03302f0b05300d032f0b032e2d09052e +10032d09032c32032b2a25052b64032a2912052a25032912032827250528410327250326250b +05260f03250b0324fe0323fe03220f03210110052112032064031ffa031e1d0d051e64031d0d +031c1142051cfe031bfa031a42031911420519fe031864031716190517fe0316011005161903 +15fe0314fe0313fe031211420512fe0311022d05114203107d030f64030efe030d0c16050dfe +030c0110050c16030bfe030a100309fe0308022d0508fe030714030664030401100504fe0340 +1503022d0503fe0302011005022d0301100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b1d00> +] def +/f-0-0 currentdict end definefont pop +%%EndResource +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 14 13 452 172 +%%EndPageSetup +q 14 13 438 159 rectclip q +0 g +1.6 w +0 J +1 j +[] 0.0 d +4 M q 1 0 0 -1 0 185.629883 cm +31.523 14.973 m 434.586 14.973 l 443.758 14.973 451.137 22.355 451.137 +31.523 c 451.137 154.105 l 451.137 163.273 443.758 170.656 434.586 170.656 + c 31.523 170.656 l 22.355 170.656 14.973 163.273 14.973 154.105 c 14.973 + 31.523 l 14.973 22.355 22.355 14.973 31.523 14.973 c h +31.523 14.973 m S Q +q 1 0 0 -1 0 185.629883 cm +123.441 87.094 m 263.73 87.094 l 268.59 87.094 272.504 91.008 272.504 95.867 + c 272.504 160.848 l 272.504 165.707 268.59 169.621 263.73 169.621 c 123.441 + 169.621 l 118.582 169.621 114.668 165.707 114.668 160.848 c 114.668 95.867 + l 114.668 91.008 118.582 87.094 123.441 87.094 c h +123.441 87.094 m S Q +q 1 0 0 -1 0 185.629883 cm +141.852 124.371 m 169.289 124.371 l 171.984 124.371 174.156 126.543 174.156 + 129.238 c 174.156 165.266 l 174.156 167.961 171.984 170.129 169.289 170.129 + c 141.852 170.129 l 139.156 170.129 136.988 167.961 136.988 165.266 c 136.988 + 129.238 l 136.988 126.543 139.156 124.371 141.852 124.371 c h +141.852 124.371 m S Q +q 1 0 0 -1 0 185.629883 cm +209.051 124.371 m 236.492 124.371 l 239.184 124.371 241.355 126.543 241.355 + 129.238 c 241.355 165.266 l 241.355 167.961 239.184 170.129 236.492 170.129 + c 209.051 170.129 l 206.355 170.129 204.188 167.961 204.188 165.266 c 204.188 + 129.238 l 204.188 126.543 206.355 124.371 209.051 124.371 c h +209.051 124.371 m S Q +BT +32 0 0 32 369.626674 136.678464 Tm +/f-0-0 1 Tf +[(net0)]TJ +ET +q 1 0 0 -1 0 185.629883 cm +60.254 124.371 m 87.691 124.371 l 90.387 124.371 92.555 126.543 92.555 +129.238 c 92.555 165.266 l 92.555 167.961 90.387 170.129 87.691 170.129 +c 60.254 170.129 l 57.559 170.129 55.387 167.961 55.387 165.266 c 55.387 + 129.238 l 55.387 126.543 57.559 124.371 60.254 124.371 c h +60.254 124.371 m S Q +q 1 0 0 -1 0 185.629883 cm +297.051 124.371 m 324.492 124.371 l 327.184 124.371 329.355 126.543 329.355 + 129.238 c 329.355 165.266 l 329.355 167.961 327.184 170.129 324.492 170.129 + c 297.051 170.129 l 294.355 170.129 292.188 167.961 292.188 165.266 c 292.188 + 129.238 l 292.188 126.543 294.355 124.371 297.051 124.371 c h +297.051 124.371 m S Q +BT +24 0 0 24 58.198771 30.366074 Tm +/f-0-0 1 Tf +[(p0)-2129(p1)-1529(p2)-2396(p3)]TJ +4.866667 1.733333 Td +(b0)Tj +ET +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/2015_-_IPFire_3_Networking/res/zone.svg b/2015_-_IPFire_3_Networking/res/zone.svg new file mode 100644 index 0000000..8de55af --- /dev/null +++ b/2015_-_IPFire_3_Networking/res/zone.svg @@ -0,0 +1,193 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + net0 + + p0 p1 p2 p3 b01 b0 + diff --git a/render.sh b/render.sh index afee98b..7b4fbcc 100755 --- a/render.sh +++ b/render.sh @@ -4,6 +4,7 @@ PDFLATEX="pdflatex" TALKS="2012_-_Introduction_to_the_Pakfire_Build_Service" TALKS="${TALKS} 2014_-_A_look_into_the_past_and_future" +TALKS="${TALKS} 2015_-_IPFire_3_Networking" for talk in ${TALKS}; do (