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></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="TOC"> |
---|
13 | <ul> |
---|
14 | <li><a href="#ejercicios-con-snmp-parte-i">Ejercicios con SNMP, parte I</a><ul> |
---|
15 | <li><a href="#objetivos">Objetivos:</a></li> |
---|
16 | <li><a href="#nota">Nota:</a></li> |
---|
17 | </ul></li> |
---|
18 | <li><a href="#instalación-del-los-programas-de-gestion-del-cliente">Instalación del los programas de gestion del cliente</a></li> |
---|
19 | <li><a href="#configuración-de-snmp-en-el-enrutador">Configuración de SNMP en el enrutador</a></li> |
---|
20 | <li><a href="#comprobación-de-snmp">Comprobación de SNMP</a></li> |
---|
21 | <li><a href="#snmp-walk-y-los-oids">SNMP Walk y los OIDs</a></li> |
---|
22 | <li><a href="#configuración-del-agente-snmp-en-su-pc">Configuración del agente SNMP en su PC</a></li> |
---|
23 | <li><a href="#compruebe-que-está-funcionando">Compruebe que está funcionando:</a></li> |
---|
24 | <li><a href="#pruebe-con-sus-vecinos">Pruebe con sus vecinos</a></li> |
---|
25 | <li><a href="#agregar-mibs">Agregar MIBs</a></li> |
---|
26 | <li><a href="#snmpwalk---el-resto-de-mib-ii">SNMPwalk - el resto de MIB-II</a></li> |
---|
27 | </ul> |
---|
28 | </div> |
---|
29 | <h1 id="ejercicios-con-snmp-parte-i"><a href="#ejercicios-con-snmp-parte-i">Ejercicios con SNMP, parte I</a></h1> |
---|
30 | <h2 id="objetivos"><a href="#objetivos">Objetivos:</a></h2> |
---|
31 | <ul> |
---|
32 | <li>Instalar y utilizar los comando SNMP</li> |
---|
33 | <li>Explorar e identificar partes estandar o enterprise del arbol MIB</li> |
---|
34 | <li>Instalar MIB especificas de fabricantes y utilizarlas con comandos SNMP</li> |
---|
35 | </ul> |
---|
36 | <h2 id="nota"><a href="#nota">Nota:</a></h2> |
---|
37 | <ul> |
---|
38 | <li>Los comandos precedidos por el signo de pesos "$", deben ser ejecutados como un usuario general - y no como superusuario (root).</li> |
---|
39 | <li>Los comandos precedidos por el signo de número "#", deben ser ejecutados por el superusuario (root).</li> |
---|
40 | <li>Si la línea de comandos termina con una barra invertida "", quiere decir que el comando continua en la próxima línea y todas líneas deben ser tratadas como un comando de sola línea.</li> |
---|
41 | </ul> |
---|
42 | <p>Muchos de los comandos en este ejercicio no tienen que ejecutarse como root, pero no hay problema con ejecutarlos todos como root. Así que sería más sencillo si inicia una shell de root y los ejecuta todos desde ahí. Puede iniciar una shell de root así:</p> |
---|
43 | <pre><code>$ sudo -s</code></pre> |
---|
44 | <h1 id="instalación-del-los-programas-de-gestion-del-cliente"><a href="#instalación-del-los-programas-de-gestion-del-cliente">Instalación del los programas de gestion del cliente</a></h1> |
---|
45 | <p>Empieza instalando el software de net-snmp:</p> |
---|
46 | <pre><code># apt-get install snmp |
---|
47 | # apt-get install snmp-mibs-downloader</code></pre> |
---|
48 | <p>El segundo paquete (snmp-mibs-downloader) baja los MIBs estandares de IANA y de IETF que no estan incluidos por defecto.</p> |
---|
49 | <p>Nota: Para que esto funciona tiene que habilitar el fuente "multiverse" en su configuracion de APT - hemos hecho esto para Ud.</p> |
---|
50 | <p>Ahora tiene que editar el archivo /etc/snmp/snmp.conf</p> |
---|
51 | <pre><code># vi /etc/snmp/snmp.conf</code></pre> |
---|
52 | <p>y cambiar este linea:</p> |
---|
53 | <blockquote> |
---|
54 | <p>mibs :</p> |
---|
55 | </blockquote> |
---|
56 | <p>... para que se vea asi:</p> |
---|
57 | <blockquote> |
---|
58 | <p># mibs :</p> |
---|
59 | </blockquote> |
---|
60 | <p>Ahora, guarde el archivo y salga del editor.</p> |
---|
61 | <p>Esta accion deshabilito la linea de mibs vacia que estaba indicando a las herramientas de SNMP de <em>no</em> cargar automaticamente los mibs en el directorio /usr/share/mibs/.</p> |
---|
62 | <p>Ahora, realice su propia copia del fichero <code>/etc/snmp/snmp.conf</code>, configure los permisos de solo lectura solo para usted y adicione sus credenciales:</p> |
---|
63 | <p>Tiene que trabajar como el usario "sysadm" así, deja de ser el usuario "root":</p> |
---|
64 | <pre><code># exit</code></pre> |
---|
65 | <p>Y, ahora haz:</p> |
---|
66 | <pre><code>$ cd |
---|
67 | $ mkdir /.snmp |
---|
68 | $ cp /etc/snmp/snmp.conf /.snmp/ |
---|
69 | $ chmod 700 /.snmp/ |
---|
70 | $ sudo editor /.snmp/snmp.conf</code></pre> |
---|
71 | <p>Adiciones las siguientes lineas al final:</p> |
---|
72 | <blockquote> |
---|
73 | <p>defVersion 3 defCommunity NetManage defSecurityName admin defSecurityLevel authNoPriv defAuthPassphrase NetManage defAuthType SHA</p> |
---|
74 | </blockquote> |
---|
75 | <p>Con este informacion no sera necesario definir las credenciales cada vez que utilice los comandos SNMP</p> |
---|
76 | <h1 id="configuración-de-snmp-en-el-enrutador"><a href="#configuración-de-snmp-en-el-enrutador">Configuración de SNMP en el enrutador</a></h1> |
---|
77 | <p>Para esta parte del ejercicio, necesitan trabajar en grupos. Una persona estará asignada para escribir en el teclado.</p> |
---|
78 | <p>Si no está seguro de a qué grupo pertenece, refiérase al diagrama de red en la wiki del taller, en http://noc.ws.nsrc.org/</p> |
---|
79 | <p>Ahora conéctese a su enrutador:</p> |
---|
80 | <pre><code>$ ssh cisco@rtrN.ws.nsrc.org (ó "ssh cisco@10.10.N.254")</code></pre> |
---|
81 | <pre><code>username: cisco |
---|
82 | password: <CLASS PASSWORD> |
---|
83 | |
---|
84 | rtrN> enable |
---|
85 | Password: <CLASS PASSWORD> |
---|
86 | rtrN# configure terminal (conf t)</code></pre> |
---|
87 | <p>Ahora es necesario agregar una lista de control de acceso (ACL) para acceso a SNMP. Luego iniciaremos el agente SNMP, asignaremos una "comunidad" de sólo lectura y le indicaremos al enrutador que nunca cambie los índices de interfaces al reiniciarse. Para ello, haremos lo siguiente:</p> |
---|
88 | <pre><code>rtrN(config)# access-list 99 permit 10.10.0.0 0.0.255.255 |
---|
89 | rtrN(config)# snmp-server community NetManage ro 99 |
---|
90 | rtrN(config)# snmp-server group ReadGroup v3 auth access 99 |
---|
91 | rtrN(config)# snmp-server user admin ReadGroup v3 auth sha NetManage |
---|
92 | rtrN(config)# snmp-server ifindex persist</code></pre> |
---|
93 | <p>Ahora salgamos del modo configuración y grabemos:</p> |
---|
94 | <pre><code>rtrN(config)# exit |
---|
95 | rtrN# write memory (wr mem) |
---|
96 | rtrN# exit (volver al shell del PC)</code></pre> |
---|
97 | <p>Ahora, probaremos si estos cambios han hecho efecto.</p> |
---|
98 | <h1 id="comprobación-de-snmp"><a href="#comprobación-de-snmp">Comprobación de SNMP</a></h1> |
---|
99 | <p>Para verificar que su instalación de SNMP funciona, ejecute el comando 'snmpstatus' en cada uno de los siguientes nodos:</p> |
---|
100 | <pre><code>$ snmpstatus <IP_ADDRESS></code></pre> |
---|
101 | <p>Donde <IP_ADDRESS> es cada uno de los siguientes:</p> |
---|
102 | <pre><code>* El servidor NOC: 10.10.0.254 |
---|
103 | * Su enrutador: 10.10.N.254 |
---|
104 | * El switch dorsal: 10.10.0.253 |
---|
105 | * The backbone router: 10.10.0.254 |
---|
106 | * Los puntos de acceso: 10.10.0.251, 10.10.0.252 (no siempre funcionan)</code></pre> |
---|
107 | <p>Note que se ha utilizado SNMPv3. No todos los dispositivos que implementan SNMP soportan la version 3. Intentelo de nuevo, adicionando "-v2c" como parametro El comando automaticamente utiliza la comunidad definida en el fichero snmp.conf y no las credenciales de la version 3. Pruebe "-v1".</p> |
---|
108 | <p>Qué pasa si intenta usando la comunidad incorrecta (ej. cambie "NetManage" por algo diferente)</p> |
---|
109 | <h1 id="snmp-walk-y-los-oids"><a href="#snmp-walk-y-los-oids">SNMP Walk y los OIDs</a></h1> |
---|
110 | <p>Ahora, utilizará el comando 'snmpwalk', parte de la suite SNMP, para listar las tablas asociadas con los OIDs más abajo, para cada dispositivo que probó más arriba:</p> |
---|
111 | <pre><code>.1.3.6.1.2.1.2.2.1.2 |
---|
112 | .1.3.6.1.2.1.31.1.1.1.18 |
---|
113 | .1.3.6.1.4.1.9.9.13.1 |
---|
114 | .1.3.6.1.2.1.25.2.3.1 |
---|
115 | .1.3.6.1.2.1.25.4.2.1</code></pre> |
---|
116 | <pre><code>$ snmpwalk <IP_ADDRESS> <OID></code></pre> |
---|
117 | <p>y</p> |
---|
118 | <pre><code>$ snmpwalk -On <IP_ADDRESS> <OID></code></pre> |
---|
119 | <p>... Donde <OID> es uno de los OIDS más arriba: .1.3.6…</p> |
---|
120 | <p>... Donde <IP_ADDRESS> puede ser su enrulado...</p> |
---|
121 | <p><strong>Nota:</strong> la opcion "-On" habilita salida numerica, asi no traduccion del OID <-> MIB pasara.</p> |
---|
122 | <p>Con estos OIDs:</p> |
---|
123 | <ol style="list-style-type: lower-alpha"> |
---|
124 | <li>Responden todos los dispositivos ?</li> |
---|
125 | <li>Nota algo interesante en los OIDS de las respuestas ?</li> |
---|
126 | </ol> |
---|
127 | <h1 id="configuración-del-agente-snmp-en-su-pc"><a href="#configuración-del-agente-snmp-en-su-pc">Configuración del agente SNMP en su PC</a></h1> |
---|
128 | <p>Para este ejercicio su grupo necesita verificar que el servicio SNMP está activo y respondiendo a solicitudes desde todas las máquinas de su grupo. Primero active el demonio snmpd en su máquina, luego pruebe si su máquina está respondiendo, y luego compruebe cada máquina de sus compañeros de grupo.</p> |
---|
129 | <ul> |
---|
130 | <li>Instalar el agente SNMP (demonio)</li> |
---|
131 | </ul> |
---|
132 | <pre><code>$ sudo apt-get install snmpd |
---|
133 | $ sudo apt-get install libsnmp-dev</code></pre> |
---|
134 | <p>Debido a un fallo en Ubuntu (https://bugs.launchpad.net/ubuntu/+source/net-snmp/+bug/1322431), el comando para crear los usuarios SNMPv3 no existe, mientras se corrige el error, realice siguiente:</p> |
---|
135 | <pre><code>$ cd /tmp/ |
---|
136 | $ wget https://gist.githubusercontent.com/rarylson/72d1414d6907a4548427/raw/d97aed8debf0a291a0457ec634a3be370bd16546/net-snmp-create-v3-user |
---|
137 | $ chmod +x net-snmp-create-v3-user |
---|
138 | $ sudo mv net-snmp-create-v3-user /usr/local/bin</code></pre> |
---|
139 | <ul> |
---|
140 | <li>Configuración:</li> |
---|
141 | </ul> |
---|
142 | <p>Haremos una copia de respaldo del archivo que viene con el paquete, y luego crearemos uno propio:</p> |
---|
143 | <pre><code># cd /etc/snmp |
---|
144 | # mv snmpd.conf snmpd.conf.dist |
---|
145 | # editor snmpd.conf</code></pre> |
---|
146 | <p>Luego, copiar/pegar lo siguiente (no incluya las líneas -- cortar aquí --)</p> |
---|
147 | <p>-- cortar aquí -------------------------</p> |
---|
148 | <pre><code># Escuchar en todas las interfaces (en IPv4 *e* IPv6) |
---|
149 | agentAddress udp:161,udp6:[::1]:161 |
---|
150 | |
---|
151 | # Configurar comunidad de "sólo lectura" |
---|
152 | # y restringir quién se puede conectar |
---|
153 | rocommunity NetManage 10.10.0.0/16 |
---|
154 | rocommunity NetManage 127.0.0.1 |
---|
155 | |
---|
156 | # Información sobre este servidor |
---|
157 | sysLocation NSRC Network Management Workshop |
---|
158 | sysContact sysadm@pcX.ws.nsrc.org |
---|
159 | |
---|
160 | # Cuáles capas OSI están activas |
---|
161 | # (applicación + extremo a extremo) |
---|
162 | sysServices 72 |
---|
163 | |
---|
164 | # Incluye MIB de dskTable que es propietario (además de hrStorageTable) |
---|
165 | includeAllDisks 10%</code></pre> |
---|
166 | <p>-- cortar aquí -------------------------</p> |
---|
167 | <p>Ahora guarde el fichero y salga del editor.</p> |
---|
168 | <p>Ahora, adicione el mismo usuario SNMPv3 en su computadora. Se necesita detener snmpd antes de adicionar el usuario y reinicarlo para aplicar los cambios y el nuevo usuario</p> |
---|
169 | <pre><code>$ sudo service snmpd stop |
---|
170 | $ sudo net-snmp-create-v3-user -a SHA -A NetManage admin |
---|
171 | $ sudo service snmpd start</code></pre> |
---|
172 | <h1 id="compruebe-que-está-funcionando"><a href="#compruebe-que-está-funcionando">Compruebe que está funcionando:</a></h1> |
---|
173 | <pre><code>$ snmpstatus localhost</code></pre> |
---|
174 | <p>Qué puede observar?</p> |
---|
175 | <h1 id="pruebe-con-sus-vecinos"><a href="#pruebe-con-sus-vecinos">Pruebe con sus vecinos</a></h1> |
---|
176 | <p>Compruebe que ahora puede ejecutar snmpstatus con cada uno de los servidores de su grupo:</p> |
---|
177 | <pre><code>$ snmpstatus pcN.ws.nsrc.org</code></pre> |
---|
178 | <p>Por ejemplo, en el grupo 5:</p> |
---|
179 | <pre><code>* pc17.ws.nsrc.org |
---|
180 | * pc18.ws.nsrc.org |
---|
181 | * pc19.ws.nsrc.org |
---|
182 | * pc20.ws.nsrc.org</code></pre> |
---|
183 | <h1 id="agregar-mibs"><a href="#agregar-mibs">Agregar MIBs</a></h1> |
---|
184 | <p>Recuerde que cuando ejecutó:</p> |
---|
185 | <pre><code>$ snmpwalk 10.10.X.254 .1.3.6.1.4.1.9.9.13.1</code></pre> |
---|
186 | <p>El cliente SNMP (snmpwalk) no pudo interpretar todos los OIDS que venían en la respuesta:</p> |
---|
187 | <pre><code>SNMPv2-SMI::enterprises.9.9.13.1.3.1.2.1 = STRING: "chassis" |
---|
188 | SNMPv2-SMI::enterprises.9.9.13.1.3.1.6.1 = INTEGER: 1</code></pre> |
---|
189 | <p>Qué es '9.9.13.1.3.1' ?</p> |
---|
190 | <p>Para poder interpretar esta información, necesitamos instalar MIBs adicionales:</p> |
---|
191 | <p>Utilizaremos las siguientes MIBs (no las descargue todavía!):</p> |
---|
192 | <p><strong>MIBS de Cisco</strong></p> |
---|
193 | <pre><code>ftp://ftp.cisco.com/pub/mibs/v2/CISCO-SMI.my |
---|
194 | ftp://ftp.cisco.com/pub/mibs/v2/CISCO-ENVMON-MIB.my</code></pre> |
---|
195 | <p>Para hacerlo más fácil, tenemos una copia local en <code>http://noc.ws.nsrc.org/mibs/</code></p> |
---|
196 | <p>Descargalos así:</p> |
---|
197 | <pre><code>$ cd /usr/share/mibs |
---|
198 | $ sudo mkdir cisco |
---|
199 | $ cd cisco |
---|
200 | |
---|
201 | $ sudo wget http://noc.ws.nsrc.org/downloads/mibs/CISCO-SMI.my |
---|
202 | $ sudo wget http://noc.ws.nsrc.org/downloads/mibs/CISCO-ENVMON-MIB.my</code></pre> |
---|
203 | <p>Ahora tenemos que decir a las herramientas de snmp que tenemos los MIBS que deberia cargar. Edite el archivo /etc/snmp/snmp.conf y agrega las dos siguiente lineas:</p> |
---|
204 | <pre><code>mibdirs +/usr/share/mibs/cisco |
---|
205 | mibs +CISCO-ENVMON-MIB:CISCO-SMI</code></pre> |
---|
206 | <p>Grabe el archivo y salga.</p> |
---|
207 | <p>Ahora, pruebe de nuevo:</p> |
---|
208 | <pre><code>$ snmpwalk 10.10.X.254 .1.3.6.1.4.1.9.9.13.1</code></pre> |
---|
209 | <p>Qué puede notar?</p> |
---|
210 | <h1 id="snmpwalk---el-resto-de-mib-ii"><a href="#snmpwalk---el-resto-de-mib-ii">SNMPwalk - el resto de MIB-II</a></h1> |
---|
211 | <p>Intente ejecutar snmpwalk en cualquiera de los nodos (enrutadores, switches, PCs) que no haya probado todavía, en la red 10.10.0.X.</p> |
---|
212 | <p>Note el tipo de información que obtiene.</p> |
---|
213 | <pre><code>$ snmpwalk 10.10.0.X ifDescr |
---|
214 | $ snmpwalk 10.10.0.X ifAlias |
---|
215 | $ snmpwalk 10.10.0.X ifTable | less |
---|
216 | $ snmpwalk 10.10.0.X ifXTable | less |
---|
217 | $ snmpwalk 10.10.0.X ifOperStatus |
---|
218 | $ snmpwalk 10.10.0.X ifAdminStatus |
---|
219 | $ snmpwalk 10.10.0.X if</code></pre> |
---|
220 | <p>(Recuerda que con "less" apreta la barra del espacio por la proxima pagina, 'b' para ir atras una pagina y 'q' para salir)</p> |
---|
221 | <p>Puede ver la diferencia entre <code>ifTable</code> y <code>ifXTable</code>?</p> |
---|
222 | <p>Que puede ser la diferencia entre 'ifOperStatus' y 'ifAdminStatus' ? Puede imaginar en qué escenario esto sería útil?</p> |
---|
223 | <ol> |
---|
224 | <li>Más diversión con las MIBs</li> |
---|
225 | </ol> |
---|
226 | <ul> |
---|
227 | <li>Use SNMP para examinar lo siguiente:</li> |
---|
228 | </ul> |
---|
229 | <ol style="list-style-type: lower-alpha"> |
---|
230 | <li>los procesos activos en un servidor vecino (hrSWRun)</li> |
---|
231 | <li>el espacio de disco disponible en un servidor vecino (hrStorage)</li> |
---|
232 | <li>las interfaces en un servidor vecino (ifIndex, ifDescr)</li> |
---|
233 | </ol> |
---|
234 | <p>Puede usar nombres cortos para "caminar" estas tablas?</p> |
---|
235 | <ul> |
---|
236 | <li>Experimente con el comando "snmptranslate", ejemplo:</li> |
---|
237 | </ul> |
---|
238 | <pre><code>$ snmptranslate .1.3.6.1.4.1.9.9.13.1</code></pre> |
---|
239 | <ul> |
---|
240 | <li>Pruebe con otros varios OIDs</li> |
---|
241 | </ul> |
---|
242 | </body> |
---|
243 | </html> |
---|