Agenda: ejercicios-rancid.htm

File ejercicios-rancid.htm, 46.9 KB (added by admin, 6 years ago)
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5  <meta http-equiv="Content-Style-Type" content="text/css" />
6  <meta name="generator" content="pandoc" />
7  <title>Gestión de Cambios - RANCID</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">Gestión de Cambios - RANCID</h1>
14</div>
15<div id="TOC">
16<ul>
17<li><a href="#ejercicio-práctico-con-rancid">Ejercicio práctico con RANCID</a><ul>
18<li><a href="#metas">Metas</a></li>
19<li><a href="#notas">Notas</a></li>
20</ul></li>
21<li><a href="#ingrese-en-su-pc-con-ssh-como-el-usuraio-sysadm">Ingrese en su PC con ssh como el usuraio sysadm</a></li>
22<li><a href="#instalar-rancid">Instalar Rancid</a></li>
23<li><a href="#agregue-un-alias-para-el-usuario-rancid-en-el-archivo-de-etcaliases">Agregue un &quot;alias&quot; para el usuario rancid en el archivo de /etc/aliases:</a></li>
24<li><a href="#edite-la-configuración-de-rancid">Edite la configuración de Rancid</a></li>
25<li><a href="#cambie-al-usuario-rancid">Cambie al usuario rancid</a></li>
26<li><a href="#critico-critico-critico">CRITICO! CRITICO! CRITICO!</a></li>
27<li><a href="#critico-critico-critico-1">CRITICO! CRITICO! CRITICO!</a></li>
28<li><a href="#critico-critico-critico-2">CRITICO! CRITICO! CRITICO!</a></li>
29<li><a href="#configure-el-script-para-iniciar-sesiones-logins-automáticas">Configure el script para iniciar sesiones (logins) automáticas:</a></li>
30<li><a href="#compruebe-que-puede-iniciar-sesiones-hacia-el-enrutador-de-su-grupo">Compruebe que puede iniciar sesiones hacia el enrutador de su grupo</a></li>
31<li><a href="#inicialize-el-repositorio-svn-para-rancid">Inicialize el repositorio SVN para Rancid:</a></li>
32<li><a href="#cree-el-archivo-que-contendrá-la-lista-de-dispositivos">Cree el archivo que contendrá la lista de dispositivos</a></li>
33<li><a href="#vamos-a-probar-rancid">Vamos a probar rancid!</a></li>
34<li><a href="#revise-los-registros-de-eventos-logs-de-rancid">Revise los registros de eventos (logs) de Rancid:</a></li>
35<li><a href="#mire-las-configuraciones">Mire las configuraciones</a></li>
36<li><a href="#vamos-a-cambiar-la-descripción-de-una-interfaz-en-el-enrutador">Vamos a cambiar la descripción de una interfaz en el enrutador</a></li>
37<li><a href="#ejecutemos-rancid-de-nuevo">Ejecutemos Rancid de nuevo:</a></li>
38<li><a href="#veamos-las-diferencias">Veamos las diferencias</a></li>
39<li><a href="#revise-su-correo">Revise su correo</a></li>
40<li><a href="#hagamos-que-rancid-se-ejecute-cada-30-minutos-por-medio-de-cron">Hagamos que Rancid se ejecute cada 30 minutos por medio de Cron</a></li>
41<li><a href="#ahora-agregue-todos-los-enrutadores">Ahora agregue todos los enrutadores</a></li>
42<li><a href="#ejecute-rancid-otra-vez">Ejecute rancid otra vez:</a></li>
43<li><a href="#revise-los-registros">Revise los registros:</a></li>
44<li><a href="#revise-las-configuraciones">Revise las configuraciones</a></li>
45<li><a href="#ejecute-rancid-de-nuevo-para-ver-si-alguien-ha-cambiado-la-configuración-de-su-enrutador.">Ejecute Rancid de nuevo para ver si alguien ha cambiado la configuración de su enrutador.</a></li>
46<li><a href="#juegue-con-clogin">Juegue con clogin:</a></li>
47<li><a href="#agregar-el-repositorio-subversion-de-rancid-a-websvn">Agregar el repositorio Subversion de Rancid a WebSVN</a></li>
48<li><a href="#instale-websvn">Instale WebSVN:</a></li>
49<li><a href="#permite-que-websvn-corre-debajo-ubuntu-version-14.04.n">Permite que WebSVN Corre Debajo Ubuntu version 14.04.N</a></li>
50<li><a href="#repare-los-permisos.-el-servidor-web-debe-poder-leer-la-carpeta-svn-subversion">Repare los permisos. El servidor web debe poder leer la carpeta svn (Subversion)</a></li>
51<li><a href="#ahora-puede-ver-los-archivos-de-rancid-desde-su-navegador">Ahora puede ver los archivos de Rancid desde su navegador!</a></li>
52<li><a href="#haciendo-más-seguro-websvn">Haciendo más Seguro WebSVN</a></li>
53<li><a href="#compruebe-las-revisiones">Compruebe las revisiones</a></li>
54</ul>
55</div>
56<h1 id="ejercicio-práctico-con-rancid"><a href="#ejercicio-práctico-con-rancid">Ejercicio práctico con RANCID</a></h1>
57<h2 id="metas"><a href="#metas">Metas</a></h2>
58<ul>
59<li>Instalar y configurar RANCID para respalder configuraciones de los enrutadores del taller.</li>
60<li>Revisar los registros de RANCID para ver los cambios en las configuraciones de los enrutatores.</li>
61</ul>
62<h2 id="notas"><a href="#notas">Notas</a></h2>
63<ul>
64<li>Los comandos precedidos por el signo de pesos &quot;$&quot;, deben ser ejecutados como un usuario general - y no como superusuario (root).</li>
65<li>Los comandos precedidos por el signo de número &quot;#&quot;, deben ser ejecutados por el superusuario (root).</li>
66<li>Los comandos precedidos por lineas de comando más específicas (e.g. &quot;rtrX&gt;&quot; or &quot;mysql&gt;&quot;) deben ser ejecutados en equipos remotos, dentro de otras aplicaciones.</li>
67<li>Si la línea de comandos termina con una barra invertida &quot;&quot;, 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>
68<li>Referencias a &quot;N&quot;, representan su número de grupo.</li>
69</ul>
70<h1 id="ingrese-en-su-pc-con-ssh-como-el-usuraio-sysadm"><a href="#ingrese-en-su-pc-con-ssh-como-el-usuraio-sysadm">Ingrese en su PC con ssh como el usuraio sysadm</a></h1>
71<p>Conviértase en root, e instale el sistema de control de versiones Subversion:</p>
72<p>Además de Subversion, instalaremos telnet y el cliente de correo Mutt. Puede que ambos paquetes ya hayan sido instalados en un ejercicio previo. En tal caso, no se preocupe. El comando apt-get simplemente no los instalará.</p>
73<pre><code>$ sudo -s
74# apt-get install subversion telnet mutt</code></pre>
75<h1 id="instalar-rancid"><a href="#instalar-rancid">Instalar Rancid</a></h1>
76<pre><code># apt-get install rancid</code></pre>
77<ul>
78<li>Le mostrará una advertencia. Seleccione <code>&lt;Ok</code>&gt; y oprima ENTER para continuar.</li>
79<li>Le mostrará otra advertencia sobre la necesidad de hacer una copia de sus datos<br /> en Rancid. Como no tenemos datos, simplemente seleccione <code>&lt;YES</code>&gt; y oprima ENTER para continuar.</li>
80</ul>
81<h1 id="agregue-un-alias-para-el-usuario-rancid-en-el-archivo-de-etcaliases"><a href="#agregue-un-alias-para-el-usuario-rancid-en-el-archivo-de-etcaliases">Agregue un &quot;alias&quot; para el usuario rancid en el archivo de /etc/aliases:</a></h1>
82<pre><code># editor /etc/aliases</code></pre>
83<p>Agregas las lineas:</p>
84<pre><code>        rancid-all:     sysadm
85        rancid-admin-all:   sysadm</code></pre>
86<p>Grabe y salga. Luego ejeucute:</p>
87<pre><code># newaliases</code></pre>
88<h1 id="edite-la-configuración-de-rancid"><a href="#edite-la-configuración-de-rancid">Edite la configuración de Rancid</a></h1>
89<pre><code># editor /etc/rancid/rancid.conf</code></pre>
90<p>Busque esta línea:</p>
91<pre><code>    #LIST_OF_GROUPS=&quot;sl joebobisp&quot;</code></pre>
92<p>Y debajo de ésta, agregue:</p>
93<pre><code>    LIST_OF_GROUPS=&quot;all&quot;</code></pre>
94<p>Sin el carácter &quot;#&quot; al comienzo de la línea, y alineada hacia la izquierda.</p>
95<p>Vamos a usar Subversion con nuestro sistema de control de versiones, y no CVS, así que busque la línea con el parámetro RCSSYS:</p>
96<pre><code>        RCSSYS=cvs; export RCSSYS</code></pre>
97<p>Y cámbiela a:</p>
98<pre><code>        RCSSYS=svn; export RCSSYS</code></pre>
99<p>también busque la línea con CVSROOT:</p>
100<pre><code>        CVSROOT=$BASEDIR/CVS; export CVSROOT</code></pre>
101<p>y cámbiela a:</p>
102<pre><code>        CVSROOT=$BASEDIR/svn; export CVSROOT</code></pre>
103<p>Asegúrese de que &quot;svn&quot; esté en minúscula. Grabe y salga del editor.</p>
104<h1 id="cambie-al-usuario-rancid"><a href="#cambie-al-usuario-rancid">Cambie al usuario rancid</a></h1>
105<h1 id="critico-critico-critico"><a href="#critico-critico-critico">CRITICO! CRITICO! CRITICO!</a></h1>
106<h1 id="critico-critico-critico-1"><a href="#critico-critico-critico-1">CRITICO! CRITICO! CRITICO!</a></h1>
107<h1 id="critico-critico-critico-2"><a href="#critico-critico-critico-2">CRITICO! CRITICO! CRITICO!</a></h1>
108<p>Ponga mucha atención a cuál ID de usuario (userid) está usando durante el resto de los ejercicios. Si no está seguro, simplemente ejecute &quot;id&quot; en la línea de comandos en cualquier momento.</p>
109<p>Desde una línea de comandos de root (&quot;#&quot;), cambie su identidad para convertirse en el usuario 'rancid':</p>
110<pre><code># su -s /bin/bash rancid</code></pre>
111<p>Confirme que es el usuario rancid ahora:</p>
112<pre><code>$ id</code></pre>
113<p>Debería ver algo similar a esto (puede que los números no concuerden):</p>
114<pre><code>        uid=104(rancid) gid=109(rancid) groups=109(rancid)</code></pre>
115<p>***** SI NO ES RANCID AHORA, NO SIGA ******</p>
116<p>**************** OTRA VEZ! ****************</p>
117<p>***** SI NO ES RANCID AHORA, NO SIGA ******</p>
118<h1 id="configure-el-script-para-iniciar-sesiones-logins-automáticas"><a href="#configure-el-script-para-iniciar-sesiones-logins-automáticas">Configure el script para iniciar sesiones (logins) automáticas:</a></h1>
119<pre><code>$ editor /var/lib/rancid/.cloginrc</code></pre>
120<p>Agregue las siguientes dos líneas:</p>
121<pre><code>        add user *.ws.nsrc.org cisco
122        add password *.ws.nsrc.org nsrc+ws nsrc+ws</code></pre>
123<p>La primera línea indica que debe usarse el nombre de usuario &quot;cisco&quot;. En la segunda línea, el primer y segundo &quot;cisco&quot; son los passwords de acceso y modo privilegiado (enable) para para el enrutador. El asterisco &quot;*&quot; en los nombres es un comodín, lo cual indica que Rancid deberá usar estas credenciales para todos los dispositivos cuyos nombres terminen en .ws.nsrc.org</p>
124<p>Grabe y salga.</p>
125<p>Ahora proteja este archivo para que no pueda ser leído por otros usuarios:</p>
126<pre><code>$ chmod 600 /var/lib/rancid/.cloginrc</code></pre>
127<h1 id="compruebe-que-puede-iniciar-sesiones-hacia-el-enrutador-de-su-grupo"><a href="#compruebe-que-puede-iniciar-sesiones-hacia-el-enrutador-de-su-grupo">Compruebe que puede iniciar sesiones hacia el enrutador de su grupo</a></h1>
128<p>Ingrese a su enrutador con clogin. La primera vez probablemente recibirá una advertencia de SSH sobre la clave pública. Confirme con &quot;y&quot;. Pero no debería tener que escribir la contraseña del enrutador. Debería ser automático.</p>
129<pre><code>$ /var/lib/rancid/bin/clogin rtrX.ws.nsrc.org</code></pre>
130<p>(reemplace X con su número de grupo. Por ejemplo, si usted es grupo 1, el nombre sería rtr1.ws.nsrc.org)</p>
131<p>Debería ver algo como esto:</p>
132<pre><code>       spawn ssh -c 3des -x -l cisco rtr2.ws.nsrc.org
133       The authenticity of host 'rtr2.ws.nsrc.org (10.10.2.254)' can't be established.
134       RSA key fingerprint is 73:f3:f0:e8:78:ab:49:1c:d9:5d:49:01:a4:e1:2a:83.
135       Are you sure you want to continue connecting (yes/no)?
136       Host rtr1.ws.nsrc.org added to the list of known hosts.
137       yes
138       Warning: Permanently added 'rtr1.ws.nsrc.org' (RSA) to the list of known hosts.
139       Password:
140
141       rtrX&gt;enable
142       Password:
143       rtrX#</code></pre>
144<p>Termine la conexión al enrutador:</p>
145<pre><code>rtrX#exit</code></pre>
146<h1 id="inicialize-el-repositorio-svn-para-rancid"><a href="#inicialize-el-repositorio-svn-para-rancid">Inicialize el repositorio SVN para Rancid:</a></h1>
147<p>Asegúrese de ser rancid antes de continuar:</p>
148<pre><code>$ id</code></pre>
149<p>Si no ve algo como</p>
150<pre><code>         &quot;uid=108(rancid) gid=113(rancid) groups=113(rancid)&quot;</code></pre>
151<p>NO CONTINUE hasta haberse convertido en el usuario rancid. Vea el paso 6 para más detalles.</p>
152<p>Ahora inicialize el repositorio SVN:</p>
153<pre><code>$ /usr/lib/rancid/bin/rancid-cvs</code></pre>
154<p>Deberias ver algo como:</p>
155<pre><code>    Committed revision 1.
156    Checked out revision 1.
157    At revision 1.
158    A         configs
159    Adding         configs
160
161    Committed revision 2.
162    A         router.db
163    Adding         router.db
164    Transmitting file data .
165    Committed revision 3.</code></pre>
166<p>******** Sólo haga lo siguiente si tiene problemas *******</p>
167<p>Si esto no funciona, entonces puede que le falte el paquete subversion, o que algo no se configuró apropiadamente durante los pasos anteriores. Debe verificar que Subversion está instalado, así que antes de ejecutar rancid-cvs, haga lo siguiente:</p>
168<pre><code>$ exit
169# apt-get install subversion
170# su -s /bin/bash rancid
171$ cd /var/lib/rancid
172$ rm -rf all
173$ rm -rf svn</code></pre>
174<p>Ahora intente de nuevo:</p>
175<pre><code>$ /usr/lib/rancid/bin/rancid-cvs</code></pre>
176<hr />
177<h1 id="cree-el-archivo-que-contendrá-la-lista-de-dispositivos"><a href="#cree-el-archivo-que-contendrá-la-lista-de-dispositivos">Cree el archivo que contendrá la lista de dispositivos</a></h1>
178<pre><code>$ editor /var/lib/rancid/all/router.db</code></pre>
179<p>Agregue esta línea:</p>
180<pre><code>        rtrX.ws.nsrc.org:cisco:up</code></pre>
181<p>Grabe y salga</p>
182<h1 id="vamos-a-probar-rancid"><a href="#vamos-a-probar-rancid">Vamos a probar rancid!</a></h1>
183<pre><code>$ /usr/lib/rancid/bin/rancid-run</code></pre>
184<p>Esto tardará unos momentos.</p>
185<p>Pruébelo de nuevo porque la primera vez puede que no registre correctamente:</p>
186<pre><code>$ /usr/lib/rancid/bin/rancid-run</code></pre>
187<h1 id="revise-los-registros-de-eventos-logs-de-rancid"><a href="#revise-los-registros-de-eventos-logs-de-rancid">Revise los registros de eventos (logs) de Rancid:</a></h1>
188<pre><code>$ cd /var/lib/rancid/logs
189$ ls -l</code></pre>
190<p>... Inspeccione el contenido de los archivos:</p>
191<pre><code>$ less all.*</code></pre>
192<p>NOTA! Al usar &quot;less&quot; - para ver el siguiente archivo presione &quot;:n&quot;. Para ver el archivo anterior, presione &quot;:p&quot;. Salga con &quot;q&quot;.</p>
193<h1 id="mire-las-configuraciones"><a href="#mire-las-configuraciones">Mire las configuraciones</a></h1>
194<pre><code>$ cd /var/lib/rancid/all/configs
195$ less rtrX.ws.nsrc.org</code></pre>
196<p>Si todo salió bien, debería ver la configuración del enrutador. NOTA! Re-emplaza &quot;X&quot; con el numero de su grupo.</p>
197<h1 id="vamos-a-cambiar-la-descripción-de-una-interfaz-en-el-enrutador"><a href="#vamos-a-cambiar-la-descripción-de-una-interfaz-en-el-enrutador">Vamos a cambiar la descripción de una interfaz en el enrutador</a></h1>
198<pre><code>$ /usr/lib/rancid/bin/clogin rtrX.ws.nsrc.org</code></pre>
199<p>En la línea de comandos &quot;rtrX#&quot; escriba:</p>
200<pre><code>rtrX# conf term</code></pre>
201<p>Verá:</p>
202<pre><code>Enter configuration commands, one per line.  End with CNTL/Z.
203rtrX(config)#</code></pre>
204<p>Ingrese:</p>
205<pre><code>rtrX(config)# interface LoopbackXX  (sustituya XX con el # de su PC)</code></pre>
206<p>Verá lo siguiente:</p>
207<pre><code>rtrX(config-if)#</code></pre>
208<p>Ingrese:</p>
209<pre><code>rtr2(config-if)# description &lt;escriba su nombre aquí&gt;
210rtr2(config-if)# end
211rtrX# write memory
212rtrX# exit</code></pre>
213<h1 id="ejecutemos-rancid-de-nuevo"><a href="#ejecutemos-rancid-de-nuevo">Ejecutemos Rancid de nuevo:</a></h1>
214<pre><code>$ /usr/lib/rancid/bin/rancid-run</code></pre>
215<p>Mire los registros de eventos</p>
216<pre><code>$ ls /var/lib/rancid/logs/</code></pre>
217<p>Debería ver un nuevo archivo de eventos indicando la última ejecución de Rancid con la fecha y hora como parte del nombre.</p>
218<h1 id="veamos-las-diferencias"><a href="#veamos-las-diferencias">Veamos las diferencias</a></h1>
219<pre><code>$ cd /var/lib/rancid/all/configs
220$ ls -l</code></pre>
221<p>Debería ver el archivo del enrutador de su grupo:</p>
222<pre><code>$ svn log rtrX.ws.nsrc.org</code></pre>
223<p>(Donde &quot;X&quot; es el numero de su grupo)</p>
224<p>Fíjese en las revisiones. Veamos las diferencias entre las dos versiones:</p>
225<pre><code>$ svn diff -r 5:7 rtrX.ws.nsrc.org | less</code></pre>
226<p>... ¿Puede ver los cambios?</p>
227<p>Note que svn es el comando del sistema de control de versiones para manejar repositorios de información. Si escribe:</p>
228<pre><code>$ ls -lah</code></pre>
229<p>Verá un directorio escondido llamado &quot;.svn&quot; - este contiene toda la información sobre los cambios entre las configuraciones de los enrutadores recogidos cada vez que se ejecuta rancid.</p>
230<p>Nunca, nunca toque o edite el directorio .svn a mano!</p>
231<h1 id="revise-su-correo"><a href="#revise-su-correo">Revise su correo</a></h1>
232<p>Ahora saldremos del shell de rancid para volver a el shell de root, y de ahí saldremos a el shell de &quot;sysadmin&quot;. Vamos a usar el programa &quot;mutt&quot; para ver si rancid nos ha estado enviando correos:</p>
233<pre><code>$ exit                  (salir del shell de rancid)
234# exit                  (salir del shell de root)
235$ id</code></pre>
236<p>... comprobar que somos sysadmin de nuevo;</p>
237<p>... si no, salga e ingrese de nuevo a su PC como sysadmin.</p>
238<pre><code>$ mutt</code></pre>
239<p>(Cuando se le pregunte sobre crear el directorio &quot;Mail&quot;, diga Yes)</p>
240<p>Si todo sale como está planificado, debería poder leer los e-mails enviados por Rancid. Puede seleccionar el e-mail enviado por &quot;rancid@pcX.ws.nsrc.org&quot; y ver qué tiene dentro.</p>
241<p>Note que será la descripción de su enrutador y cualquier diferencia que se haya registrado desde la última vez que se ejecutó rancid-run.</p>
242<p>Salga de mutt.</p>
243<p>(use 'q' para salir al índice, y 'q' de nuevo para salir de mutt)</p>
244<h1 id="hagamos-que-rancid-se-ejecute-cada-30-minutos-por-medio-de-cron"><a href="#hagamos-que-rancid-se-ejecute-cada-30-minutos-por-medio-de-cron">Hagamos que Rancid se ejecute cada 30 minutos por medio de Cron</a></h1>
245<p>Cron es un sistema disponible en Linux para automatizar la ejecución de tareas. Primero debemos convertirnos de nuevo en root:</p>
246<pre><code>$ sudo -s</code></pre>
247<p>Ahora crearemos una nueva tarea para el usuario rancid:</p>
248<pre><code># crontab -e -u rancid</code></pre>
249<p>Le preguntará por su opción de editor. Indique el editor que haya estado usando hasta ahora en clase</p>
250<p>Agregue esta línea al final del archivo (COPIE Y PEGUE):</p>
251<pre><code>*/30  *  *  *  *  /usr/lib/rancid/bin/rancid-run</code></pre>
252<p>Graba y salga del archivo.</p>
253<p>Ya está. El comando &quot;rancid-run&quot; se ejecutará automáticamente cada 30 minutos a partir de ahora, todos los días.</p>
254<h1 id="ahora-agregue-todos-los-enrutadores"><a href="#ahora-agregue-todos-los-enrutadores">Ahora agregue todos los enrutadores</a></h1>
255<p>Conviértase en el usuario rancid y edite el archivo siguiente:</p>
256<pre><code># su -s /bin/bash rancid
257$ editor /var/lib/rancid/all/router.db</code></pre>
258<p>Agregue los otros enrutadores de la clase en el archivo.</p>
259<p>Si hay más o menos enrutadores en clase, incluya el número correcto (esto es sólo un ejemplo):</p>
260<p>COPIE Y PEGUE:</p>
261<pre><code>rtr1.ws.nsrc.org:cisco:up
262rtr2.ws.nsrc.org:cisco:up
263rtr3.ws.nsrc.org:cisco:up
264rtr4.ws.nsrc.org:cisco:up
265rtr5.ws.nsrc.org:cisco:up
266rtr6.ws.nsrc.org:cisco:up
267rtr7.ws.nsrc.org:cisco:up
268rtr8.ws.nsrc.org:cisco:up
269rtr9.ws.nsrc.org:cisco:up</code></pre>
270<p>Note que &quot;cisco&quot; significa que estos son equipos Cisco. Esta información ayuda a Rancid a identificar cómo debe comunicarse con el equipo. Rancid también soporta muchos otros fabricantes, tales como Juniper, HP, etc.</p>
271<p>Asegúrese de que las entradas están alineadas hacia la izquierda del archivo.</p>
272<h1 id="ejecute-rancid-otra-vez"><a href="#ejecute-rancid-otra-vez">Ejecute rancid otra vez:</a></h1>
273<pre><code>$ /usr/lib/rancid/bin/rancid-run</code></pre>
274<p>Tomará un minuto o más, espere.</p>
275<h1 id="revise-los-registros"><a href="#revise-los-registros">Revise los registros:</a></h1>
276<pre><code>$ cd /var/lib/rancid/logs
277$ ls -l</code></pre>
278<p>... Busque el último archivo y mírelo</p>
279<pre><code>$ less all.YYYYMMDD.HHMMSS</code></pre>
280<p>Este debería ser el último archivo en la lista producida por &quot;ls -l&quot;</p>
281<p>Debería haber un número de entradas indicando que los enrutadores se han agregado a Subversion, y otras informaciones.</p>
282<h1 id="revise-las-configuraciones"><a href="#revise-las-configuraciones">Revise las configuraciones</a></h1>
283<pre><code>$ cd /var/lib/rancid/all/configs
284$ more *.ws.nsrc.org</code></pre>
285<p>Use la barra espaciadora para continuar a los demás archivos, o también:</p>
286<pre><code>$ less *.ws.nsrc.org</code></pre>
287<p>Y oprima la barra espaciadora para desplazarse hacia abajo en la página y luego presione &quot;:n&quot; para ver el próximo archivo. Recuerde que en ambos casos puede salir con &quot;q&quot;.</p>
288<p>Si todo salió bien, debería ver las configuraciones de todos los enrutadores.</p>
289<h1 id="ejecute-rancid-de-nuevo-para-ver-si-alguien-ha-cambiado-la-configuración-de-su-enrutador."><a href="#ejecute-rancid-de-nuevo-para-ver-si-alguien-ha-cambiado-la-configuración-de-su-enrutador.">Ejecute Rancid de nuevo para ver si alguien ha cambiado la configuración de su enrutador.</a></h1>
290<pre><code>$ /usr/lib/rancid/bin/rancid-run</code></pre>
291<h1 id="juegue-con-clogin"><a href="#juegue-con-clogin">Juegue con clogin:</a></h1>
292<pre><code>$  /usr/lib/rancid/bin/clogin -c &quot;show clock&quot; rtrX.ws.nsrc.org</code></pre>
293<p>Qué puede observar?</p>
294<p>Y lo que es mas interesante es que podemos sacar provecho de esta herramienta y escribir un script sencillo para hacer cambios en múltiples dispositivos rápidamente:</p>
295<pre><code>$ editor /tmp/newuser</code></pre>
296<p>... en este archivo escriba (o COPIE Y PEGUE):</p>
297<pre><code>configure terminal
298username pc&lt;número_de_PC&gt; secret 0 NewPassword
299exit
300write</code></pre>
301<p>Guarde, salga y ejecute lo siguiente:</p>
302<pre><code>$ for r in 1 2 3 4</code></pre>
303<p>Su línea de comandos cambiará a &quot;&gt;&quot;. Continue escribiendo:</p>
304<pre><code>&gt; do
305&gt; /var/lib/rancid/bin/clogin -x /tmp/newuser rtr$r.ws.nsrc.org
306&gt; done</code></pre>
307<p>Ahora su línea de comandos volverá a ser &quot;$&quot; y el comando clogin de Rancid se ejecutará y enviará los comandos que acaba de escribir a los enrutadores rtr1, rtr2, rtr3 y rtr4. Esto es programación en shell sencilla en Linux, pero es muy poderosa.</p>
308<p>Q. Cómo verificaría que esto se ha ejecutado correctamente ?</p>
309<p>Pista: &quot;show run | inc <patrón>&quot;</p>
310<p>A. Conéctese a rtr1, rtr2, rtr3 y rtr4. Escriba &quot;enable&quot; y luego &quot;show run | inc username&quot; para verificar que el nuevo usuario NewUser existe. Salga con &quot;exit&quot;. Naturalmente esto lo podríamos automatizar de la misma manera.</p>
311<h1 id="agregar-el-repositorio-subversion-de-rancid-a-websvn"><a href="#agregar-el-repositorio-subversion-de-rancid-a-websvn">Agregar el repositorio Subversion de Rancid a WebSVN</a></h1>
312<p>Si todavía está como usuario rancid, salga para volver a ser root. Recuerde que puede ejecutar &quot;id&quot; para comprobar qué usuario es efectivamente.</p>
313<pre><code>$ exit
314# </code></pre>
315<h1 id="instale-websvn"><a href="#instale-websvn">Instale WebSVN:</a></h1>
316<pre><code># apt-get install websvn</code></pre>
317<ul>
318<li>Responda <Yes> para configurar WebSVN ahora y oprima ENTER</li>
319<li>Responda <Ok> a la siguiente pregunta sobre soporte para servidores y presione ENTER</li>
320<li>Cuando se le pregunte sobre &quot;svn parent repositories&quot; cambie el camino a:</li>
321</ul>
322<p>''' /var/lib/rancid/svn '''</p>
323<ul>
324<li>Diga <Ok> y oprima ENTER. Haga los mismo para &quot;svn repositories&quot; en la siguiente pantalla. O sea, use el camino:</li>
325</ul>
326<pre><code>    /var/lib/rancid/svn</code></pre>
327<p>y no lo que se muestra por defecto. <Ok> y luego ENTER. * Diga <Ok> a la pregunta de permisos y luego ENTER.</p>
328<h1 id="permite-que-websvn-corre-debajo-ubuntu-version-14.04.n"><a href="#permite-que-websvn-corre-debajo-ubuntu-version-14.04.n">Permite que WebSVN Corre Debajo Ubuntu version 14.04.N</a></h1>
329<pre><code> # ln -s /etc/websvn/apache.conf /etc/apache2/conf-available/websvn.conf
330 # mkdir /etc/apache2/conf.d
331 # ln -s /etc/websvn/apache.conf /etc/apache2/conf.d/websvn
332 # a2enconf websvn.conf
333 # service apache2 reload</code></pre>
334<h1 id="repare-los-permisos.-el-servidor-web-debe-poder-leer-la-carpeta-svn-subversion"><a href="#repare-los-permisos.-el-servidor-web-debe-poder-leer-la-carpeta-svn-subversion">Repare los permisos. El servidor web debe poder leer la carpeta svn (Subversion)</a></h1>
335<pre><code># chgrp -R www-data /var/lib/rancid/svn
336# chmod g+w -R /var/lib/rancid/svn</code></pre>
337<h1 id="ahora-puede-ver-los-archivos-de-rancid-desde-su-navegador"><a href="#ahora-puede-ver-los-archivos-de-rancid-desde-su-navegador">Ahora puede ver los archivos de Rancid desde su navegador!</a></h1>
338<blockquote>
339<p>http://pcX.ws.nsrc.org/websvn</p>
340</blockquote>
341<p>Vaya al directorio 'all/configs'. Puede ver todas las configuraciones de sus enrutadores ahí.</p>
342<h1 id="haciendo-más-seguro-websvn"><a href="#haciendo-más-seguro-websvn">Haciendo más Seguro WebSVN</a></h1>
343<p>Ud. no quería que todo el Internet podría revisar sus archivos de configuraciòn, no? Debajo son algunos pasos para hacer más seguro WebSVN. Un paso es no incluido es no permiter que alguien conecta a través http en vez de https (ssl). Recomendamos https por todo sus sitios de web siempre cuando sea posible.</p>
344<p>Primero tiene que actualizar el codigo de configuración de Apache por WebSVN:</p>
345<pre><code># cd /etc/apache2/conf.d/
346# vi websvn</code></pre>
347<p>Debajo la línea que dice:</p>
348<pre><code>#Options FollowSymLinks MultiViews</code></pre>
349<p>Inserta una línea que dice:</p>
350<pre><code>AllowOverride All</code></pre>
351<p>Y, ahora, reemplaza la línea que diga:</p>
352<pre><code>Allow from all</code></pre>
353<p>por una línea que diga:</p>
354<pre><code>Allow from 10.10.0.0/16</code></pre>
355<p>Ahora graba y salga del archivo. Proxímo necesitamos crear un archivo de .htaccess en el directorio &quot;/usr/share/websvn&quot;:</p>
356<pre><code># cd /usr/share/websvn
357# editor .htaccess</code></pre>
358<p>En este archivo incluye:</p>
359<pre><code>AuthUserFile /usr/local/websvn/.htpasswd
360AuthName &quot;Authorized Users Only Past This Point!&quot;
361AuthType Basic
362Require valid-user</code></pre>
363<p>Graba y salga del archivo. Ahora necesitamos crear el archivo .htpasswd que se usa htaccess</p>
364<p>''' &gt; Test text &gt; test text &gt; test text '''</p>
365<pre><code># mkdir /usr/local/websvn
366# cd /usr/local/websvn
367# htpasswd -c .htpasswd sysadm</code></pre>
368<p>Provee una contraseña por tu usuario <em>sysadm</em> (tal vez la contraseña del curso?). Deberías ver esto:</p>
369<pre><code>New password:
370Re-type new password:
371Adding password for user sysadm</code></pre>
372<p>Ahora re-incializamos el servidor web Apache para que los cambios surtan afecto:</p>
373<pre><code># service apache2 restart</code></pre>
374<p>Prueba a navegar a las páginas de WebSVN a http://pcN.ws.nsrc.org/websvn/ y debería recibir las preguntas por un usuario y clave para ver las páginas de WebSVN ahora.</p>
375<h1 id="compruebe-las-revisiones"><a href="#compruebe-las-revisiones">Compruebe las revisiones</a></h1>
376<p>WebSVN le permite ver con facilidad las diferencias entre versiones.</p>
377<ul>
378<li>Navegue a http://pcXXX.ws.nsrc.org/websvn de nuevo y vaya a all/configs.</li>
379<li>Vaya al enlace de su enrutador (rtrX.ws.nsrc.org) name. Verá otra pantalla.</li>
380<li>Oprima &quot;Compare with Previous&quot; al comienzo de la pantalla.</li>
381<li>Ahora podrá ver los últimos cambios.</li>
382</ul>
383<p>Oprima &quot;REPOS 1&quot; para volver a la página principal:</p>
384<ul>
385<li>Oprima &quot;all/&quot; bajo &quot;Path&quot;</li>
386<li>Oprima &quot;configs/&quot;</li>
387<li>Seleccione dos enrutadores contiguos. Ej. rtr1 y rtr2, rtr3 y rtr4.</li>
388<li>Oprima Compare Paths</li>
389</ul>
390<p>Esto le mostrará las diferencias entre dos configuraciones de enrutadores distintos.</p>
391<p>WebSVN es una manera conveniente de ver las diferencias rápidamente en una interfaz gráfica entre múltiples archivos de configuración. Note que esto es un potencial problema de seguridad, así que debería restringir el acceso al URL http://<host>/websvn usando contraseñas (y SSL), y listas de control de acceso.</p>
392<p>+---- Rev. 19 Nov 2015</p>
393</body>
394</html>