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%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%0A%2F%2A%20NOTES%3A%0A%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%0A%2F%2A%20%2D%2D%2D%2D%20Front%20Matter%20%2D%2D%2D%2D%20%2A%2F%0A%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%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%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%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%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%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%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%0A%2F%2A%20%2D%2D%2D%2D%20Headers%20and%20sections%20%2D%2D%2D%2D%20%2A%2F%0A%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%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%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%0A%2F%2A%20Pandoc%20with%20%2D%2Dsection%2Ddivs%20option%20%2A%2F%0A%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%0Ap%20%7B%7D%0A%0Ablockquote%0A%20%20%20%20%7B%20%0A%20%20%20%20font%2Dstyle%3A%20italic%3B%0A%20%20%20%20%7D%0A%0Ali%20%2F%2A%20All%20list%20items%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%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%0Aul%20%2F%2A%20Whole%20unordered%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%0Aul%20li%20%2F%2A%20Unordered%20list%20item%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%0Aol%20%2F%2A%20Whole%20ordered%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%0Aol%20li%20%2F%2A%20Ordered%20list%20item%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%0Ahr%20%7B%7D%0A%0A%2F%2A%20%2D%2D%2D%2D%20Some%20span%20elements%20%2D%2D%2D%20%2A%2F%0A%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%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%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%0A%2F%2A%20%2D%2D%2D%2D%20Links%20%28anchors%29%20%2D%2D%2D%2D%20%2A%2F%0A%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%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%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%0A%2F%2A%20%2D%2D%2D%2D%20Images%20%2D%2D%2D%2D%20%2A%2F%0A%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%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%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%0A%2F%2A%20%2D%2D%2D%2D%20Code%20blocks%20and%20spans%20%2D%2D%2D%2D%20%2A%2F%0A%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%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%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%0Acode%20%2F%2A%20All%20inline%20code%20spans%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%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%0A%2F%2A%20%2D%2D%2D%2D%20Math%20%2D%2D%2D%2D%20%2A%2F%0A%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%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%0A%2F%2A%20%2D%2D%2D%2D%20Tables%20%2D%2D%2D%2D%20%2A%2F%0A%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%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%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%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%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%0Atbody%20%2F%2A%20Entire%20table%20%20body%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%0A%2F%2A%20Table%20body%20rows%20%2A%2F%0A%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%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%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%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%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%0A%2F%2A%20%2D%2D%2D%2D%20Definition%20lists%20%2D%2D%2D%2D%20%2A%2F%0A%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%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%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%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%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%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%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%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%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>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. |
---|
35 | </dd> |
---|
36 | </dl> |
---|
37 | <h1 id="download-pre-requisites"><a href="#download-pre-requisites"><span class="header-section-number">1</span> Download pre-requisites</a></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://wsnoc.nsrc.org/downloads/c3725-12415T14.bin |
---|
43 | $ wget http://wsnoc.nsrc.org/downloads/c7200-1514M4.bin |
---|
44 | $ cd ~/workshop-kit |
---|
45 | $ git pull</code></pre> |
---|
46 | <h2 id="a-note-about-ios-images"><a href="#a-note-about-ios-images"><span class="header-section-number">1.1</span> A note about IOS images</a></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"><a href="#fire-up-dynamips"><span class="header-section-number">2</span> Fire up dynamips</a></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 = 1XX00 |
---|
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:tap1X</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 = 1XX00 |
---|
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:tap1X |
---|
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 tap1X 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"><a href="#connect-to-your-router"><span class="header-section-number">3</span> Connect to your router</a></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"><a href="#verify-connectivity"><span class="header-section-number">4</span> Verify connectivity</a></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"><a href="#how-connectivity-works"><span class="header-section-number">4.1</span> How connectivity works:</a></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@s1:~$ brctl show br-wan |
---|
187 | bridge name bridge id STP enabled interfaces |
---|
188 | br-wan 8000.b88d12562ec1 no eth1 |
---|
189 | |
---|
190 | nsrc@s1:~$ brctl show br-lan |
---|
191 | bridge name bridge id STP enabled interfaces |
---|
192 | br-lan 8000.06998e50dc16 no eth0 |
---|
193 | tap11 |
---|
194 | tap12 |
---|
195 | tap13 |
---|
196 | tap14 |
---|
197 | tap15 |
---|
198 | tap16 |
---|
199 | tap17 |
---|
200 | tap18 |
---|
201 | tap19 |
---|
202 | nsrc@s1:~$ </code></pre> |
---|
203 | <p>So each of these routers live in a separate dynamips cloud but connect to the br-lan bridge through interfaces tap11, tap12 or tap13 depending on what you put in your routers.net file.</p> |
---|
204 | <p>The ip address you set as your default gateway sits on the bridge itself.</p> |
---|
205 | <pre><code>nsrc@s1:~$ ip addr show br-lan |
---|
206 | 4: br-lan: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN |
---|
207 | link/ether 06:99:8e:50:dc:16 brd ff:ff:ff:ff:ff:ff |
---|
208 | inet 10.10.0.241/24 brd 10.10.0.255 scope global br-lan |
---|
209 | inet 10.10.0.254/24 brd 10.10.0.255 scope global secondary br-lan:0 |
---|
210 | nsrc@s1:~$ </code></pre> |
---|
211 | <p>The following diagram illustrates this:</p> |
---|
212 | <div class="figure"> |
---|
213 | <img src="data:image/png;base64,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" alt="Router connection to LAN" /><p class="caption">Router connection to LAN</p> |
---|
214 | </div> |
---|
215 | <h1 id="clean-up"><a href="#clean-up"><span class="header-section-number">5</span> Clean up</a></h1> |
---|
216 | <ol style="list-style-type: decimal"> |
---|
217 | <li><p>In the second window where you run dynagen ..</p> |
---|
218 | <pre><code>=> exit</code></pre></li> |
---|
219 | <li><p>In the first window where you run Dynamips, use control+c to quit it.</p></li> |
---|
220 | <li><p>You can safely clean out the tmp and work directories</p> |
---|
221 | <pre><code>cd |
---|
222 | rm dynamips/NAME/work/* dynamips/NAME/tmp/* </code></pre></li> |
---|
223 | </ol> |
---|
224 | </body> |
---|
225 | </html> |
---|