Agenda: ex-packetfence-vlan.htm

File ex-packetfence-vlan.htm, 38.6 KB (added by b.candler, 5 years ago)
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5  <meta http-equiv="Content-Style-Type" content="text/css" />
6  <meta name="generator" content="pandoc" />
7  <title>PacketFence with VLAN enforcement</title>
8  <style type="text/css">code{white-space: pre;}</style>
9  <link href="data:text/css,%2F%2A%0A%20%20%20%20Buttondown%0A%20%20%20%20A%20Markdown%2FMultiMarkdown%2FPandoc%20HTML%20output%20CSS%20stylesheet%0A%20%20%20%20Author%3A%20Ryan%20Gray%0A%20%20%20%20Date%3A%2015%20Feb%202011%0A%20%20%20%20Revised%3A%2021%20Feb%202012%0A%20%20%20%0A%20%20%20%20General%20style%20is%20clean%2C%20with%20minimal%20re%2Ddefinition%20of%20the%20defaults%20or%20%0A%20%20%20%20overrides%20of%20user%20font%20settings%2E%20The%20body%20text%20and%20header%20styles%20are%20%0A%20%20%20%20left%20alone%20except%20title%2C%20author%20and%20date%20classes%20are%20centered%2E%20A%20Pandoc%20TOC%20%0A%20%20%20%20is%20not%20printed%2C%20URLs%20are%20printed%20after%20hyperlinks%20in%20parentheses%2E%20%0A%20%20%20%20Block%20quotes%20are%20italicized%2E%20Tables%20are%20lightly%20styled%20with%20lines%20above%20%0A%20%20%20%20and%20below%20the%20table%20and%20below%20the%20header%20with%20a%20boldface%20header%2E%20Code%20%0A%20%20%20%20blocks%20are%20line%20wrapped%2E%20%0A%20%0A%20%20%20%20All%20elements%20that%20Pandoc%20and%20MultiMarkdown%20use%20should%20be%20listed%20here%2C%20even%20%0A%20%20%20%20if%20the%20style%20is%20empty%20so%20you%20can%20easily%20add%20styling%20to%20anything%2E%0A%20%20%20%20%0A%20%20%20%20There%20are%20some%20elements%20in%20here%20for%20HTML5%20output%20of%20Pandoc%2C%20but%20I%20have%20not%20%0A%20%20%20%20gotten%20around%20to%20testing%20that%20yet%2E%0A%2A%2F%0A%20%0A%2F%2A%20NOTES%3A%0A%20%0A%20%20%20%20Stuff%20tried%20and%20failed%3A%0A%20%20%20%20%0A%20%20%20%20It%20seems%20that%20specifying%20font%2Dfamily%3Aserif%20in%20Safari%20will%20always%20use%20%0A%20%20%20%20Times%20New%20Roman%20rather%20than%20the%20user%27s%20preferences%20setting%2E%0A%20%20%20%20%0A%20%20%20%20Making%20the%20font%20size%20different%20or%20a%20fixed%20value%20for%20print%20in%20case%20the%20screen%20%0A%20%20%20%20font%20size%20is%20making%20the%20print%20font%20too%20big%3A%20Making%20font%2Dsize%20different%20for%20%0A%20%20%20%20print%20than%20for%20screen%20causes%20horizontal%20lines%20to%20disappear%20in%20math%20when%20using%20%0A%20%20%20%20MathJax%20under%20Safari%2E%0A%2A%2F%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Front%20Matter%20%2D%2D%2D%2D%20%2A%2F%0A%20%0A%2F%2A%20Pandoc%20header%20DIV%2E%20Contains%20%2Etitle%2C%20%2Eauthor%20and%20%2Edate%2E%20Comes%20before%20div%23TOC%2E%20%0A%20%20%20Only%20appears%20if%20one%20of%20those%20three%20are%20in%20the%20document%2E%0A%2A%2F%0A%20%0Adiv%23header%2C%20header%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Put%20border%20on%20bottom%2E%20Separates%20it%20from%20TOC%20or%20body%20that%20comes%20after%20it%2E%20%2A%2F%0A%20%20%20%20border%2Dbottom%3A%201px%20solid%20%23aaa%3B%0A%20%20%20%20margin%2Dbottom%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%0A%2Etitle%20%2F%2A%20Pandoc%20title%20header%20%28h1%2Etitle%29%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20text%2Dalign%3A%20center%3B%0A%20%20%20%20%7D%0A%20%0A%2Eauthor%2C%20%2Edate%20%2F%2A%20Pandoc%20author%28s%29%20and%20date%20headers%20%28h2%2Eauthor%20and%20h3%2Edate%29%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20text%2Dalign%3A%20center%3B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20Pandoc%20table%20of%20contents%20DIV%20when%20using%20the%20%2D%2Dtoc%20option%2E%0A%20%20%20NOTE%3A%20this%20doesn%27t%20support%20Pandoc%27s%20%2D%2Did%2Dprefix%20option%20for%20%23TOC%20and%20%23header%2E%20%0A%20%20%20Probably%20would%20need%20to%20use%20div%5Bid%24%3D%27TOC%27%5D%20and%20div%5Bid%24%3D%27header%27%5D%20as%20selectors%2E%0A%2A%2F%0A%20%0Adiv%23TOC%2C%20nav%23TOC%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Put%20border%20on%20bottom%20to%20separate%20it%20from%20body%2E%20%2A%2F%0A%20%20%20%20border%2Dbottom%3A%201px%20solid%20%23aaa%3B%0A%20%20%20%20margin%2Dbottom%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%0A%40media%20print%0A%20%20%20%20%7B%0A%20%20%20%20div%23TOC%2C%20nav%23TOC%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20Don%27t%20display%20TOC%20in%20print%20%2A%2F%0A%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Headers%20and%20sections%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Ah1%2C%20h2%2C%20h3%2C%20h4%2C%20h5%2C%20h6%0A%7B%0A%20%20%20%20font%2Dfamily%3A%20%22Helvetica%20Neue%22%2C%20Helvetica%2C%20%22Liberation%20Sans%22%2C%20Calibri%2C%20Arial%2C%20sans%2Dserif%3B%20%2F%2A%20Sans%2Dserif%20headers%20%2A%2F%0A%20%0A%20%20%20%20%2F%2A%20font%2Dfamily%3A%20%22Liberation%20Serif%22%2C%20%22Georgia%22%2C%20%22Times%20New%20Roman%22%2C%20serif%3B%20%2F%2A%20Serif%20headers%20%2A%2F%0A%20%0A%20%20%20%20page%2Dbreak%2Dafter%3A%20avoid%3B%20%2F%2A%20Firefox%2C%20Chrome%2C%20and%20Safari%20do%20not%20support%20the%20property%20value%20%22avoid%22%20%2A%2F%0A%7D%0A%20%0A%2F%2A%20Pandoc%20with%20%2D%2Dsection%2Ddivs%20option%20%2A%2F%0A%20%0Adiv%20div%2C%20section%20section%20%2F%2A%20Nested%20sections%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20margin%2Dleft%3A%202em%3B%20%2F%2A%20This%20will%20increasingly%20indent%20nested%20header%20sections%20%2A%2F%0A%20%20%20%20%7D%0A%20%0Ap%20%7B%7D%0A%20%0Ablockquote%0A%20%20%20%20%7B%20%0A%20%20%20%20font%2Dstyle%3A%20italic%3B%0A%20%20%20%20%7D%0A%20%0Ali%20%2F%2A%20All%20list%20items%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Ali%20%3E%20p%20%2F%2A%20Loosely%20spaced%20list%20item%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20margin%2Dtop%3A%201em%3B%20%2F%2A%20IE%3A%20lack%20of%20space%20above%20a%20%3Cli%3E%20when%20the%20item%20is%20inside%20a%20%3Cp%3E%20%2A%2F%0A%20%20%20%20%7D%0A%20%0Aul%20%2F%2A%20Whole%20unordered%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Aul%20li%20%2F%2A%20Unordered%20list%20item%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Aol%20%2F%2A%20Whole%20ordered%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Aol%20li%20%2F%2A%20Ordered%20list%20item%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Ahr%20%7B%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Some%20span%20elements%20%2D%2D%2D%20%2A%2F%0A%20%0Asub%20%2F%2A%20Subscripts%2E%20Pandoc%3A%20H%7E2%7EO%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Asup%20%2F%2A%20Superscripts%2E%20Pandoc%3A%20The%202%5End%5E%20try%2E%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%20%20%20%0Aem%20%2F%2A%20Emphasis%2E%20Markdown%3A%20%2Aemphasis%2A%20or%20%5Femphasis%5F%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%20%20%20%0Aem%20%3E%20em%20%2F%2A%20Emphasis%20within%20emphasis%3A%20%2AThis%20is%20all%20%2Aemphasized%2A%20except%20that%2A%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20font%2Dstyle%3A%20normal%3B%0A%20%20%20%20%7D%0A%20%0Astrong%20%2F%2A%20Markdown%20%2A%2Astrong%2A%2A%20or%20%5F%5Fstrong%5F%5F%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Links%20%28anchors%29%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Aa%20%2F%2A%20All%20links%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Keep%20links%20clean%2E%20On%20screen%2C%20they%20are%20colored%3B%20in%20print%2C%20they%20do%20nothing%20anyway%2E%20%2A%2F%0A%20%20%20%20text%2Ddecoration%3A%20none%3B%0A%20%20%20%20%7D%0A%20%0A%40media%20screen%0A%20%20%20%20%7B%0A%20%20%20%20a%3Ahover%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20On%20hover%2C%20we%20indicate%20a%20bit%20more%20that%20it%20is%20a%20link%2E%20%2A%2F%0A%20%20%20%20%20%20%20%20text%2Ddecoration%3A%20underline%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%0A%40media%20print%0A%20%20%20%20%7B%0A%20%20%20%20a%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20In%20print%2C%20a%20colored%20link%20is%20useless%2C%20so%20un%2Dstyle%20it%2E%20%2A%2F%0A%20%20%20%20%20%20%20%20color%3A%20black%3B%0A%20%20%20%20%20%20%20%20background%3A%20transparent%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20a%5Bhref%5E%3D%22http%3A%2F%2F%22%5D%3Aafter%2C%20a%5Bhref%5E%3D%22https%3A%2F%2F%22%5D%3Aafter%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20However%2C%20links%20that%20go%20somewhere%20else%2C%20might%20be%20useful%20to%20the%20reader%2C%0A%20%20%20%20%20%20%20%20%20%20%20so%20for%20http%20and%20https%20links%2C%20print%20the%20URL%20after%20what%20was%20the%20link%20%0A%20%20%20%20%20%20%20%20%20%20%20text%20in%20parens%0A%20%20%20%20%20%20%20%20%2A%2F%0A%20%20%20%20%20%20%20%20content%3A%20%22%20%28%22%20attr%28href%29%20%22%29%20%22%3B%0A%20%20%20%20%20%20%20%20font%2Dsize%3A%2090%25%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Images%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Aimg%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Let%20it%20be%20inline%20left%2Fright%20where%20it%20wants%20to%20be%2C%20but%20verticality%20make%20%0A%20%20%20%20%20%20%20it%20in%20the%20middle%20to%20look%20nicer%2C%20but%20opinions%20differ%2C%20and%20if%20in%20a%20multi%2Dline%20%0A%20%20%20%20%20%20%20paragraph%2C%20it%20might%20not%20be%20so%20great%2E%20%0A%20%20%20%20%2A%2F%0A%20%20%20%20vertical%2Dalign%3A%20middle%3B%0A%20%20%20%20%7D%0A%20%0Adiv%2Efigure%20%2F%2A%20Pandoc%20figure%2Dstyle%20image%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Center%20the%20image%20and%20caption%20%2A%2F%0A%20%20%20%20margin%2Dleft%3A%20auto%3B%0A%20%20%20%20margin%2Dright%3A%20auto%3B%0A%20%20%20%20text%2Dalign%3A%20center%3B%0A%20%20%20%20font%2Dstyle%3A%20italic%3B%0A%20%20%20%20%7D%0A%20%0Ap%2Ecaption%20%2F%2A%20Pandoc%20figure%2Dstyle%20caption%20within%20div%2Efigure%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Inherits%20div%2Efigure%20props%20by%20default%20%2A%2F%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Code%20blocks%20and%20spans%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Apre%2C%20code%20%0A%20%20%20%20%7B%0A%20%20%20%20background%2Dcolor%3A%20%23fdf7ee%3B%0A%20%20%20%20%2F%2A%20BEGIN%20word%20wrap%20%2A%2F%0A%20%20%20%20%2F%2A%20Need%20all%20the%20following%20to%20word%20wrap%20instead%20of%20scroll%20box%20%2A%2F%0A%20%20%20%20%2F%2A%20This%20will%20override%20the%20overflow%3Aauto%20if%20present%20%2A%2F%0A%20%20%20%20white%2Dspace%3A%20pre%2Dwrap%3B%20%2F%2A%20css%2D3%20%2A%2F%0A%20%20%20%20white%2Dspace%3A%20%2Dmoz%2Dpre%2Dwrap%20%21important%3B%20%2F%2A%20Mozilla%2C%20since%201999%20%2A%2F%0A%20%20%20%20white%2Dspace%3A%20%2Dpre%2Dwrap%3B%20%2F%2A%20Opera%204%2D6%20%2A%2F%0A%20%20%20%20white%2Dspace%3A%20%2Do%2Dpre%2Dwrap%3B%20%2F%2A%20Opera%207%20%2A%2F%0A%20%20%20%20word%2Dwrap%3A%20break%2Dword%3B%20%2F%2A%20Internet%20Explorer%205%2E5%2B%20%2A%2F%0A%20%20%20%20%2F%2A%20END%20word%20wrap%20%2A%2F%0A%20%20%20%20%7D%0A%20%0Apre%20%2F%2A%20Code%20blocks%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Distinguish%20pre%20blocks%20from%20other%20text%20by%20more%20than%20the%20font%20with%20a%20background%20tint%2E%20%2A%2F%0A%20%20%20%20padding%3A%200%2E5em%3B%20%2F%2A%20Since%20we%20have%20a%20background%20color%20%2A%2F%0A%20%20%20%20border%2Dradius%3A%205px%3B%20%2F%2A%20Softens%20it%20%2A%2F%0A%20%20%20%20%2F%2A%20Give%20it%20a%20some%20definition%20%2A%2F%0A%20%20%20%20border%3A%201px%20solid%20%23aaa%3B%0A%20%20%20%20%2F%2A%20Set%20it%20off%20left%20and%20right%2C%20seems%20to%20look%20a%20bit%20nicer%20when%20we%20have%20a%20background%20%2A%2F%0A%20%20%20%20margin%2Dleft%3A%20%200%2E5em%3B%0A%20%20%20%20margin%2Dright%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%0A%40media%20screen%0A%20%20%20%20%7B%0A%20%20%20%20pre%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20On%20screen%2C%20use%20an%20auto%20scroll%20box%20for%20long%20lines%2C%20unless%20word%2Dwrap%20is%20enabled%20%2A%2F%0A%20%20%20%20%20%20%20%20white%2Dspace%3A%20pre%3B%0A%20%20%20%20%20%20%20%20overflow%3A%20auto%3B%0A%20%20%20%20%20%20%20%20%2F%2A%20Dotted%20looks%20better%20on%20screen%20and%20solid%20seems%20to%20print%20better%2E%20%2A%2F%0A%20%20%20%20%20%20%20%20border%3A%201px%20dotted%20%23777%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%0Acode%20%2F%2A%20All%20inline%20code%20spans%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Ap%20%3E%20code%2C%20li%20%3E%20code%20%2F%2A%20Code%20spans%20in%20paragraphs%20and%20tight%20lists%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Pad%20a%20little%20from%20adjacent%20text%20%2A%2F%0A%20%20%20%20padding%2Dleft%3A%20%202px%3B%0A%20%20%20%20padding%2Dright%3A%202px%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0Ali%20%3E%20p%20code%20%2F%2A%20Code%20span%20in%20a%20loose%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20We%20have%20room%20for%20some%20more%20background%20color%20above%20and%20below%20%2A%2F%0A%20%20%20%20padding%3A%202px%3B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Math%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Aspan%2Emath%20%2F%2A%20Pandoc%20inline%20math%20default%20and%20%2D%2Djsmath%20inline%20math%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Tried%20font%2Dstyle%3Aitalic%20here%2C%20and%20it%20messed%20up%20MathJax%20rendering%20in%20some%20browsers%2E%20Maybe%20don%27t%20mess%20with%20at%20all%2E%20%2A%2F%0A%20%20%20%20%7D%0A%20%20%20%20%0Adiv%2Emath%20%2F%2A%20Pandoc%20%2D%2Djsmath%20display%20math%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%20%20%20%0Aspan%2ELaTeX%20%2F%2A%20Pandoc%20%2D%2Dlatexmathml%20math%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%20%0A%20%0Aeq%20%2F%2A%20Pandoc%20%2D%2Dgladtex%20math%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%20%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Tables%20%2D%2D%2D%2D%20%2A%2F%0A%20%0A%2F%2A%20%20A%20clean%20textbook%2Dlike%20style%20with%20horizontal%20lines%20above%20and%20below%20and%20under%20%0A%20%20%20%20the%20header%2E%20Rows%20highlight%20on%20hover%20to%20help%20scanning%20the%20table%20on%20screen%2E%0A%2A%2F%0A%20%0Atable%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dcollapse%3A%20collapse%3B%0A%20%20%20%20border%2Dspacing%3A%200%3B%20%2F%2A%20IE%206%20%2A%2F%0A%20%0A%20%20%20%20border%2Dbottom%3A%202pt%20solid%20%23000%3B%0A%20%20%20%20border%2Dtop%3A%202pt%20solid%20%23000%3B%20%2F%2A%20The%20caption%20on%20top%20will%20not%20have%20a%20bottom%2Dborder%20%2A%2F%0A%20%0A%20%20%20%20%2F%2A%20Center%20%2A%2F%0A%20%20%20%20margin%2Dleft%3A%20auto%3B%0A%20%20%20%20margin%2Dright%3A%20auto%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0Athead%20%2F%2A%20Entire%20table%20header%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dbottom%3A%201pt%20solid%20%23000%3B%0A%20%20%20%20background%2Dcolor%3A%20%23eee%3B%20%2F%2A%20Does%20this%20BG%20print%20well%3F%20%2A%2F%0A%20%20%20%20%7D%0A%20%0Atr%2Eheader%20%2F%2A%20Each%20header%20row%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%20%0A%20%0Atbody%20%2F%2A%20Entire%20table%20%20body%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20Table%20body%20rows%20%2A%2F%0A%20%0Atr%20%20%7B%0A%20%20%20%20%7D%0Atr%2Eodd%3Ahover%2C%20tr%2Eeven%3Ahover%20%2F%2A%20Use%20%2Eodd%20and%20%2Eeven%20classes%20to%20avoid%20styling%20rows%20in%20other%20tables%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20background%2Dcolor%3A%20%23eee%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0A%2F%2A%20Odd%20and%20even%20rows%20%2A%2F%0Atr%2Eodd%20%7B%7D%0Atr%2Eeven%20%7B%7D%0A%20%0Atd%2C%20th%20%2F%2A%20Table%20cells%20and%20table%20header%20cells%20%2A%2F%0A%20%20%20%20%7B%20%0A%20%20%20%20vertical%2Dalign%3A%20top%3B%20%2F%2A%20Word%20%2A%2F%0A%20%20%20%20vertical%2Dalign%3A%20baseline%3B%20%2F%2A%20Others%20%2A%2F%0A%20%20%20%20padding%2Dleft%3A%20%20%200%2E5em%3B%0A%20%20%20%20padding%2Dright%3A%20%200%2E5em%3B%0A%20%20%20%20padding%2Dtop%3A%20%20%20%200%2E2em%3B%0A%20%20%20%20padding%2Dbottom%3A%200%2E2em%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0A%2F%2A%20Removes%20padding%20on%20left%20and%20right%20of%20table%20for%20a%20tight%20look%2E%20Good%20if%20thead%20has%20no%20background%20color%2A%2F%0A%2F%2A%0Atr%20td%3Alast%2Dchild%2C%20tr%20th%3Alast%2Dchild%0A%20%20%20%20%7B%0A%20%20%20%20padding%2Dright%3A%200%3B%0A%20%20%20%20%7D%0Atr%20td%3Afirst%2Dchild%2C%20tr%20th%3Afirst%2Dchild%20%0A%20%20%20%20%7B%0A%20%20%20%20padding%2Dleft%3A%200%3B%0A%20%20%20%20%7D%0A%2A%2F%0A%20%0Ath%20%2F%2A%20Table%20header%20cells%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20font%2Dweight%3A%20bold%3B%20%0A%20%20%20%20%7D%0A%20%0Atfoot%20%2F%2A%20Table%20footer%20%28what%20appears%20here%20if%20caption%20is%20on%20top%3F%29%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Acaption%20%2F%2A%20This%20is%20for%20a%20table%20caption%20tag%2C%20not%20the%20p%2Ecaption%20Pandoc%20uses%20in%20a%20div%2Efigure%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20caption%2Dside%3A%20top%3B%0A%20%20%20%20border%3A%20none%3B%0A%20%20%20%20font%2Dsize%3A%200%2E9em%3B%0A%20%20%20%20font%2Dstyle%3A%20italic%3B%0A%20%20%20%20text%2Dalign%3A%20center%3B%0A%20%20%20%20margin%2Dbottom%3A%200%2E3em%3B%20%2F%2A%20Good%20for%20when%20on%20top%20%2A%2F%0A%20%20%20%20padding%2Dbottom%3A%200%2E2em%3B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Definition%20lists%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Adl%20%2F%2A%20The%20whole%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dtop%3A%202pt%20solid%20black%3B%0A%20%20%20%20padding%2Dtop%3A%200%2E5em%3B%0A%20%20%20%20border%2Dbottom%3A%202pt%20solid%20black%3B%0A%20%20%20%20%7D%0A%20%0Adt%20%2F%2A%20Definition%20term%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20font%2Dweight%3A%20bold%3B%0A%20%20%20%20%7D%0A%20%0Add%2Bdt%20%2F%2A%202nd%20or%20greater%20term%20in%20the%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dtop%3A%201pt%20solid%20black%3B%0A%20%20%20%20padding%2Dtop%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0Add%20%2F%2A%20A%20definition%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20margin%2Dbottom%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%0Add%2Bdd%20%2F%2A%202nd%20or%20greater%20definition%20of%20a%20term%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dtop%3A%201px%20solid%20black%3B%20%2F%2A%20To%20separate%20multiple%20definitions%20%2A%2F%0A%20%20%20%20%7D%0A%20%20%20%20%0A%2F%2A%20%2D%2D%2D%2D%20Footnotes%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Aa%2Efootnote%2C%20a%2EfootnoteRef%20%7B%20%2F%2A%20Pandoc%2C%20MultiMarkdown%20footnote%20links%20%2A%2F%0A%20%20%20%20font%2Dsize%3A%20small%3B%20%0A%20%20%20%20vertical%2Dalign%3A%20text%2Dtop%3B%0A%7D%0A%20%0Aa%5Bhref%5E%3D%22%23fnref%22%5D%2C%20a%2Ereversefootnote%20%2F%2A%20Pandoc%2C%20MultiMarkdown%2C%20%3F%3F%20footnote%20back%20links%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0A%40media%20print%0A%20%20%20%20%7B%0A%20%20%20%20a%5Bhref%5E%3D%22%23fnref%22%5D%2C%20a%2Ereversefootnote%20%2F%2A%20Pandoc%2C%20MultiMarkdown%20%2A%2F%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20Don%27t%20display%20these%20at%20all%20in%20print%20since%20the%20arrow%20is%20only%20something%20to%20click%20on%20%2A%2F%0A%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20%0Adiv%2Efootnotes%20%2F%2A%20Pandoc%20footnotes%20div%20at%20end%20of%20the%20document%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%20%20%20%0Adiv%2Efootnotes%20li%5Bid%5E%3D%22fn%22%5D%20%2F%2A%20A%20footnote%20item%20within%20that%20div%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20You%20can%20class%20stuff%20as%20%22noprint%22%20to%20not%20print%2E%20%0A%20%20%20Useful%20since%20you%20can%27t%20set%20this%20media%20conditional%20inside%20an%20HTML%20element%27s%20%0A%20%20%20style%20attribute%20%28I%20think%29%2C%20and%20you%20don%27t%20want%20to%20make%20another%20stylesheet%20that%20%0A%20%20%20imports%20this%20one%20and%20adds%20a%20class%20just%20to%20do%20this%2E%0A%2A%2F%0A%20%0A%40media%20print%0A%20%20%20%20%7B%0A%20%20%20%20%2Enoprint%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20display%3Anone%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A" rel="stylesheet" type="text/css" />
10</head>
11<body>
12<div id="header">
13<h1 class="title">PacketFence with VLAN enforcement</h1>
14</div>
15<div id="TOC">
16<ul>
17<li><a href="#overview"><span class="toc-section-number">1</span> Overview</a><ul>
18<li><a href="#network-diagram"><span class="toc-section-number">1.1</span> Network diagram</a></li>
19</ul></li>
20<li><a href="#configuring-your-switch"><span class="toc-section-number">2</span> Configuring your switch</a></li>
21<li><a href="#configuring-packetfence"><span class="toc-section-number">3</span> Configuring PacketFence</a><ul>
22<li><a href="#dhcp-and-dns-listener"><span class="toc-section-number">3.1</span> DHCP and DNS listener</a></li>
23<li><a href="#dhcp-networks"><span class="toc-section-number">3.2</span> DHCP Networks</a></li>
24<li><a href="#switch"><span class="toc-section-number">3.3</span> Switch</a></li>
25</ul></li>
26<li><a href="#testing"><span class="toc-section-number">4</span> Testing</a><ul>
27<li><a href="#snmp-traps"><span class="toc-section-number">4.1</span> SNMP traps</a></li>
28<li><a href="#dhcp"><span class="toc-section-number">4.2</span> DHCP</a></li>
29<li><a href="#create-a-temporary-user"><span class="toc-section-number">4.3</span> Create a temporary user</a></li>
30<li><a href="#login"><span class="toc-section-number">4.4</span> Login</a></li>
31<li><a href="#update-the-dhcp-fingerprints-database"><span class="toc-section-number">4.5</span> Update the DHCP fingerprints database</a></li>
32<li><a href="#deregistration"><span class="toc-section-number">4.6</span> Deregistration</a></li>
33</ul></li>
34</ul>
35</div>
36<h1 id="overview"><a href="#overview"><span class="header-section-number">1</span> Overview</a></h1>
37<p>This exercise demonstrates VLAN enforcement: where PacketFence controls switch ports but traffic does not pass through the PacketFence server.</p>
38<p>To configure this, each group's VM will manage the ports on an edge switch.</p>
39<p>In a real campus you would only need one PacketFence server to control all the edge switches.</p>
40<h2 id="network-diagram"><a href="#network-diagram"><span class="header-section-number">1.1</span> Network diagram</a></h2>
41<pre><code>+---+                        +--------+                +--------+
42|   |eth0 -------------------|        |vlan X2 --------|        |
43|   |10.10.0.X    10.10.0.254|        |10.X.2.254      |        |
44|vmX|eth0.X5 ----------------|  CORE  |vlan X3 --------|  EDGE  |--PC
45|   |10.X.5.1      10.X.5.254| ROUTER |10.X.3.254      | SWITCH |
46|   |eth0.X6 ----------------|        |vlan X4 --------|(*)     |
47|   |10.X.6.1      10.X.6.254|        |10.X.4.254      |        |
48+---+                        +--------+                +--------+
49                                                     (*)mgmt 10.X.4.253</code></pre>
50<p>Each edge switch has a trunk uplink into the central switch/routing infrastructure. For edge switch X, the VLANs provided on this trunk will be:</p>
51<ul>
52<li>X2: registration 10.X.2.0/24 (gateway 10.X.2.254)</li>
53<li>X3: isolation 10.X.3.0/24 (gateway 10.X.3.254)</li>
54<li>X4: default (data) 10.X.4.0/24 (gateway 10.X.4.254)</li>
55</ul>
56<p>Core routing has already been configured for those VLANs, and an ACL to block traffic from X2 to X3 to everything except DHCP broadcasts and traffic to your PacketFence VM.</p>
57<p>Also, DHCP forwarding has been enabled from X2 and X3 to your PacketFence VM. The DHCP service for X4 is the class central DHCP service.</p>
58<h1 id="configuring-your-switch"><a href="#configuring-your-switch"><span class="header-section-number">2</span> Configuring your switch</a></h1>
59<ul>
60<li>Your switch has VLANS X2, X3, X4 on the trunk uplink, and also VLAN 4000 for MAC detection (not on the trunk)</li>
61<li>Your switch has a management IP address on vlan X4 which will be 10.X.4.253</li>
62<li>Your switch has an SNMP v2c read/write community</li>
63<li>Your switch sends SNMP v2c traps to your VM</li>
64</ul>
65<p>To save class time, this will have been pre-configured by the instructor.</p>
66<p>But you should verify the switch's configuration. Check you can reach the switch on its routed management address 10.X.4.253.</p>
67<p>In the case of a Netgear GS108Tv2 or GS110TP, you need to go to the web interface <a href="http://10.X.4.253/">http://10.X.4.253/</a> and check:</p>
68<ul>
69<li><code>System &gt; Management &gt; IP Configuration</code>
70<ul>
71<li>Shows the IP address and management VLAN ID</li>
72</ul></li>
73<li><code>System &gt; SNMP &gt; SNMP V1/V2</code>
74<ul>
75<li>Community Configuration` will show SNMP communities</li>
76<li><code>Trap Configuration</code> will show trap destination(s) and communities</li>
77<li><code>Trap Flags</code> will show which traps are enabled (unless you have a switch which supports security traps, you should enable Link Up/Down and MAC Learning traps)</li>
78</ul></li>
79<li><code>Switching &gt; VLAN &gt; Advanced</code>
80<ul>
81<li><code>VLAN Configuration</code> will show the available VLANs</li>
82<li><code>VLAN Membership</code> can be used to show for each VLAN which port(s) it is enabled on. Click on the word &quot;PORT&quot; (<em>not</em> on the checkbox beside it) to expand into a port list. T = Tagged, U = Untagged.</li>
83<li><code>Port PVID Configuration</code> shows for incoming untagged frames on a given port, which VLAN they are put into</li>
84</ul></li>
85</ul>
86<h1 id="configuring-packetfence"><a href="#configuring-packetfence"><span class="header-section-number">3</span> Configuring PacketFence</a></h1>
87<h2 id="dhcp-and-dns-listener"><a href="#dhcp-and-dns-listener"><span class="header-section-number">3.1</span> DHCP and DNS listener</a></h2>
88<p>Check which interfaces dhcpd and pfdns are listening on:</p>
89<pre><code># ps auxwww | grep dhcpd
90dhcpd     2135  0.0  0.1   5040  2096 ?        Ss   13:15   0:00 /usr/sbin/dhcpd -lf /usr/local/pf/var/dhcpd/dhcpd.leases
91  -cf /usr/local/pf/var/conf/dhcpd.conf -pf /usr/local/pf/var/run/dhcpd.pid eth0.X5 eth0.X6
92
93# netstat -naup | grep :53
94udp        0      0 10.X.5.1:53        0.0.0.0:*                           1896/pfdns
95udp        0      0 10.X.6.1:53        0.0.0.0:*                           1896/pfdns</code></pre>
96<p>The dhcpd interfaces are on the end of the command line; you can see here the daemon is only listening on eth0.X5 and eth0.X6.</p>
97<p>Similarly, pfdns is listening on the IP addresses of those interfaces (10.X.5.1 and 10.X.6.1).</p>
98<p>Neither daemon is listening on your main interface (eth0, 10.10.0.X), so any DHCP or DNS packets sent to 10.10.0.X will not be answered.</p>
99<p>In our campus environment, our clients are going to be on registration and isolation networks which are across the campus core router, and not connected directly to the PacketFence box. For this exercise they are 10.X.2.0/24 and 10.X.3.0/24, but in general there could be many (one for each building).</p>
100<p>This implies several things.</p>
101<ol style="list-style-type: decimal">
102<li>The core router needs interfaces on the 10.X.5 and 10.X.6 networks trunked through to your interfaces eth0.X5 and eth0.X6. This has been done for you.</li>
103</ol>
104<p>From your PF VM you should be able to ping 10.X.5.254 and 10.X.6.254 (the core router)</p>
105<ol start="2" style="list-style-type: decimal">
106<li>The registration networks will need to relay DHCP requests to 10.X.5.1. This has already been done in the class network. On a Cisco router it would be:</li>
107</ol>
108<pre><code>interface &lt;ifname&gt;.X2
109 ip helper-address 10.X.5.1</code></pre>
110<p>Similarly, the isolation networks will relay DHCP requests to 10.X.6.1.</p>
111<ol start="3" style="list-style-type: decimal">
112<li>The registration and isolation networks will need to give out 10.X.5.1 and 10.X.6.1 as the DNS server (via DHCP). You will configure this yourself below.</li>
113</ol>
114<p>When clients connect, they will get this fake DNS server, which regardless of what page they request, will redirect them to the portal</p>
115<ol start="4" style="list-style-type: decimal">
116<li>The core router needs ACLs on the X2 interface to block traffic to any destination apart from 10.X.5.1; and an ACL on the X3 interface to block traffic to any destination apart from 10.X.6.1. This enforces that users cannot access the Internet until they are authorized. Again, this has been done for you.</li>
117</ol>
118<h2 id="dhcp-networks"><a href="#dhcp-networks"><span class="header-section-number">3.2</span> DHCP Networks</a></h2>
119<p>Your PacketFence VM will act as the DHCP server for the Registration and Isolation subnets, 10.X.2.0/24 and 10.X.3.0/24. However it is not directly connected to those subnets, and you need to tell it about them so it can create a DHCP pool for each network.</p>
120<p>This can be done via the web interface:</p>
121<ul>
122<li>Go into the admin interface <a href="https://vmX.ws.nsrc.org:1443/">https://vmX.ws.nsrc.org:1443/</a></li>
123<li>Click <code>Configuration</code>, then underneath NETWORK click <code>Interfaces</code></li>
124<li>Click <code>Add routed network</code>
125<ul>
126<li>Routed Network: 10.X.2.0</li>
127<li>Network type: Registration</li>
128<li>Starting IP Address: 10.X.2.10</li>
129<li>End IP address: 10.X.2.246</li>
130<li>Default Lease Time: 30</li>
131<li>Max Lease Time: 30</li>
132<li>DNS Server: 10.X.5.1 (this is your PF VM)</li>
133<li>Gateway: 10.X.2.254 (this is the core router's IP on this subnet)</li>
134<li>Netmask: 255.255.255.0</li>
135<li>Router IP: 10.X.5.254 (this is the next hop that you need to take from the PacketFence box towards the registration network; it's the IP address of the router in the network where PacketFence itself sits)</li>
136</ul></li>
137<li>Repeat but with 10.X.3.0, Isolation, DNS server 10.X.6.1, Router 10.X.6.254</li>
138</ul>
139<p>However when doing bulk additions it's easier to edit <code>conf/networks.conf</code> directly.</p>
140<p>Check the contents of this file:</p>
141<pre><code># cd /usr/local/pf
142# cat conf/networks.conf</code></pre>
143<p>It should look like this:</p>
144<pre><code>[10.X.5.0]
145dns=10.X.5.1
146dhcp_start=10.X.5.10
147gateway=10.X.5.254
148domain-name=vlan-registration.ws.nsrc.org
149named=enabled
150dhcp_max_lease_time=30
151dhcpd=enabled
152type=vlan-registration
153netmask=255.255.255.0
154dhcp_end=10.X.5.246
155dhcp_default_lease_time=30
156
157[10.X.6.0]
158dns=10.X.6.1
159dhcp_start=10.X.6.10
160gateway=10.X.6.254
161domain-name=vlan-isolation.ws.nsrc.org
162named=enabled
163dhcp_max_lease_time=30
164dhcpd=enabled
165type=vlan-isolation
166netmask=255.255.255.0
167dhcp_end=10.X.6.246
168dhcp_default_lease_time=30
169
170[10.X.2.0]
171dns=10.X.5.1
172next_hop=10.X.5.254
173gateway=10.X.2.254
174dhcp_start=10.X.2.10
175domain-name=vlan-registration.ws.nsrc.org
176named=enabled
177dhcp_max_lease_time=30
178dhcpd=enabled
179netmask=255.255.255.0
180type=vlan-registration
181dhcp_end=10.X.2.246
182dhcp_default_lease_time=30
183
184[10.X.3.0]
185dns=10.X.6.1
186next_hop=10.X.6.254
187gateway=10.X.3.254
188dhcp_start=10.X.3.10
189domain-name=vlan-isolation.ws.nsrc.org
190named=enabled
191dhcp_max_lease_time=30
192dhcpd=enabled
193netmask=255.255.255.0
194type=vlan-isolation
195dhcp_end=10.X.3.246
196dhcp_default_lease_time=30</code></pre>
197<p>Restart the dhcpd service, either via the web interface (<code>Status &gt; Services</code>) or the command line:</p>
198<pre><code># cd /usr/local/pf
199# bin/pfcmd service dhcpd restart</code></pre>
200<p>Also check the auto-generated config for the DHCP server:</p>
201<pre><code># cd /usr/local/pf
202# cat var/conf/dhcpd.conf</code></pre>
203<p>You should see that there is a subnet declaration for the locally-attached registration and isolation VLANs, and a subnet declaration for each remote network.</p>
204<h2 id="switch"><a href="#switch"><span class="header-section-number">3.3</span> Switch</a></h2>
205<ul>
206<li>Go into the admin interface <a href="https://vmX.ws.nsrc.org:1443/">https://vmX.ws.nsrc.org:1443/</a></li>
207<li>Go to <code>Configuration</code> and under the subheading &quot;NETWORK&quot; Click <code>Switches</code></li>
208<li>Click <code>Add switch</code>
209<ul>
210<li>Enter the management IP address 10.X.4.253</li>
211<li>Description: &quot;edge switch X&quot;</li>
212<li>Type: Netgear GS110 (covers GS110TP and GS108Tv2)</li>
213<li>Mode: Testing</li>
214<li>Deauthentication method: SNMP</li>
215<li>Uplinks: enter the list of ports you are <em>not</em> controlling. This will be at least &quot;1&quot; for the uplink port, but you can list other ports that you want PacketFence to ignore.</li>
216</ul></li>
217<li>Still in the New Switch dialog, go to the tab &quot;Roles&quot; at the top
218<ul>
219<li>Registration: 12</li>
220<li>Isolation: 13</li>
221<li>macDetection: 4000</li>
222<li>default: 14</li>
223</ul></li>
224<li>Still in the New Switch dialog, go to the tab &quot;SNMP&quot; at the top
225<ul>
226<li>Version: v2c</li>
227<li>Community Read: <enter class community></li>
228<li>Community Write: <enter class community></li>
229<li>Version Trap: v2c</li>
230<li>Community Trap: <enter class community></li>
231</ul></li>
232<li>Finally click &quot;Save&quot;</li>
233</ul>
234<p>Again, once you have one suitable switch, this can be replicated in <code>conf/switches.conf</code></p>
235<p>Check the contents of this file:</p>
236<pre><code># cd /usr/local/pf
237# less conf/switches.conf</code></pre>
238<p>It should start with some defaults inherited by all switches, then have a sample switch 192.168.0.1 (you can remove this in a production network), then have the settings for the switch you added:</p>
239<pre><code>[10.X.4.253]
240SNMPCommunityRead=&lt;community&gt;
241SNMPCommunityWrite=&lt;community&gt;
242defaultVlan=X4
243deauthMethod=SNMP
244description=edge switch X
245SNMPVersionTrap=2c
246type=Netgear::GS110
247macDetectionVlan=4000
248VoIPEnabled=N
249isolationVlan=X3
250SNMPVersion=2c
251uplink=1
252SNMPCommunityTrap=&lt;community&gt;
253registrationVlan=X2
254mode=production
255#plus some commented-out SNMP version 3 settings</code></pre>
256<h1 id="testing"><a href="#testing"><span class="header-section-number">4</span> Testing</a></h1>
257<h2 id="snmp-traps"><a href="#snmp-traps"><span class="header-section-number">4.1</span> SNMP traps</a></h2>
258<p>On your VM, run tcpdump:</p>
259<pre><code># tcpdump -i eth0 -nnev -s0 udp port 162</code></pre>
260<p>Plug a laptop into one of the managed switch ports. Check that you receive an SNMP trap, it should look something like this:</p>
261<pre><code>11:59:00.425875 1e:23:72:2f:5c:ed &gt; 52:54:1d:97:4d:6e, ethertype IPv4 (0x0800), length 164: (tos 0x0, ttl 63, id 412, offset 0, flags [none], proto UDP (17), length 150)
262    10.X.4.253.1025 &gt; 10.10.0.X.162:  { SNMPv2c C=NetManage { V2Trap(104) R=9
263    .1.3.6.1.2.1.1.3.0=144900 .1.3.6.1.6.3.1.1.4.1.0=.1.3.6.1.6.3.1.1.5.4
264    .1.3.6.1.2.1.2.2.1.1.2=2 .1.3.6.1.2.1.2.2.1.7.2=1 .1.3.6.1.2.1.2.2.1.8.2=1 } }</code></pre>
265<p>Look in your packetfence log, e.g. to check the last 25 lines:</p>
266<pre><code># cd /usr/local/pf
267# tail -25 logs/packetfence.log</code></pre>
268<p>Mixed in with the logs you should see something like this:</p>
269<pre><code>Mar 26 11:59:02 pfsetvlan(1) INFO: up trap received on 10.X.4.253 ifIndex 2 (main::handleTrap)
270Mar 26 11:59:02 pfsetvlan(1) INFO: setting 10.X.4.253 port 2 to MAC detection VLAN (main::handleTrap)
271Mar 26 11:59:02 pfsetvlan(1) WARN: Should set ifIndex 2 to VLAN 4000 but the switch is not in production -&gt; Do nothing (pf::SNMP::setVlan)</code></pre>
272<p>This is good. Remove the laptop, go back into the web interface and change the switch from &quot;Testing&quot; to &quot;Production&quot;. Restart packetfence and start a continuous tail running on the logfile:</p>
273<pre><code># bin/pfcmd service pf restart
274(this may take a minute or so)
275# tail -f logs/packetfence.log</code></pre>
276<p>Now reconnect the laptop and watch for activity again.</p>
277<pre><code>Mar 26 12:04:30 pfsetvlan(3) INFO: up trap received on 10.X.4.253 ifIndex 2 (main::handleTrap)
278Mar 26 12:04:30 pfsetvlan(3) INFO: setting 10.X.4.253 port 2 to MAC detection VLAN (main::handleTrap)
279Mar 26 12:04:30 pfsetvlan(3) INFO: MAC: xx:xx:xx:xx:xx:xx is of status unreg; belongs into registration VLAN (pf::vlan::getRegistrationVlan)</code></pre>
280<p>Check in the switch's web interface that it has changed the port. (For Netgear: <code>Switching &gt; VLAN &gt; Advanced &gt; Port PVID Configuration</code>)</p>
281<p>It should now be in the registration VLAN (X2)</p>
282<h2 id="dhcp"><a href="#dhcp"><span class="header-section-number">4.2</span> DHCP</a></h2>
283<p>At this point, the laptop will be sending DHCP requests. They should be forwarded to your VM. You will be able to see them if you start tcpdump before plugging in the laptop:</p>
284<pre><code># tcpdump -i eth0 -nnev -s0 udp port 67 or udp port 68</code></pre>
285<p>If they are not arriving, check that:</p>
286<ul>
287<li>The laptop edge port is in the registration VLAN (X2)</li>
288<li>VLAN X2 is enabled (tagged) on the trunk uplink to the class core</li>
289<li>Your class instructor has set up DHCP forwarding correctly</li>
290</ul>
291<p>Now the client device should have picked up an IP address on the 10.X.2 subnet (registration). Open a web browser and try to go to any web page, e.g. <a href="http://nsrc.org/">http://nsrc.org/</a>. You should be redirected to your VM's portal and asked to login.</p>
292<h2 id="create-a-temporary-user"><a href="#create-a-temporary-user"><span class="header-section-number">4.3</span> Create a temporary user</a></h2>
293<p>PacketFence has a local SQL database where you can create temporary user accounts, e.g. for guests, without having to add them into your main authentication server (Active Directory or whatever).</p>
294<p>In the PacketFence admin web interface:</p>
295<ul>
296<li>Go to <code>Users &gt; Create</code></li>
297<li>Enter username &quot;nsrc&quot;, the class password, and your E-mail address.</li>
298<li>In Registration Window enter &quot;2001-01-01&quot; and &quot;2035-01-01&quot;</li>
299<li>In Actions, leave <code>Set Role / Default</code> alone, but click the Plus sign to the right of this.</li>
300<li>Change the second action to <code>Set access duration / 1 hour</code></li>
301<li>At the bottom, click <code>Create Users</code></li>
302</ul>
303<h2 id="login"><a href="#login"><span class="header-section-number">4.4</span> Login</a></h2>
304<p>Now back on the laptop, you should be able to login using this username and password. Remember to tick the box to accept the terms and conditions.</p>
305<p>If everything is working you should be switched into the default (data) VLAN and be redirected to the page you originally requested.</p>
306<h2 id="update-the-dhcp-fingerprints-database"><a href="#update-the-dhcp-fingerprints-database"><span class="header-section-number">4.5</span> Update the DHCP fingerprints database</a></h2>
307<p>In the web interface, navigate to <code>Nodes</code> to see the list of detected devices. Note how the OS (DHCP) type is blank.</p>
308<p>Now select <code>Configuration &gt; Identification &gt; Fingerprints</code> then <code>Update Fingerprints</code>.</p>
309<p>This downloads a database allows PF to identify the host OS from its DHCP query.</p>
310<p>Return to <code>Nodes</code> to see the updated list of detected devices.</p>
311<h2 id="deregistration"><a href="#deregistration"><span class="header-section-number">4.6</span> Deregistration</a></h2>
312<p>If you want to see the captive portal again, you can forcibly de-register a node. You can do this in the web interface in one of two ways:</p>
313<ul>
314<li><code>Nodes</code>, click the checkbox next to the registered nodes, click the Action menu and select 'Deregister'</li>
315<li><code>Users</code>, click on the user of interest, go to the <code>Devices</code> tab, click on the MAC address, then change the status to <code>unregistered</code></li>
316</ul>
317<p>In either case, the user should be immediately kicked off (watch the port light - it should go off for 4 or 5 seconds) and forced to re-register when they next open a web page.</p>
318</body>
319</html>