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>Dynamips / Dynagen Exercises</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">Dynamips / Dynagen Exercises</h1> |
---|
14 | </div> |
---|
15 | <div id="TOC"> |
---|
16 | <ul> |
---|
17 | <li><a href="#download-pre-requisites"><span class="toc-section-number">1</span> Download pre-requisites</a><ul> |
---|
18 | <li><a href="#a-note-about-ios-images"><span class="toc-section-number">1.1</span> A note about IOS images</a></li> |
---|
19 | </ul></li> |
---|
20 | <li><a href="#fire-up-dynamips"><span class="toc-section-number">2</span> Fire up dynamips</a></li> |
---|
21 | <li><a href="#connect-to-your-router"><span class="toc-section-number">3</span> Connect to your router</a></li> |
---|
22 | <li><a href="#verify-connectivity"><span class="toc-section-number">4</span> Verify connectivity</a><ul> |
---|
23 | <li><a href="#how-connectivity-works"><span class="toc-section-number">4.1</span> How connectivity works:</a></li> |
---|
24 | </ul></li> |
---|
25 | <li><a href="#clean-up"><span class="toc-section-number">5</span> Clean up</a></li> |
---|
26 | </ul> |
---|
27 | </div> |
---|
28 | <p></p> |
---|
29 | <p>We are going to get dynamips up so we can have a single cisco router up and reachable from the class network. You should already have dynamps installed if you run the ansible worksheets earlier. In the case you are working with a(n Ubuntu) machine that does not have dynamips installed you'd need to do the following:</p> |
---|
30 | <p>We do <strong>not</strong> need to run this on our infrastructure.</p> |
---|
31 | <pre><code>$ sudo apt-get install dynamips dynagen</code></pre> |
---|
32 | <dl> |
---|
33 | <dt>Concerning sudo:</dt> |
---|
34 | <dd><p>The command above is the only one in the entire lab where you need to use sudo. Run all the commands that follow as the nsrc user.</p> |
---|
35 | </dd> |
---|
36 | </dl> |
---|
37 | <h1 id="download-pre-requisites"><span class="header-section-number">1</span> Download pre-requisites</h1> |
---|
38 | <p>One of you needs to download pre-requiste files to the server that you all will use, so that person should open an SSH session to your workshop server and run the following.</p> |
---|
39 | <pre><code>$ cd |
---|
40 | $ mkdir -p binary-images dynamips/work |
---|
41 | $ cd binary-images |
---|
42 | $ wget http://kit1.lab.nsrc.org/downloads/binary-images/c3725-12415T14.bin |
---|
43 | $ wget http://kit1.lab.nsrc.org/downloads/binary-images/c7200-1514M4.bin |
---|
44 | $ cd ~/workshop-kit |
---|
45 | $ git pull</code></pre> |
---|
46 | <h2 id="a-note-about-ios-images"><span class="header-section-number">1.1</span> A note about IOS images</h2> |
---|
47 | <p>Note that CISCO does not allow distribution of IOS images - so technically the way someone gets IOS images is say off a router they are running. There are some license issues as far as running IOS on dynamips goes - officially CISCO does not recognise/officially support this so this is something to keep in mind when running your classes.</p> |
---|
48 | <h1 id="fire-up-dynamips"><span class="header-section-number">2</span> Fire up dynamips</h1> |
---|
49 | <p>You will all run dynamips for this session so we need to create a directory structure that will have us avoid stomping on each other. For the exercise bellow, assign yourselves within your group a number from 1 to 3 (which we'll reffer to as <em>X</em>) and pick a name (say your first name) that you will use for a directory (which we'll reffer to as <em>NAME</em>)</p> |
---|
50 | <p>With that in mind, each one of you needs to open two ssh sessions to the mac mini (in different windows) and do the following:</p> |
---|
51 | <ol style="list-style-type: decimal"> |
---|
52 | <li><p>In the first SSH session/window to the server (s1.ws.nsrc.org):</p> |
---|
53 | <pre><code>$ cd |
---|
54 | $ mkdir -p dynamips/NAME/work dynamips/NAME/tmp |
---|
55 | $ cd dynamips/NAME/tmp |
---|
56 | $ dynamips -H 720X</code></pre></li> |
---|
57 | <li><p>In a second SSH session/window to the server (s1.ws.nsrc.org):</p> |
---|
58 | <pre><code>$ cd $HOME/dynamips/NAME |
---|
59 | $ vi routers.net</code></pre></li> |
---|
60 | <li><p>Create a routers.net looks like the following: substutute <em>NAME</em> and <em>X</em> respectively.</p> |
---|
61 | <pre><code># Using c7200-advipservicesk9-mz.151-4.M4 |
---|
62 | |
---|
63 | model = 7200 |
---|
64 | |
---|
65 | [s1.ws.nsrc.org:720X] |
---|
66 | workingdir = /home/nsrc/dynamips/NAME/work |
---|
67 | udp = 1X000 |
---|
68 | |
---|
69 | [[7200]] |
---|
70 | image = /home/nsrc/binary-images/c7200-1514M4.bin |
---|
71 | ram = 176 |
---|
72 | npe = npe-400 |
---|
73 | ghostios = True |
---|
74 | idlepc=0x60608f64 |
---|
75 | slot1 = PA-GE |
---|
76 | slot2 = PA-GE |
---|
77 | slot3 = PA-GE |
---|
78 | slot4 = PA-GE |
---|
79 | slot5 = PA-GE |
---|
80 | slot6 = PA-GE |
---|
81 | |
---|
82 | ########################################## |
---|
83 | # single router tapped into network |
---|
84 | [[router rX]] |
---|
85 | model = 7200 |
---|
86 | console = 201X |
---|
87 | aux = 301X |
---|
88 | gi1/0 = NIO_tap:tap-lanX</code></pre></li> |
---|
89 | <li><p>Save this and use dynagen to load your routers.net</p> |
---|
90 | <pre><code>$ dynagen routers.net</code></pre></li> |
---|
91 | <li><p>You should now be able to see your router listed in dynagen using the <code>list</code> command. You can get more details about a router using the <code>show device rX</code> command. You can reload a router using the <code>reload rX</code> command. You can see what your .net looks like using the <code>show run</code> command. You can also use the ? to see some other dynagen commands or completions to the current command. In this case we've substitued the relevant number with <em>X</em> and the chosen name with <em>NAME</em>. What you type is at the <code>=></code> prompt.</p> |
---|
92 | <pre><code>Reading configuration file... |
---|
93 | |
---|
94 | Network successfully loaded |
---|
95 | |
---|
96 | Dynagen management console for Dynamips and Pemuwrapper 0.11.0 |
---|
97 | Copyright (c) 2005-2007 Greg Anuzelli, contributions Pavel Skovajsa |
---|
98 | |
---|
99 | => list |
---|
100 | Name Type State Server Console |
---|
101 | rX 7200 running s1.ws.nsrc.org:720X 201X |
---|
102 | |
---|
103 | => show run |
---|
104 | [s1.ws.nsrc.org:720X] |
---|
105 | workingdir = /home/nsrc/dynamips/NAME/work |
---|
106 | udp = 1X000 |
---|
107 | [[7200]] |
---|
108 | image = /home/nsrc/binary-images/c7200-1514M4.bin |
---|
109 | ram = 176 |
---|
110 | idlepc = 0x60608f64 |
---|
111 | [[ROUTER rX]] |
---|
112 | slot1 = PA-GE |
---|
113 | g1/0 = nio_tap:tap-lanX |
---|
114 | slot2 = PA-GE |
---|
115 | slot3 = PA-GE |
---|
116 | slot4 = PA-GE |
---|
117 | slot5 = PA-GE |
---|
118 | slot6 = PA-GE |
---|
119 | |
---|
120 | => show device rX |
---|
121 | Router rX is running |
---|
122 | Hardware is dynamips emulated Cisco 7206VXR NPE-400 with 176 MB RAM |
---|
123 | Router's hypervisor runs on s1.ws.nsrc.org:7211, console is on port 201X |
---|
124 | Image is /home/nsrc/binary-images/c7200-1514M4.bin with idle-pc value of 0x60608f64 |
---|
125 | Idle-max value is 1500, idlesleep is 30 ms |
---|
126 | 128 KB NVRAM, 64 MB disk0 size, 0 MB disk1 size |
---|
127 | slot 1 hardware is PA-GE with 1 interface |
---|
128 | GigabitEthernet1/0 is connected to real TAP tap-lanX interface |
---|
129 | slot 2 hardware is PA-GE with 1 interface |
---|
130 | GigabitEthernet2/0 is empty |
---|
131 | slot 3 hardware is PA-GE with 1 interface |
---|
132 | GigabitEthernet3/0 is empty |
---|
133 | slot 4 hardware is PA-GE with 1 interface |
---|
134 | GigabitEthernet4/0 is empty |
---|
135 | slot 5 hardware is PA-GE with 1 interface |
---|
136 | GigabitEthernet5/0 is empty |
---|
137 | slot 6 hardware is PA-GE with 1 interface |
---|
138 | GigabitEthernet6/0 is empty |
---|
139 | |
---|
140 | => ? |
---|
141 | |
---|
142 | Documented commands (type help <topic>): |
---|
143 | ======================================== |
---|
144 | capture confreg cpuinfo export hist list py save show suspend |
---|
145 | clear console end filter idlepc no reload send start telnet |
---|
146 | conf copy exit help import push resume shell stop ver |
---|
147 | </code></pre></li> |
---|
148 | </ol> |
---|
149 | <h1 id="connect-to-your-router"><span class="header-section-number">3</span> Connect to your router</h1> |
---|
150 | <p>You should now be able to telnet to the console port that you defined earlier using s1 as the host in another terminal. So if you're on windows open putty and make sure that the protocol is <em>telnet</em> and the port is <em>201X</em>. On a UNIX terminal (OS X or Linux)</p> |
---|
151 | <pre><code>$ telnet s1.ws.nsrc.org 201X</code></pre> |
---|
152 | <p>Press enter to get the "Would you like to enter the initial configuration dialog? [yes/no]: " prompt and just hit control+c. Next up is a basic cisco configuration that should look like the following:</p> |
---|
153 | <p>Substitute YYYYYYYY with the secret password distributed in class.</p> |
---|
154 | <p>Hint: you can use a text editor to prepare this then paste it in a config session.</p> |
---|
155 | <pre><code>service password-encryption |
---|
156 | hostname rX |
---|
157 | enable secret YYYYYYYY |
---|
158 | ! |
---|
159 | aaa new-model |
---|
160 | aaa authentication login default local |
---|
161 | aaa authentication enable default enable |
---|
162 | username nsrc secret YYYYYYYY |
---|
163 | ! |
---|
164 | interface GigabitEthernet1/0 |
---|
165 | description link to outside |
---|
166 | ip address 10.10.0.21X 255.255.255.0 |
---|
167 | no shutdown |
---|
168 | ! |
---|
169 | ip route 0.0.0.0 0.0.0.0 10.10.0.254 |
---|
170 | ! |
---|
171 | ip domain-name ws.nsrc.org |
---|
172 | no ip domain-lookup |
---|
173 | crypto key generate rsa modulus 2048 |
---|
174 | ip ssh version 2</code></pre> |
---|
175 | <h1 id="verify-connectivity"><span class="header-section-number">4</span> Verify connectivity</h1> |
---|
176 | <ol style="list-style-type: decimal"> |
---|
177 | <li><p>From the router</p> |
---|
178 | <pre><code>rX# ping 10.10.0.254 |
---|
179 | rX# ping 8.8.8.8</code></pre></li> |
---|
180 | <li><p>From a pc connected to your wifi</p> |
---|
181 | <pre><code>ping 10.10.0.21X</code></pre></li> |
---|
182 | <li><p>You should be able to login to your router using SSH</p></li> |
---|
183 | </ol> |
---|
184 | <h2 id="how-connectivity-works"><span class="header-section-number">4.1</span> How connectivity works:</h2> |
---|
185 | <p>Remember the ansible scripts created two "bridges" and connected "tap" interfaces to the bridges. To see the bridges you have you can use the <code>brctl show</code> command</p> |
---|
186 | <pre><code>nsrc@kit1:~$ brctl show br-wan |
---|
187 | bridge name bridge id STP enabled interfaces |
---|
188 | br-wan 8000.685b35841afa no eth0 |
---|
189 | tap0 |
---|
190 | tap1 |
---|
191 | nsrc@kit1:~$ brctl show br-lan |
---|
192 | bridge name bridge id STP enabled interfaces |
---|
193 | br-lan 8000.02c385fcdd6a no eth1 |
---|
194 | tap-lan0 |
---|
195 | tap-lan1 |
---|
196 | tap-lan2 |
---|
197 | tap-lan3 |
---|
198 | tap-lan4 |
---|
199 | tap-lan5 |
---|
200 | tap-lan6 |
---|
201 | tap-lan7 |
---|
202 | tap-lan8 |
---|
203 | tap-lan9</code></pre> |
---|
204 | <p>So each of these routers live in a separate dynamips cloud but connect to the br-lan bridge through interfaces tap-lan1, tap-lan2 or tap-lan3 depending on what you put in your routers.net file.</p> |
---|
205 | <p>The ip address you set as your default gateway sits on the bridge itself.</p> |
---|
206 | <pre><code>nsrc@s1:~$ ip addr show br-lan |
---|
207 | 4: br-lan: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN |
---|
208 | link/ether 06:99:8e:50:dc:16 brd ff:ff:ff:ff:ff:ff |
---|
209 | inet 10.10.0.241/24 brd 10.10.0.255 scope global br-lan |
---|
210 | inet 10.10.0.254/24 brd 10.10.0.255 scope global secondary br-lan:0 |
---|
211 | nsrc@s1:~$ </code></pre> |
---|
212 | <p>The following diagram illustrates this:</p> |
---|
213 | <div class="figure"> |
---|
214 | <img src="data:image/png;base64,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" alt="Router connection to LAN" /><p class="caption">Router connection to LAN</p> |
---|
215 | </div> |
---|
216 | <h1 id="clean-up"><span class="header-section-number">5</span> Clean up</h1> |
---|
217 | <ol style="list-style-type: decimal"> |
---|
218 | <li><p>In the second window where you run dynagen ..</p> |
---|
219 | <pre><code>=> exit</code></pre></li> |
---|
220 | <li><p>In the first window where you run Dynamips, use control+c to quit it.</p></li> |
---|
221 | <li><p>You can safely clean out the tmp and work directories</p> |
---|
222 | <pre><code>cd |
---|
223 | rm dynamips/NAME/work/* dynamips/NAME/tmp/* </code></pre></li> |
---|
224 | </ol> |
---|
225 | </body> |
---|
226 | </html> |
---|