diff --git a/TP-02/Pipfile b/TP-02/Pipfile index ebf7646..e78e886 100644 --- a/TP-02/Pipfile +++ b/TP-02/Pipfile @@ -6,6 +6,7 @@ name = "pypi" [packages] jinja2 = "*" netmiko = "*" +napalm = "*" [dev-packages] diff --git a/TP-02/Pipfile.lock b/TP-02/Pipfile.lock index dcd036a..60b7ccc 100644 --- a/TP-02/Pipfile.lock +++ b/TP-02/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "9b8a64865da910f290ca849864fb1056a8c27fe595eb058a42970435da3af3b7" + "sha256": "a228f4ca14f3d8ea1a748672c50555146c891d3905f64647f53327635a56be04" }, "pipfile-spec": 6, "requires": { @@ -85,6 +85,14 @@ "markers": "python_version >= '3.8'", "version": "==5.0.0" }, + "certifi": { + "hashes": [ + "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", + "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316" + ], + "markers": "python_version >= '3.7'", + "version": "==2025.11.12" + }, "cffi": { "hashes": [ "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", @@ -172,9 +180,128 @@ "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", "sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf" ], - "markers": "python_full_version >= '3.9' and platform_python_implementation != 'PyPy'", + "markers": "python_version >= '3.9'", "version": "==2.0.0" }, + "charset-normalizer": { + "hashes": [ + "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad", + "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93", + "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", + "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", + "sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc", + "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", + "sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63", + "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d", + "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", + "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", + "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0", + "sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505", + "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", + "sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af", + "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", + "sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318", + "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", + "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", + "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", + "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", + "sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576", + "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", + "sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1", + "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8", + "sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1", + "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", + "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", + "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", + "sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88", + "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", + "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", + "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", + "sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a", + "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", + "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", + "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84", + "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db", + "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", + "sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7", + "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", + "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", + "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", + "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", + "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", + "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", + "sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2", + "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", + "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d", + "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", + "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", + "sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf", + "sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6", + "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", + "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", + "sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa", + "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", + "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", + "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", + "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", + "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", + "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", + "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", + "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", + "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e", + "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313", + "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", + "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", + "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d", + "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", + "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", + "sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3", + "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9", + "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", + "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", + "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", + "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", + "sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50", + "sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf", + "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", + "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", + "sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac", + "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", + "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", + "sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c", + "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", + "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6", + "sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e", + "sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4", + "sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84", + "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69", + "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", + "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", + "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", + "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", + "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", + "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", + "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", + "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", + "sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074", + "sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3", + "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", + "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", + "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", + "sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d", + "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", + "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f", + "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8", + "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", + "sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966", + "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", + "sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3", + "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e", + "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608" + ], + "markers": "python_version >= '3.7'", + "version": "==3.4.4" + }, "cryptography": { "hashes": [ "sha256:00a5e7e87938e5ff9ff5447ab086a5706a957137e6e433841e9d24f38a065217", @@ -235,6 +362,14 @@ "markers": "python_version >= '3.8' and python_full_version not in '3.9.0, 3.9.1'", "version": "==46.0.3" }, + "idna": { + "hashes": [ + "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", + "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" + ], + "markers": "python_version >= '3.8'", + "version": "==3.11" + }, "invoke": { "hashes": [ "sha256:2413bc441b376e5cd3f55bb5d364f973ad8bdd7bf87e53c79de3c11bf3feecc8", @@ -252,6 +387,160 @@ "markers": "python_version >= '3.7'", "version": "==3.1.6" }, + "junos-eznc": { + "hashes": [ + "sha256:d7e395669eb94aeed9bca47a157ac87fa2e5489c075225b0878d0e5b77cd00c3", + "sha256:db94074c50227c217a7669b9efad372d11bb354de4985cffcc7295aa2af80919" + ], + "markers": "python_version >= '3.8'", + "version": "==2.7.5" + }, + "lxml": { + "hashes": [ + "sha256:058027e261afed589eddcfe530fcc6f3402d7fd7e89bfd0532df82ebc1563dba", + "sha256:063eccf89df5b24e361b123e257e437f9e9878f425ee9aae3144c77faf6da6d8", + "sha256:064fdadaf7a21af3ed1dcaa106b854077fbeada827c18f72aec9346847cd65d0", + "sha256:08b9d5e803c2e4725ae9e8559ee880e5328ed61aa0935244e0515d7d9dbec0aa", + "sha256:0a3c150a95fbe5ac91de323aa756219ef9cf7fde5a3f00e2281e30f33fa5fa4f", + "sha256:0aa7070978f893954008ab73bb9e3c24a7c56c054e00566a21b553dc18105fca", + "sha256:13dcecc9946dca97b11b7c40d29fba63b55ab4170d3c0cf8c0c164343b9bfdcf", + "sha256:13e35cbc684aadf05d8711a5d1b5857c92e5e580efa9a0d2be197199c8def607", + "sha256:17f68764f35fd78d7c4cc4ef209a184c38b65440378013d24b8aecd327c3e0c8", + "sha256:1941354d92699fb5ffe6ed7b32f9649e43c2feb4b97205f75866f7d21aa91452", + "sha256:1c06035eafa8404b5cf475bb37a9f6088b0aca288d4ccc9d69389750d5543700", + "sha256:1db01e5cf14345628e0cbe71067204db658e2fb8e51e7f33631f5f4735fefd8d", + "sha256:1e786a464c191ca43b133906c6903a7e4d56bef376b75d97ccbb8ec5cf1f0a4b", + "sha256:1ea99340b3c729beea786f78c38f60f4795622f36e305d9c9be402201efdc3b7", + "sha256:200069a593c5e40b8f6fc0d84d86d970ba43138c3e68619ffa234bc9bb806a4d", + "sha256:2047d8234fe735ab77802ce5f2297e410ff40f5238aec569ad7c8e163d7b19a6", + "sha256:21c73b476d3cfe836be731225ec3421fa2f048d84f6df6a8e70433dff1376d5a", + "sha256:24a8e756c982c001ca8d59e87c80c4d9dcd4d9b44a4cbeb8d9be4482c514d41d", + "sha256:252a22982dca42f6155125ac76d3432e548a7625d56f5a273ee78a5057216eca", + "sha256:2593c77efde7bfea7f6389f1ab249b15ed4aa5bc5cb5131faa3b843c429fbedb", + "sha256:25fcc59afc57d527cfc78a58f40ab4c9b8fd096a9a3f964d2781ffb6eb33f4ed", + "sha256:2613e67de13d619fd283d58bda40bff0ee07739f624ffee8b13b631abf33083d", + "sha256:27220da5be049e936c3aca06f174e8827ca6445a4353a1995584311487fc4e3e", + "sha256:2c8458c2cdd29589a8367c09c8f030f1d202be673f0ca224ec18590b3b9fb694", + "sha256:2ca59e7e13e5981175b8b3e4ab84d7da57993eeff53c07764dcebda0d0e64ecd", + "sha256:2cbcbf6d6e924c28f04a43f3b6f6e272312a090f269eff68a2982e13e5d57659", + "sha256:2ed6c667fcbb8c19c6791bbf40b7268ef8ddf5a96940ba9404b9f9a304832f6c", + "sha256:358d9adae670b63e95bc59747c72f4dc97c9ec58881d4627fe0120da0f90d314", + "sha256:370cd78d5855cfbffd57c422851f7d3864e6ae72d0da615fca4dad8c45d375a5", + "sha256:3ae2ce7d6fedfb3414a2b6c5e20b249c4c607f72cb8d2bb7cc9c6ec7c6f4e849", + "sha256:3b1675e096e17c6fe9c0e8c81434f5736c0739ff9ac6123c87c2d452f48fc938", + "sha256:3e3cb08855967a20f553ff32d147e14329b3ae70ced6edc2f282b94afbc74b2a", + "sha256:3efe1b21c7801ffa29a1112fab3b0f643628c30472d507f39544fd48e9549e34", + "sha256:3fee0851639d06276e6b387f1c190eb9d7f06f7f53514e966b26bae46481ec90", + "sha256:4077b7c79f31755df33b795dc12119cb557a0106bfdab0d2c2d97bd3cf3dffa6", + "sha256:414aaa94e974e23a3e92e7ca5b97d10c0cf37b6481f50911032c69eeb3991bba", + "sha256:4197fb2534ee05fd3e7afaab5d8bfd6c2e186f65ea7f9cd6a82809c887bd1285", + "sha256:442de7530296ef5e188373a1ea5789a46ce90c4847e597856570439621d9c553", + "sha256:4468e3b83e10e0317a89a33d28f7aeba1caa4d1a6fd457d115dd4ffe90c5931d", + "sha256:452b899faa64f1805943ec1c0c9ebeaece01a1af83e130b69cdefeda180bb42c", + "sha256:45f93e6f75123f88d7f0cfd90f2d05f441b808562bf0bc01070a00f53f5028b5", + "sha256:48461bd21625458dd01e14e2c38dd0aea69addc3c4f960c30d9f59d7f93be601", + "sha256:4ddb1049fa0579d0cbd00503ad8c58b9ab34d1254c77bc6a5576d96ec7853dba", + "sha256:5179c60288204e6ddde3f774a93350177e08876eaf3ab78aa3a3649d43eb7d37", + "sha256:57a86e1ebb4020a38d295c04fc79603c7899e0df71588043eb218722dabc087f", + "sha256:5921d924aa5468c939d95c9814fa9f9b5935a6ff4e679e26aaf2951f74043512", + "sha256:59c45e125140b2c4b33920d21d83681940ca29f0b83f8629ea1a2196dc8cfe6a", + "sha256:5aa0fc67ae19d7a64c3fe725dc9a1bb11f80e01f78289d05c6f62545affec438", + "sha256:5d444858b9f07cefff6455b983aea9a67f7462ba1f6cbe4a21e8bf6791bf2153", + "sha256:60fa43be34f78bebb27812ed90f1925ec99560b0fa1decdb7d12b84d857d31e9", + "sha256:6162a86d86893d63084faaf4ff937b3daea233e3682fb4474db07395794fa80d", + "sha256:61cb10eeb95570153e0c0e554f58df92ecf5109f75eacad4a95baa709e26c3d6", + "sha256:65ac4a01aba353cfa6d5725b95d7aed6356ddc0a3cd734de00124d285b04b64f", + "sha256:65ea18d710fd14e0186c2f973dc60bb52039a275f82d3c44a0e42b43440ea534", + "sha256:6605c604e6daa9e0d7f0a2137bdc47a2e93b59c60a65466353e37f8272f47c46", + "sha256:66328dabea70b5ba7e53d94aa774b733cf66686535f3bc9250a7aab53a91caaf", + "sha256:6c8963287d7a4c5c9a432ff487c52e9c5618667179c18a204bdedb27310f022f", + "sha256:6cdaefac66e8b8f30e37a9b4768a391e1f8a16a7526d5bc77a7928408ef68e93", + "sha256:6da5185951d72e6f5352166e3da7b0dc27aa70bd1090b0eb3f7f7212b53f1bb8", + "sha256:6ddff43f702905a4e32bc24f3f2e2edfe0f8fde3277d481bffb709a4cced7a1f", + "sha256:6ec0e3f745021bfed19c456647f0298d60a24c9ff86d9d051f52b509663feeb1", + "sha256:6f91fd2b2ea15a6800c8e24418c0775a1694eefc011392da73bc6cef2623b322", + "sha256:700efd30c0fa1a3581d80a748157397559396090a51d306ea59a70020223d16f", + "sha256:71695772df6acea9f3c0e59e44ba8ac50c4f125217e84aab21074a1a55e7e5c9", + "sha256:72c87e5ee4e58a8354fb9c7c84cbf95a1c8236c127a5d1b7683f04bed8361e1f", + "sha256:7d2de809c2ee3b888b59f995625385f74629707c9355e0ff856445cdcae682b7", + "sha256:80dadc234ebc532e09be1975ff538d154a7fa61ea5031c03d25178855544728f", + "sha256:817ef43a0c0b4a77bd166dc9a09a555394105ff3374777ad41f453526e37f9cb", + "sha256:846ae9a12d54e368933b9759052d6206a9e8b250291109c48e350c1f1f49d916", + "sha256:875c6b5ab39ad5291588aed6925fac99d0097af0dd62f33c7b43736043d4a2ec", + "sha256:8799481bbdd212470d17513a54d568f44416db01250f49449647b5ab5b5dccb9", + "sha256:8ac6e5811ae2870953390452e3476694196f98d447573234592d30488147404d", + "sha256:8f8d0cbd0674ee89863a523e6994ac25fd5be9c8486acfc3e5ccea679bad2679", + "sha256:901e3b4219fa04ef766885fb40fa516a71662a4c61b80c94d25336b4934b71c0", + "sha256:90a345bbeaf9d0587a3aaffb7006aa39ccb6ff0e96a57286c0cb2fd1520ea192", + "sha256:9261bb77c2dab42f3ecd9103951aeca2c40277701eb7e912c545c1b16e0e4917", + "sha256:945da35a48d193d27c188037a05fec5492937f66fb1958c24fc761fb9d40d43c", + "sha256:957448ac63a42e2e49531b9d6c0fa449a1970dbc32467aaad46f11545be9af1d", + "sha256:967aab75434de148ec80597b75062d8123cadf2943fb4281f385141e18b21338", + "sha256:98a5e1660dc7de2200b00d53fa00bcd3c35a3608c305d45a7bbcaf29fa16e83d", + "sha256:995e783eb0374c120f528f807443ad5a83a656a8624c467ea73781fc5f8a8304", + "sha256:9b33d21594afab46f37ae58dfadd06636f154923c4e8a4d754b0127554eb2e77", + "sha256:a4bf42d2e4cf52c28cc1812d62426b9503cdb0c87a6de81442626aa7d69707ba", + "sha256:a59f5448ba2ceccd06995c95ea59a7674a10de0810f2ce90c9006f3cbc044456", + "sha256:a656ca105115f6b766bba324f23a67914d9c728dafec57638e2b92a9dcd76c62", + "sha256:a6b5b39cc7e2998f968f05309e666103b53e2edd01df8dc51b90d734c0825444", + "sha256:a7c5d5e5f1081955358533be077166ee97ed2571d6a66bdba6ec2f609a715d1a", + "sha256:a8bef9b9825fa8bc816a6e641bb67219489229ebc648be422af695f6e7a4fa7f", + "sha256:a8ffaeec5dfea5881d4c9d8913a32d10cfe3923495386106e4a24d45300ef79c", + "sha256:abd44571493973bad4598a3be7e1d807ed45aa2adaf7ab92ab7c62609569b17d", + "sha256:ac02dc29fd397608f8eb15ac1610ae2f2f0154b03f631e6d724d9e2ad4ee2c84", + "sha256:af85529ae8d2a453feee4c780d9406a5e3b17cee0dd75c18bd31adcd584debc3", + "sha256:b0c732aa23de8f8aec23f4b580d1e52905ef468afb4abeafd3fec77042abb6fe", + "sha256:b2142a376b40b6736dfc214fd2902409e9e3857eff554fed2d3c60f097e62a62", + "sha256:b22a07cbb82fea98f8a2fd814f3d1811ff9ed76d0fc6abc84eb21527596e7cc8", + "sha256:b2c3da8d93cf5db60e8858c17684c47d01fee6405e554fb55018dd85fc23b178", + "sha256:b2c7fdaa4d7c3d886a42534adec7cfac73860b89b4e5298752f60aa5984641a0", + "sha256:b30d46379644fbfc3ab81f8f82ae4de55179414651f110a1514f0b1f8f6cb2d7", + "sha256:b42f4d86b451c2f9d06ffb4f8bbc776e04df3ba070b9fe2657804b1b40277c48", + "sha256:b738f7e648735714bbb82bdfd030203360cfeab7f6e8a34772b3c8c8b820568c", + "sha256:b7fc49c37f1786284b12af63152fe1d0990722497e2d5817acfe7a877522f9a9", + "sha256:b8f18914faec94132e5b91e69d76a5c1d7b0c73e2489ea8929c4aaa10b76bbf7", + "sha256:bb2f6ca0ae2d983ded09357b84af659c954722bbf04dea98030064996d156048", + "sha256:bb4c1847b303835d89d785a18801a883436cdfd5dc3d62947f9c49e24f0f5a2c", + "sha256:bc456d04db0515ce3320d714a1eac7a97774ff0849e7718b492d957da4631dd4", + "sha256:bc532422ff26b304cfb62b328826bd995c96154ffd2bac4544f37dbb95ecaa8f", + "sha256:be3aaa60da67e6153eb15715cc2e19091af5dc75faef8b8a585aea372507384b", + "sha256:c33e66d44fe60e72397b487ee92e01da0d09ba2d66df8eae42d77b6d06e5eba0", + "sha256:c371aa98126a0d4c739ca93ceffa0fd7a5d732e3ac66a46e74339acd4d334564", + "sha256:c54d83a2188a10ebdba573f16bd97135d06c9ef60c3dc495315c7a28c80a263f", + "sha256:c7d13103045de1bdd6fe5d61802565f1a3537d70cd3abf596aa0af62761921ee", + "sha256:cb233f9c95f83707dae461b12b720c1af9c28c2d19208e1be03387222151daf5", + "sha256:cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62", + "sha256:cdcbed9ad19da81c480dfd6dd161886db6096083c9938ead313d94b30aadf272", + "sha256:d100fcc8930d697c6561156c6810ab4a508fb264c8b6779e6e61e2ed5e7558f9", + "sha256:d4aec24d6b72ee457ec665344a29acb2d35937d5192faebe429ea02633151aad", + "sha256:d6690ec5ec1cce0385cb20896b16be35247ac8c2046e493d03232f1c2414d321", + "sha256:d759cdd7f3e055d6bc8d9bec3ad905227b2e4c785dc16c372eb5b5e83123f48a", + "sha256:da08e7bb297b04e893d91087df19638dc7a6bb858a954b0cc2b9f5053c922312", + "sha256:dacf3c64ef3f7440e3167aa4b49aa9e0fb99e0aa4f9ff03795640bf94531bcb0", + "sha256:daf42de090d59db025af61ce6bdb2521f0f102ea0e6ea310f13c17610a97da4c", + "sha256:dc051506c30b609238d79eda75ee9cab3e520570ec8219844a72a46020901e37", + "sha256:de496365750cc472b4e7902a485d3f152ecf57bd3ba03ddd5578ed8ceb4c5964", + "sha256:dfb874cfa53340009af6bdd7e54ebc0d21012a60a4e65d927c2e477112e63484", + "sha256:e19e0643cc936a22e837f79d01a550678da8377d7d801a14487c10c34ee49c7e", + "sha256:e237b807d68a61fc3b1e845407e27e5eb8ef69bc93fe8505337c1acb4ee300b6", + "sha256:e5867f2651016a3afd8dd2c8238baa66f1e2802f44bc17e236f547ace6647078", + "sha256:e748d4cf8fef2526bb2a589a417eba0c8674e29ffcb570ce2ceca44f1e567bf6", + "sha256:e77dd455b9a16bbd2a5036a63ddbd479c19572af81b624e79ef422f929eef388", + "sha256:e8113639f3296706fbac34a30813929e29247718e88173ad849f57ca59754924", + "sha256:e8cd2415f372e7e5a789d743d133ae474290a90b9023197fd78f32e2dc6873e2", + "sha256:eb2a12d704f180a902d7fa778c6d71f36ceb7b0d317f34cdc76a5d05aa1dd1df", + "sha256:ef9266d2aa545d7374938fb5c484531ef5a2ec7f2d573e62f8ce722c735685fd", + "sha256:f2a50c3c1d11cad0ebebbac357a97b26aa79d2bcaf46f256551152aa85d3a4d1", + "sha256:f2e3b1a6bb38de0bc713edd4d612969dd250ca8b724be8d460001a387507021c", + "sha256:f952dacaa552f3bb8834908dddd500ba7d508e6ea6eb8c52eb2d28f48ca06a31", + "sha256:fa25afbadead523f7001caf0c2382afd272c315a033a7b06336da2637d92d6ed", + "sha256:fb8dae0b6b8b7f9e96c26fdd8121522ce5de9bb5538010870bd538683d30e9a2", + "sha256:fbc74f42c3525ac4ffa4b89cbdd00057b6196bcefe8bce794abd42d33a018092", + "sha256:fe659f6b5d10fb5a17f00a50eb903eb277a71ee35df4615db573c069bcf967ac" + ], + "markers": "python_version >= '3.8'", + "version": "==6.0.2" + }, "markdown-it-py": { "hashes": [ "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", @@ -363,6 +652,29 @@ "markers": "python_version >= '3.7'", "version": "==0.1.2" }, + "napalm": { + "hashes": [ + "sha256:626736ccb185676a02390a8d11798f3ad46b62b0e3160874fee5dbff6901261c", + "sha256:a9f898f38d4af00f3e7c5b3ad291f49773fc0229be0e83967a34f29cab2d50f4" + ], + "index": "pypi", + "version": "==5.1.0" + }, + "ncclient": { + "hashes": [ + "sha256:318e8e3e72b1d2a766f3665cabef33436fd25b607da5f15657a199c648a68435" + ], + "markers": "python_version >= '3.5'", + "version": "==0.7.0" + }, + "netaddr": { + "hashes": [ + "sha256:5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a", + "sha256:c2c6a8ebe5554ce33b7d5b3a306b71bbb373e000bbbf2350dd5213cc56e3dbbe" + ], + "markers": "python_version >= '3.7'", + "version": "==1.3.0" + }, "netmiko": { "hashes": [ "sha256:0c9b7309005d2c8a010b275f3494628cadb1658a8841632131c848074b7cdadb", @@ -372,6 +684,14 @@ "markers": "python_version >= '3.9' and python_version < '4.0'", "version": "==4.6.0" }, + "netutils": { + "hashes": [ + "sha256:67a932a77067cbe18b65e7a9f3a3e85c4bff3e4c2c3abbe0286967ba87064793", + "sha256:c42886d456f9b21bee395628b100dc2cd4b68fcc223f33c669672c3468d6b4dc" + ], + "markers": "python_version >= '3.8' and python_version < '4.0'", + "version": "==1.15.1" + }, "ntc-templates": { "hashes": [ "sha256:6cea8fdb17e8c72bd7a89bf21a94c184f241ce33c34b074570059d710318acaf", @@ -396,6 +716,12 @@ "markers": "implementation_name != 'PyPy'", "version": "==2.23" }, + "pyeapi": { + "hashes": [ + "sha256:05920677246823cd3dddf7d4d0f831fbc86fd416f356706a03bc56a291d78f3d" + ], + "version": "==1.0.4" + }, "pygments": { "hashes": [ "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", @@ -437,6 +763,14 @@ "markers": "python_version >= '3.8'", "version": "==1.6.1" }, + "pyparsing": { + "hashes": [ + "sha256:2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6", + "sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e" + ], + "markers": "python_version >= '3.9'", + "version": "==3.2.5" + }, "pyserial": { "hashes": [ "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb", @@ -523,6 +857,14 @@ "markers": "python_version >= '3.8'", "version": "==6.0.3" }, + "requests": { + "hashes": [ + "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", + "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" + ], + "markers": "python_version >= '3.9'", + "version": "==2.32.5" + }, "rich": { "hashes": [ "sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4", @@ -607,12 +949,74 @@ ], "version": "==0.15.0" }, + "setuptools": { + "hashes": [ + "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", + "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c" + ], + "markers": "python_version >= '3.9'", + "version": "==80.9.0" + }, + "six": { + "hashes": [ + "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", + "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.17.0" + }, "textfsm": { "hashes": [ "sha256:45c18ff2b7c90163dfdff7e20d3f482514cc7aac26bc2547744e79dfa761e458", "sha256:55886490474890fa09ade0e8c9555a913fd325724842293364dc44ea705b3616" ], "version": "==2.1.0" + }, + "transitions": { + "hashes": [ + "sha256:02463248f2b668d86f66636b1e3c9e8de84d93e22915247f4e1aa9ee1cae28aa", + "sha256:881fb75bb1654ed55d86060bb067f2c716f8e155f57bb73fd444e53713aafec8" + ], + "version": "==0.9.3" + }, + "ttp": { + "hashes": [ + "sha256:40f1ca61ee1431f5b1ab5326fb55f852a04749e9574792d45455b62c5e7ac97b", + "sha256:9985e0ca414e85d41493a6291a924624b9a08c48c78d2d01477cc60ba2a347c1" + ], + "markers": "python_version >= '3.9' and python_version < '4.0'", + "version": "==0.10.0" + }, + "ttp-templates": { + "hashes": [ + "sha256:2328304fb4c957ee60db6f301143e8a4556b22a12b3e2f30511e8ef97fc78f7e", + "sha256:f9103041a3683a0cb3811609ad990f679beadfc9a92c3e3fa05d6037414ad2bf" + ], + "markers": "python_version >= '3.6' and python_version < '4.0'", + "version": "==0.3.7" + }, + "typing-extensions": { + "hashes": [ + "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", + "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548" + ], + "markers": "python_version >= '3.9'", + "version": "==4.15.0" + }, + "urllib3": { + "hashes": [ + "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", + "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc" + ], + "markers": "python_version >= '3.9'", + "version": "==2.5.0" + }, + "yamlordereddictloader": { + "hashes": [ + "sha256:36af2f6210fcff5da4fc4c12e1d815f973dceb41044e795e1f06115d634bca13", + "sha256:dc048adb67026786cd24119bd71241f35bc8b0fd37d24b415c37bbc8049f9cd7" + ], + "version": "==0.4.2" } }, "develop": {} diff --git a/TP-02/backup/ESW2.bak b/TP-02/backup/ESW2.bak new file mode 100644 index 0000000..bedf5fa --- /dev/null +++ b/TP-02/backup/ESW2.bak @@ -0,0 +1 @@ +{'startup': 'Using 3329 out of 57336 bytes\n!\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\nno service dhcp\n!\nhostname ESW2\n!\nboot-start-marker\nboot-end-marker\n!\n!\nno aaa new-model\nmemory-size iomem 5\nno ip routing\nno ip icmp rate-limit unreachable\nno ip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name esw2.cpe.local\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nmacro name add_vlan\nend\nvlan database\nvlan $v\nexit\n@\nmacro name del_vlan\nend\nvlan database\nno vlan $v\nexit\n@\n!\nvtp file nvram:vlan.dat\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\n!\n!\n!\n!\ninterface FastEthernet0/0\n description *** Unused for Layer2 EtherSwitch ***\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface FastEthernet0/1\n description *** Unused for Layer2 EtherSwitch ***\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface FastEthernet1/0\n description Connexion vers le routeur R2\n switchport mode trunk\n duplex full\n speed 100\n!\ninterface FastEthernet1/1\n description Connexion vers le VLAN 10\n switchport access vlan 10\n duplex full\n speed 100\n!\ninterface FastEthernet1/2\n description Connexion vers le VLAN 20\n switchport access vlan 20\n duplex full\n speed 100\n!\ninterface FastEthernet1/3\n duplex full\n speed 100\n!\ninterface FastEthernet1/4\n duplex full\n speed 100\n!\ninterface FastEthernet1/5\n duplex full\n speed 100\n!\ninterface FastEthernet1/6\n duplex full\n speed 100\n!\ninterface FastEthernet1/7\n duplex full\n speed 100\n!\ninterface FastEthernet1/8\n duplex full\n speed 100\n!\ninterface FastEthernet1/9\n duplex full\n speed 100\n!\ninterface FastEthernet1/10\n duplex full\n speed 100\n!\ninterface FastEthernet1/11\n duplex full\n speed 100\n!\ninterface FastEthernet1/12\n duplex full\n speed 100\n!\ninterface FastEthernet1/13\n duplex full\n speed 100\n!\ninterface FastEthernet1/14\n duplex full\n speed 100\n!\ninterface FastEthernet1/15\n duplex full\n speed 100\n!\ninterface FastEthernet2/0\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface Vlan1\n no ip address\n no ip route-cache\n!\ninterface Vlan99\n ip address 172.16.100.189 255.255.255.192\n!\nip forward-protocol nd\n!\n!\nno ip http server\nno ip http secure-server\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\n!\n!\nbanner exec ^C\n\n***************************************************************\nThis is a normal Router with a Switch module inside (NM-16ESW)\nIt has been pre-configured with hard-coded speed and duplex\n\nTo create vlans use the command "vlan database" in exec mode\nAfter creating all desired vlans use "exit" to apply the config\n\nTo view existing vlans use the command "show vlan-switch brief"\n\nAlias(exec) : vl - "show vlan-switch brief" command\nAlias(configure): va X - macro to add vlan X\nAlias(configure): vd X - macro to delete vlan X\n***************************************************************\n\n^C\nalias configure va macro global trace add_vlan $v\nalias configure vd macro global trace del_vlan $v\nalias exec vl show vlan-switch brief\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\nline vty 0 4\n login local\n transport input ssh\n!\n!\nend', 'running': '!\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\nno service dhcp\n!\nhostname ESW2\n!\nboot-start-marker\nboot-end-marker\n!\n!\nno aaa new-model\nmemory-size iomem 5\nno ip routing\nno ip icmp rate-limit unreachable\nno ip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name esw2.cpe.local\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nmacro name add_vlan\nend\nvlan database\nvlan $v\nexit\n@\nmacro name del_vlan\nend\nvlan database\nno vlan $v\nexit\n@\n!\nvtp file nvram:vlan.dat\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\n!\n!\n!\n!\ninterface FastEthernet0/0\n description *** Unused for Layer2 EtherSwitch ***\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface FastEthernet0/1\n description *** Unused for Layer2 EtherSwitch ***\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface FastEthernet1/0\n description Connexion vers le routeur R2\n switchport mode trunk\n duplex full\n speed 100\n!\ninterface FastEthernet1/1\n description Connexion vers le VLAN 10\n switchport access vlan 10\n duplex full\n speed 100\n!\ninterface FastEthernet1/2\n description Connexion vers le VLAN 20\n switchport access vlan 20\n duplex full\n speed 100\n!\ninterface FastEthernet1/3\n duplex full\n speed 100\n!\ninterface FastEthernet1/4\n duplex full\n speed 100\n!\ninterface FastEthernet1/5\n duplex full\n speed 100\n!\ninterface FastEthernet1/6\n duplex full\n speed 100\n!\ninterface FastEthernet1/7\n duplex full\n speed 100\n!\ninterface FastEthernet1/8\n duplex full\n speed 100\n!\ninterface FastEthernet1/9\n duplex full\n speed 100\n!\ninterface FastEthernet1/10\n duplex full\n speed 100\n!\ninterface FastEthernet1/11\n duplex full\n speed 100\n!\ninterface FastEthernet1/12\n duplex full\n speed 100\n!\ninterface FastEthernet1/13\n duplex full\n speed 100\n!\ninterface FastEthernet1/14\n duplex full\n speed 100\n!\ninterface FastEthernet1/15\n duplex full\n speed 100\n!\ninterface FastEthernet2/0\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface Vlan1\n no ip address\n no ip route-cache\n!\ninterface Vlan99\n ip address 172.16.100.189 255.255.255.192\n!\nip forward-protocol nd\n!\n!\nno ip http server\nno ip http secure-server\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\n!\n!\nbanner exec ^C\n\n***************************************************************\nThis is a normal Router with a Switch module inside (NM-16ESW)\nIt has been pre-configured with hard-coded speed and duplex\n\nTo create vlans use the command "vlan database" in exec mode\nAfter creating all desired vlans use "exit" to apply the config\n\nTo view existing vlans use the command "show vlan-switch brief"\n\nAlias(exec) : vl - "show vlan-switch brief" command\nAlias(configure): va X - macro to add vlan X\nAlias(configure): vd X - macro to delete vlan X\n***************************************************************\n\n^C\nalias configure va macro global trace add_vlan $v\nalias configure vd macro global trace del_vlan $v\nalias exec vl show vlan-switch brief\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\nline vty 0 4\n login local\n transport input ssh\n!\n!\nend', 'candidate': ''} \ No newline at end of file diff --git a/TP-02/backup/ESW3.bak b/TP-02/backup/ESW3.bak new file mode 100644 index 0000000..bfc134f --- /dev/null +++ b/TP-02/backup/ESW3.bak @@ -0,0 +1 @@ +{'startup': 'Using 3339 out of 57336 bytes\n!\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\nno service dhcp\n!\nhostname ESW3\n!\nboot-start-marker\nboot-end-marker\n!\n!\nno aaa new-model\nmemory-size iomem 5\nno ip routing\nno ip icmp rate-limit unreachable\nno ip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name esw4.cpe.local\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nmacro name add_vlan\nend\nvlan database\nvlan $v\nexit\n@\nmacro name del_vlan\nend\nvlan database\nno vlan $v\nexit\n@\n!\nvtp file nvram:vlan.dat\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\n!\n!\n!\n!\ninterface FastEthernet0/0\n description *** Unused for Layer2 EtherSwitch ***\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface FastEthernet0/1\n description *** Unused for Layer2 EtherSwitch ***\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface FastEthernet1/0\n description Connexion vers le routeur R2\n switchport mode trunk\n duplex full\n speed 100\n!\ninterface FastEthernet1/1\n description Connexion vers le VLAN 10\n switchport access vlan 10\n duplex full\n speed 100\n!\ninterface FastEthernet1/2\n description Connexion vers le VLAN 20\n switchport access vlan 20\n duplex full\n speed 100\n!\ninterface FastEthernet1/3\n duplex full\n speed 100\n!\ninterface FastEthernet1/4\n duplex full\n speed 100\n!\ninterface FastEthernet1/5\n duplex full\n speed 100\n!\ninterface FastEthernet1/6\n duplex full\n speed 100\n!\ninterface FastEthernet1/7\n duplex full\n speed 100\n!\ninterface FastEthernet1/8\n duplex full\n speed 100\n!\ninterface FastEthernet1/9\n duplex full\n speed 100\n!\ninterface FastEthernet1/10\n duplex full\n speed 100\n!\ninterface FastEthernet1/11\n duplex full\n speed 100\n!\ninterface FastEthernet1/12\n duplex full\n speed 100\n!\ninterface FastEthernet1/13\n duplex full\n speed 100\n!\ninterface FastEthernet1/14\n duplex full\n speed 100\n!\ninterface FastEthernet1/15\n duplex full\n speed 100\n!\ninterface FastEthernet2/0\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface Vlan1\n no ip address\n no ip route-cache\n shutdown\n!\ninterface Vlan99\n ip address 172.16.100.253 255.255.255.192\n!\nip forward-protocol nd\n!\n!\nno ip http server\nno ip http secure-server\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\n!\n!\nbanner exec ^C\n\n***************************************************************\nThis is a normal Router with a Switch module inside (NM-16ESW)\nIt has been pre-configured with hard-coded speed and duplex\n\nTo create vlans use the command "vlan database" in exec mode\nAfter creating all desired vlans use "exit" to apply the config\n\nTo view existing vlans use the command "show vlan-switch brief"\n\nAlias(exec) : vl - "show vlan-switch brief" command\nAlias(configure): va X - macro to add vlan X\nAlias(configure): vd X - macro to delete vlan X\n***************************************************************\n\n^C\nalias configure va macro global trace add_vlan $v\nalias configure vd macro global trace del_vlan $v\nalias exec vl show vlan-switch brief\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\nline vty 0 4\n login local\n transport input ssh\n!\n!\nend', 'running': '!\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\nno service dhcp\n!\nhostname ESW3\n!\nboot-start-marker\nboot-end-marker\n!\n!\nno aaa new-model\nmemory-size iomem 5\nno ip routing\nno ip icmp rate-limit unreachable\nno ip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name esw4.cpe.local\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nmacro name add_vlan\nend\nvlan database\nvlan $v\nexit\n@\nmacro name del_vlan\nend\nvlan database\nno vlan $v\nexit\n@\n!\nvtp file nvram:vlan.dat\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\n!\n!\n!\n!\ninterface FastEthernet0/0\n description *** Unused for Layer2 EtherSwitch ***\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface FastEthernet0/1\n description *** Unused for Layer2 EtherSwitch ***\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface FastEthernet1/0\n description Connexion vers le routeur R2\n switchport mode trunk\n duplex full\n speed 100\n!\ninterface FastEthernet1/1\n description Connexion vers le VLAN 10\n switchport access vlan 10\n duplex full\n speed 100\n!\ninterface FastEthernet1/2\n description Connexion vers le VLAN 20\n switchport access vlan 20\n duplex full\n speed 100\n!\ninterface FastEthernet1/3\n duplex full\n speed 100\n!\ninterface FastEthernet1/4\n duplex full\n speed 100\n!\ninterface FastEthernet1/5\n duplex full\n speed 100\n!\ninterface FastEthernet1/6\n duplex full\n speed 100\n!\ninterface FastEthernet1/7\n duplex full\n speed 100\n!\ninterface FastEthernet1/8\n duplex full\n speed 100\n!\ninterface FastEthernet1/9\n duplex full\n speed 100\n!\ninterface FastEthernet1/10\n duplex full\n speed 100\n!\ninterface FastEthernet1/11\n duplex full\n speed 100\n!\ninterface FastEthernet1/12\n duplex full\n speed 100\n!\ninterface FastEthernet1/13\n duplex full\n speed 100\n!\ninterface FastEthernet1/14\n duplex full\n speed 100\n!\ninterface FastEthernet1/15\n duplex full\n speed 100\n!\ninterface FastEthernet2/0\n no ip address\n no ip route-cache\n shutdown\n duplex auto\n speed auto\n!\ninterface Vlan1\n no ip address\n no ip route-cache\n shutdown\n!\ninterface Vlan99\n ip address 172.16.100.253 255.255.255.192\n!\nip forward-protocol nd\n!\n!\nno ip http server\nno ip http secure-server\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\n!\n!\nbanner exec ^C\n\n***************************************************************\nThis is a normal Router with a Switch module inside (NM-16ESW)\nIt has been pre-configured with hard-coded speed and duplex\n\nTo create vlans use the command "vlan database" in exec mode\nAfter creating all desired vlans use "exit" to apply the config\n\nTo view existing vlans use the command "show vlan-switch brief"\n\nAlias(exec) : vl - "show vlan-switch brief" command\nAlias(configure): va X - macro to add vlan X\nAlias(configure): vd X - macro to delete vlan X\n***************************************************************\n\n^C\nalias configure va macro global trace add_vlan $v\nalias configure vd macro global trace del_vlan $v\nalias exec vl show vlan-switch brief\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\nline vty 0 4\n login local\n transport input ssh\n!\n!\nend', 'candidate': ''} \ No newline at end of file diff --git a/TP-02/backup/R01.bak b/TP-02/backup/R01.bak new file mode 100644 index 0000000..1641f94 --- /dev/null +++ b/TP-02/backup/R01.bak @@ -0,0 +1 @@ +{'startup': 'Using 2475 out of 522232 bytes\n!\nupgrade fpd auto\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\n!\nhostname R1\n!\nboot-start-marker\nboot-end-marker\n!\nlogging message-counter syslog\n!\nno aaa new-model\nip source-route\nno ip icmp rate-limit unreachable\nip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name cpe.local\nno ipv6 cef\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nfile prompt quiet\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\nip scp server enable\n!\n!\n!\n!\ninterface Loopback1\n description "interface loopback 1"\n ip address 192.168.1.1 255.255.255.255\n!\ninterface Loopback2\n description "interface loopback 2"\n ip address 192.168.2.1 255.255.255.255\n!\ninterface Ethernet0/0\n no ip address\n shutdown\n duplex auto\n!\ninterface GigabitEthernet0/0\n description "test"\n no ip address\n duplex full\n speed 1000\n media-type gbic\n negotiation auto\n!\ninterface GigabitEthernet0/0.10\n encapsulation dot1Q 10\n ip address 172.16.10.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.20\n encapsulation dot1Q 20\n ip address 172.16.20.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.99\n description \'sub-interface for admin vlan access - set by paramiko\'\n encapsulation dot1Q 99\n ip address 172.16.100.126 255.255.255.192\n!\ninterface Serial1/0\n ip address 10.1.1.1 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/1\n ip address 10.1.3.1 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/2\n no ip address\n shutdown\n serial restart-delay 0\n!\ninterface Serial1/3\n no ip address\n shutdown\n serial restart-delay 0\n!\ninterface GigabitEthernet2/0\n ip address 172.16.100.62 255.255.255.192\n negotiation auto\n!\nrouter ospf 1\n router-id 1.1.1.1\n log-adjacency-changes\n network 10.1.1.0 0.0.0.3 area 0\n network 10.1.3.0 0.0.0.3 area 0\n network 172.16.10.0 0.0.0.255 area 0\n network 172.16.20.0 0.0.0.255 area 0\n network 172.16.100.0 0.0.0.63 area 0\n!\nip forward-protocol nd\nip route 172.16.100.128 255.255.255.192 Serial1/0\nip route 172.16.100.192 255.255.255.192 Serial1/1\nno ip http server\nno ip http secure-server\n!\n!\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\ngatekeeper\n shutdown\n!\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline vty 0 4\n login local\n transport input ssh\n!\nend', 'running': '!\nupgrade fpd auto\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\n!\nhostname R1\n!\nboot-start-marker\nboot-end-marker\n!\nlogging message-counter syslog\n!\nno aaa new-model\nip source-route\nno ip icmp rate-limit unreachable\nip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name cpe.local\nno ipv6 cef\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\nip scp server enable\n!\n!\n!\n!\ninterface Loopback1\n description "interface loopback 1"\n ip address 192.168.1.1 255.255.255.255\n!\ninterface Loopback2\n description "interface loopback 2"\n ip address 192.168.2.1 255.255.255.255\n!\ninterface Ethernet0/0\n no ip address\n shutdown\n duplex auto\n!\ninterface GigabitEthernet0/0\n description "test"\n no ip address\n duplex full\n speed 1000\n media-type gbic\n negotiation auto\n!\ninterface GigabitEthernet0/0.10\n encapsulation dot1Q 10\n ip address 172.16.10.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.20\n encapsulation dot1Q 20\n ip address 172.16.20.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.99\n description \'sub-interface for admin vlan access - set by paramiko\'\n encapsulation dot1Q 99\n ip address 172.16.100.126 255.255.255.192\n!\ninterface Serial1/0\n ip address 10.1.1.1 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/1\n ip address 10.1.3.1 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/2\n no ip address\n shutdown\n serial restart-delay 0\n!\ninterface Serial1/3\n no ip address\n shutdown\n serial restart-delay 0\n!\ninterface GigabitEthernet2/0\n ip address 172.16.100.62 255.255.255.192\n negotiation auto\n!\nrouter ospf 1\n router-id 1.1.1.1\n log-adjacency-changes\n network 10.1.1.0 0.0.0.3 area 0\n network 10.1.3.0 0.0.0.3 area 0\n network 172.16.10.0 0.0.0.255 area 0\n network 172.16.20.0 0.0.0.255 area 0\n network 172.16.100.0 0.0.0.63 area 0\n!\nip forward-protocol nd\nip route 172.16.100.128 255.255.255.192 Serial1/0\nip route 172.16.100.192 255.255.255.192 Serial1/1\nno ip http server\nno ip http secure-server\n!\n!\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\ngatekeeper\n shutdown\n!\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline vty 0 4\n login local\n transport input ssh\n!\nend', 'candidate': ''} \ No newline at end of file diff --git a/TP-02/backup/R02.bak b/TP-02/backup/R02.bak new file mode 100644 index 0000000..2fa848f --- /dev/null +++ b/TP-02/backup/R02.bak @@ -0,0 +1 @@ +{'startup': "Using 2351 out of 522232 bytes\n!\nupgrade fpd auto\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\n!\nhostname R2\n!\nboot-start-marker\nboot-end-marker\n!\nlogging message-counter syslog\n!\nno aaa new-model\nip source-route\nno ip icmp rate-limit unreachable\nip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name r2.cpe.local\nno ipv6 cef\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nfile prompt quiet\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\nip scp server enable\n!\n!\n!\n!\ninterface Ethernet0/0\n no ip address\n shutdown\n duplex auto\n!\ninterface GigabitEthernet0/0\n no ip address\n duplex full\n speed 1000\n media-type gbic\n negotiation auto\n!\ninterface GigabitEthernet0/0.10\n description Gateway pour le reseau 172.16.30.0/24\n encapsulation dot1Q 10\n ip address 172.16.30.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.20\n description Gateway pour le reseau 172.16.40.0/24\n encapsulation dot1Q 20\n ip address 172.16.40.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.99\n description 'sub-interface for admin vlan access - set by paramiko'\n encapsulation dot1Q 99\n ip address 172.16.100.190 255.255.255.192\n!\ninterface Serial1/0\n ip address 10.1.1.2 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/1\n ip address 192.168.1.2 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/2\n description Lien vers R3\n ip address 10.1.2.2 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/3\n no ip address\n shutdown\n serial restart-delay 0\n!\nrouter ospf 1\n router-id 2.2.2.2\n log-adjacency-changes\n network 10.1.1.0 0.0.0.3 area 0\n network 10.1.2.0 0.0.0.3 area 0\n network 172.16.30.0 0.0.0.255 area 0\n network 172.16.40.0 0.0.0.255 area 0\n network 172.16.100.64 0.0.0.63 area 0\n!\nip forward-protocol nd\nip route 172.16.50.0 255.255.255.0 10.1.2.1\nip route 172.16.60.0 255.255.255.0 10.1.2.1\nip route 172.16.100.0 255.255.255.192 Serial1/0\nno ip http server\nno ip http secure-server\n!\n!\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\ngatekeeper\n shutdown\n!\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline vty 0 4\n login local\n transport input ssh\n!\nend", 'running': "!\nupgrade fpd auto\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\n!\nhostname R2\n!\nboot-start-marker\nboot-end-marker\n!\nlogging message-counter syslog\n!\nno aaa new-model\nip source-route\nno ip icmp rate-limit unreachable\nip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name r2.cpe.local\nno ipv6 cef\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\nip scp server enable\n!\n!\n!\n!\ninterface Ethernet0/0\n no ip address\n shutdown\n duplex auto\n!\ninterface GigabitEthernet0/0\n no ip address\n duplex full\n speed 1000\n media-type gbic\n negotiation auto\n!\ninterface GigabitEthernet0/0.10\n description Gateway pour le reseau 172.16.30.0/24\n encapsulation dot1Q 10\n ip address 172.16.30.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.20\n description Gateway pour le reseau 172.16.40.0/24\n encapsulation dot1Q 20\n ip address 172.16.40.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.99\n description 'sub-interface for admin vlan access - set by paramiko'\n encapsulation dot1Q 99\n ip address 172.16.100.190 255.255.255.192\n!\ninterface Serial1/0\n ip address 10.1.1.2 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/1\n ip address 192.168.1.2 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/2\n description Lien vers R3\n ip address 10.1.2.2 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/3\n no ip address\n shutdown\n serial restart-delay 0\n!\nrouter ospf 1\n router-id 2.2.2.2\n log-adjacency-changes\n network 10.1.1.0 0.0.0.3 area 0\n network 10.1.2.0 0.0.0.3 area 0\n network 172.16.30.0 0.0.0.255 area 0\n network 172.16.40.0 0.0.0.255 area 0\n network 172.16.100.64 0.0.0.63 area 0\n!\nip forward-protocol nd\nip route 172.16.50.0 255.255.255.0 10.1.2.1\nip route 172.16.60.0 255.255.255.0 10.1.2.1\nip route 172.16.100.0 255.255.255.192 Serial1/0\nno ip http server\nno ip http secure-server\n!\n!\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\ngatekeeper\n shutdown\n!\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline vty 0 4\n login local\n transport input ssh\n!\nend", 'candidate': ''} \ No newline at end of file diff --git a/TP-02/backup/R03.bak b/TP-02/backup/R03.bak new file mode 100644 index 0000000..ce309a8 --- /dev/null +++ b/TP-02/backup/R03.bak @@ -0,0 +1 @@ +{'startup': "Using 2337 out of 522232 bytes\n!\nupgrade fpd auto\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\n!\nhostname R3\n!\nboot-start-marker\nboot-end-marker\n!\nlogging message-counter syslog\n!\nno aaa new-model\nip source-route\nno ip icmp rate-limit unreachable\nip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name r3.cpe.local\nno ipv6 cef\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nfile prompt quiet\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\nip scp server enable\n!\n!\n!\n!\ninterface Ethernet0/0\n no ip address\n shutdown\n duplex auto\n!\ninterface GigabitEthernet0/0\n no ip address\n duplex full\n speed 1000\n media-type gbic\n negotiation auto\n!\ninterface GigabitEthernet0/0.10\n description Gateway pour le reseau 172.16.50.0/24\n encapsulation dot1Q 10\n ip address 172.16.50.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.20\n description Gateway pour le reseau 172.16.60.0/24\n encapsulation dot1Q 20\n ip address 172.16.60.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.99\n description 'sub-interface for admin vlan access - set by paramiko'\n encapsulation dot1Q 99\n ip address 172.16.100.254 255.255.255.192\n!\ninterface Serial1/0\n no ip address\n shutdown\n serial restart-delay 0\n!\ninterface Serial1/1\n ip address 10.1.3.2 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/2\n description Lien vers R2\n ip address 10.1.2.1 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/3\n no ip address\n shutdown\n serial restart-delay 0\n!\nrouter ospf 1\n router-id 3.3.3.3\n log-adjacency-changes\n network 10.1.2.0 0.0.0.3 area 0\n network 10.1.3.0 0.0.0.3 area 0\n network 172.16.50.0 0.0.0.255 area 0\n network 172.16.60.0 0.0.0.255 area 0\n network 172.16.100.192 0.0.0.63 area 0\n!\nip forward-protocol nd\nip route 172.16.30.0 255.255.255.0 10.1.2.2\nip route 172.16.40.0 255.255.255.0 10.1.2.2\nip route 172.16.100.0 255.255.255.192 Serial1/1\nno ip http server\nno ip http secure-server\n!\n!\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\ngatekeeper\n shutdown\n!\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline vty 0 4\n login local\n transport input ssh\n!\nend", 'running': "!\nupgrade fpd auto\nversion 12.4\nservice timestamps debug datetime msec\nservice timestamps log datetime msec\nno service password-encryption\n!\nhostname R3\n!\nboot-start-marker\nboot-end-marker\n!\nlogging message-counter syslog\n!\nno aaa new-model\nip source-route\nno ip icmp rate-limit unreachable\nip cef\n!\n!\n!\n!\nno ip domain lookup\nip domain name r3.cpe.local\nno ipv6 cef\n!\nmultilink bundle-name authenticated\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\n!\nusername cisco privilege 15 password 0 cisco\narchive\n log config\n hidekeys\n! \n!\n!\n!\n!\nip tcp synwait-time 5\nip ssh version 2\nip scp server enable\n!\n!\n!\n!\ninterface Ethernet0/0\n no ip address\n shutdown\n duplex auto\n!\ninterface GigabitEthernet0/0\n no ip address\n duplex full\n speed 1000\n media-type gbic\n negotiation auto\n!\ninterface GigabitEthernet0/0.10\n description Gateway pour le reseau 172.16.50.0/24\n encapsulation dot1Q 10\n ip address 172.16.50.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.20\n description Gateway pour le reseau 172.16.60.0/24\n encapsulation dot1Q 20\n ip address 172.16.60.254 255.255.255.0\n!\ninterface GigabitEthernet0/0.99\n description 'sub-interface for admin vlan access - set by paramiko'\n encapsulation dot1Q 99\n ip address 172.16.100.254 255.255.255.192\n!\ninterface Serial1/0\n no ip address\n shutdown\n serial restart-delay 0\n!\ninterface Serial1/1\n ip address 10.1.3.2 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/2\n description Lien vers R2\n ip address 10.1.2.1 255.255.255.252\n serial restart-delay 0\n!\ninterface Serial1/3\n no ip address\n shutdown\n serial restart-delay 0\n!\nrouter ospf 1\n router-id 3.3.3.3\n log-adjacency-changes\n network 10.1.2.0 0.0.0.3 area 0\n network 10.1.3.0 0.0.0.3 area 0\n network 172.16.50.0 0.0.0.255 area 0\n network 172.16.60.0 0.0.0.255 area 0\n network 172.16.100.192 0.0.0.63 area 0\n!\nip forward-protocol nd\nip route 172.16.30.0 255.255.255.0 10.1.2.2\nip route 172.16.40.0 255.255.255.0 10.1.2.2\nip route 172.16.100.0 255.255.255.192 Serial1/1\nno ip http server\nno ip http secure-server\n!\n!\n!\nno cdp log mismatch duplex\n!\n!\n!\n!\n!\n!\ncontrol-plane\n!\n!\n!\n!\n!\n!\n!\ngatekeeper\n shutdown\n!\n!\nline con 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline aux 0\n exec-timeout 0 0\n privilege level 15\n logging synchronous\n stopbits 1\nline vty 0 4\n login local\n transport input ssh\n!\nend", 'candidate': ''} \ No newline at end of file diff --git a/TP-02/config/loopback_R01.conf b/TP-02/config/loopback_R01.conf index 4001c76..6e489ab 100644 --- a/TP-02/config/loopback_R01.conf +++ b/TP-02/config/loopback_R01.conf @@ -5,12 +5,4 @@ interface loopback 1 interface loopback 2 ip address 192.168.2.1 255.255.255.255 description "interface loopback 2" - no shut -interface loopback 3 - ip address 192.168.3.1 255.255.255.255 - description "interface loopback 3" - no shut -interface loopback 4 - ip address 192.168.4.1 255.255.255.255 - description "interface loopback 4" no shut \ No newline at end of file diff --git a/TP-02/config/loopback_R01.conf.bak b/TP-02/config/loopback_R01.conf.bak new file mode 100644 index 0000000..4001c76 --- /dev/null +++ b/TP-02/config/loopback_R01.conf.bak @@ -0,0 +1,16 @@ +interface loopback 1 + ip address 192.168.1.1 255.255.255.255 + description "interface loopback 1" + no shut +interface loopback 2 + ip address 192.168.2.1 255.255.255.255 + description "interface loopback 2" + no shut +interface loopback 3 + ip address 192.168.3.1 255.255.255.255 + description "interface loopback 3" + no shut +interface loopback 4 + ip address 192.168.4.1 255.255.255.255 + description "interface loopback 4" + no shut \ No newline at end of file diff --git a/TP-02/config/ospf_R1.conf b/TP-02/config/ospf_R1.conf new file mode 100644 index 0000000..1a7a7b9 --- /dev/null +++ b/TP-02/config/ospf_R1.conf @@ -0,0 +1,14 @@ +router ospf 1 + router-id 1.1.1.1 + + network 172.16.10.0 0.0.0.255 area 0 + + network 172.16.20.0 0.0.0.255 area 0 + + network 172.16.100.0 0.0.0.63 area 0 + + network 10.1.3.0 0.0.0.3 area 0 + + network 10.1.1.0 0.0.0.3 area 0 + +end \ No newline at end of file diff --git a/TP-02/config/ospf_R2.conf b/TP-02/config/ospf_R2.conf new file mode 100644 index 0000000..21cc3bb --- /dev/null +++ b/TP-02/config/ospf_R2.conf @@ -0,0 +1,14 @@ +router ospf 1 + router-id 2.2.2.2 + + network 172.16.30.0 0.0.0.255 area 0 + + network 172.16.40.0 0.0.0.255 area 0 + + network 172.16.100.64 0.0.0.63 area 0 + + network 10.1.2.0 0.0.0.3 area 0 + + network 10.1.1.0 0.0.0.3 area 0 + +end \ No newline at end of file diff --git a/TP-02/config/ospf_R3.conf b/TP-02/config/ospf_R3.conf new file mode 100644 index 0000000..2853de4 --- /dev/null +++ b/TP-02/config/ospf_R3.conf @@ -0,0 +1,14 @@ +router ospf 1 + router-id 3.3.3.3 + + network 172.16.50.0 0.0.0.255 area 0 + + network 172.16.60.0 0.0.0.255 area 0 + + network 172.16.100.192 0.0.0.63 area 0 + + network 10.1.3.0 0.0.0.3 area 0 + + network 10.1.2.0 0.0.0.3 area 0 + +end \ No newline at end of file diff --git a/TP-02/data/ospf_R01.json b/TP-02/data/ospf_R01.json new file mode 100644 index 0000000..40fde21 --- /dev/null +++ b/TP-02/data/ospf_R01.json @@ -0,0 +1,11 @@ +{ + "hostname": "R1", + "id_router": "1.1.1.1", + "networks": [ + "172.16.10.0 0.0.0.255", + "172.16.20.0 0.0.0.255", + "172.16.100.0 0.0.0.63", + "10.1.3.0 0.0.0.3", + "10.1.1.0 0.0.0.3" + ] +} diff --git a/TP-02/data/ospf_R02.json b/TP-02/data/ospf_R02.json new file mode 100644 index 0000000..4249915 --- /dev/null +++ b/TP-02/data/ospf_R02.json @@ -0,0 +1,11 @@ +{ + "hostname": "R2", + "id_router": "2.2.2.2", + "networks": [ + "172.16.30.0 0.0.0.255", + "172.16.40.0 0.0.0.255", + "172.16.100.64 0.0.0.63", + "10.1.2.0 0.0.0.3", + "10.1.1.0 0.0.0.3" + ] +} \ No newline at end of file diff --git a/TP-02/data/ospf_R03.json b/TP-02/data/ospf_R03.json new file mode 100644 index 0000000..9dac386 --- /dev/null +++ b/TP-02/data/ospf_R03.json @@ -0,0 +1,11 @@ +{ + "hostname": "R3", + "id_router": "3.3.3.3", + "networks": [ + "172.16.50.0 0.0.0.255", + "172.16.60.0 0.0.0.255", + "172.16.100.192 0.0.0.63", + "10.1.3.0 0.0.0.3", + "10.1.2.0 0.0.0.3" + ] +} \ No newline at end of file diff --git a/TP-02/scripts/__pycache__/run_netmiko.cpython-312.pyc b/TP-02/scripts/__pycache__/run_netmiko.cpython-312.pyc index 390b101..7064dbc 100644 Binary files a/TP-02/scripts/__pycache__/run_netmiko.cpython-312.pyc and b/TP-02/scripts/__pycache__/run_netmiko.cpython-312.pyc differ diff --git a/TP-02/scripts/create_config.py b/TP-02/scripts/create_config.py index 59dd6de..22ac438 100644 --- a/TP-02/scripts/create_config.py +++ b/TP-02/scripts/create_config.py @@ -48,6 +48,23 @@ def create_vlan_config_cpe_paris(): R3_config = render_network_config(template_name='vlan_router.j2', data=R3_data) return R3_config,esw3_config +def create_ospf_config_cpe_marseille(): + R1_data = load_json_data_from_file(file_path='data/ospf_R01.json') + R1_config = render_network_config(template_name='config_ospf.j2', data=R1_data) + + return R1_config + +def create_ospf_config_cpe_paris(): + R2_data = load_json_data_from_file(file_path='data/ospf_R02.json') + R2_config = render_network_config(template_name='config_ospf.j2', data=R2_data) + + return R2_config + +def create_ospf_config_cpe_lyon(): + R3_data = load_json_data_from_file(file_path='data/ospf_R03.json') + R3_config = render_network_config(template_name='config_ospf.j2', data=R3_data) + + return R3_config if __name__ == "__main__": """ @@ -60,3 +77,12 @@ if __name__ == "__main__": r03_config, esw3_config = create_vlan_config_cpe_paris() save_built_config('config/vlan_R03.conf', r03_config) save_built_config('config/vlan_ESW3.conf', esw3_config) + + R1_ospf_config = create_ospf_config_cpe_marseille() + save_built_config('config/ospf_R1.conf', R1_ospf_config) + R2_ospf_config = create_ospf_config_cpe_paris() + save_built_config('config/ospf_R2.conf', R2_ospf_config) + R3_ospf_config = create_ospf_config_cpe_lyon() + save_built_config('config/ospf_R3.conf', R3_ospf_config) + + diff --git a/TP-02/scripts/run_napalm.py b/TP-02/scripts/run_napalm.py index eff9e08..3b3f408 100644 --- a/TP-02/scripts/run_napalm.py +++ b/TP-02/scripts/run_napalm.py @@ -1,56 +1,123 @@ import json from napalm import get_network_driver - +def save_built_config(file_name, data): + with open(file_name, "w") as f: + f.write(data) + return file_name def get_inventory(): - pass - + """ + Lit le fichier inventory/hosts.json et retourne son contenu. + """ + inventory_file = "inventory/hosts.json" + try: + with open(inventory_file, "r") as f: + data = json.load(f) + return data + except FileNotFoundError: + print(f"Erreur : le fichier {inventory_file} n'existe pas.") + return [] def get_json_data_from_file(file): pass def question_26(device): - pass - + command = ['show ip interface brief'] + output = device.cli(command) def question_27(device): pass def question_28(device): - pass + command = ['show ip interface brief'] + output = device.cli(command) + print(type(output)) def question_29(device): - pass + #output = device.get_config() + output = device.get_arp_table() + print(output) def question_30(device): - pass + output = device.get_arp_table() + print(type(output)) def question_31(): - pass + device.load_merge_candidate(filename='config/loopback_R01.conf') + print(device.compare_config()) + device.commit_config() -def question_32(): - pass +def question_33(): + r01 = { + 'hostname': '172.16.100.62', + 'username': 'cisco', + 'password': 'cisco' + } + r02 = { + 'hostname': '172.16.100.190', + 'username': 'cisco', + 'password': 'cisco' + } + r03 = { + 'hostname': '172.16.100.254', + 'username': 'cisco', + 'password': 'cisco' + } + routers = {'1': r01, '2': r02, '3': r03} -def question_34(): - pass + for i in range(1, 4): + driver = get_network_driver('ios') + device = driver(**routers[str(i)]) + device.open() + device.load_merge_candidate(filename=f'config/ospf_R{i}.conf') + print(device.compare_config()) + device.commit_config() + device.close() + +def question_35(): + liste_hosts = get_inventory() + + for host in liste_hosts: + nom_host = host['hostname'] + + connexion_info = { + 'hostname': host['ip'], + 'username': host['username'], + 'password': host['password'] + } + + try: + driver_ios = get_network_driver('ios') + device = driver_ios(**connexion_info) + device.open() + config_sauvegarde = device.get_config() + + with open(f'backup/{nom_host}.bak', 'w') as fichier_sauvegarde: + fichier_sauvegarde.write(str(config_sauvegarde)) + + device.close() + + except Exception as erreur: + print(f"Erreur lors de la connexion à {nom_host} : {erreur}") + continue if __name__ == "__main__": r01 = { - 'hostname':'xx.xx.xx.xx', - 'username': "xx", - 'password': "xx" + 'hostname':'172.16.100.62', + 'username': "cisco", + 'password': "cisco" } - # driver = get_network_driver('ios') - # device = driver(**r01) - # device.open() + driver = get_network_driver('ios') + device = driver(**r01) + device.open() #question_26(device) #question_27(device) @@ -58,5 +125,5 @@ if __name__ == "__main__": #question_29(device) #question_30(device) #question_31() - #question_32() - #question_34() \ No newline at end of file + #question_33() + question_35() \ No newline at end of file diff --git a/TP-02/scripts/run_netmiko.py b/TP-02/scripts/run_netmiko.py index 3c54400..e5eb653 100644 --- a/TP-02/scripts/run_netmiko.py +++ b/TP-02/scripts/run_netmiko.py @@ -139,6 +139,42 @@ def question_21(): except Exception as e: print(f"❌ Erreur sur {device['hostname']} : {e}") +def question_22(): + inventory = get_inventory() + + for device in inventory: + # On ne traite pas les routeurs dont le hostname != 'R1' de ESW1 + if 'R1' == device["hostname"] or 'ESW1' == device["hostname"]: + continue + + print(f"\n=== Connexion au routeur {device['hostname']} ({device['ip']}) ===") + + try: + # Paramètres de connexion + device_params = { + 'device_type': device['device_type'], + 'host': device['ip'], + 'username': device['username'], + 'password': device['password'] + } + net_connect = ConnectHandler(**device_params) + net_connect.enable() + + # affiche le hostname + print(f"Connexion réussie sur {device['hostname']}") + + config_file = f'config/vlan_{device["hostname"]}.conf' + output = net_connect.send_config_from_file(config_file) + print(f"\nRésultat de l'application de la configuration sur {device['hostname']} :\n{output}") + + # Sauvegarde la configuration + save_output = net_connect.save_config() + print(f"\nSauvegarde de la configuration sur {device['hostname']} :\n{save_output}") + + net_connect.disconnect() + + except Exception as e: + print(f"❌ Erreur sur {device['hostname']} : {e}") if __name__ == "__main__": @@ -154,7 +190,7 @@ if __name__ == "__main__": #question_17(net_connect) #question_18(net_connect) hosts = get_inventory() - print(hosts) + #print(hosts) #question_20() #question_21() - net_connect.disconnect() \ No newline at end of file + question_22() \ No newline at end of file diff --git a/TP-02/templates/config_ospf.j2 b/TP-02/templates/config_ospf.j2 new file mode 100644 index 0000000..ff1e492 --- /dev/null +++ b/TP-02/templates/config_ospf.j2 @@ -0,0 +1,6 @@ +router ospf 1 + router-id {{ id_router }} +{% for network in networks %} + network {{ network }} area 0 +{% endfor %} +end \ No newline at end of file diff --git a/TP_03/Pipfile b/TP_03/Pipfile new file mode 100644 index 0000000..13c0612 --- /dev/null +++ b/TP_03/Pipfile @@ -0,0 +1,12 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +jinja2 = "*" + +[dev-packages] + +[requires] +python_version = "3.12" diff --git a/TP_03/Pipfile.lock b/TP_03/Pipfile.lock new file mode 100644 index 0000000..3ee6b1a --- /dev/null +++ b/TP_03/Pipfile.lock @@ -0,0 +1,125 @@ +{ + "_meta": { + "hash": { + "sha256": "0d6d71bde3074bba6c6c22ffb03c3babc1c25dc9efe76dd93ef12784c56beadb" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.12" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "jinja2": { + "hashes": [ + "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", + "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" + ], + "index": "pypi", + "markers": "python_version >= '3.7'", + "version": "==3.1.6" + }, + "markupsafe": { + "hashes": [ + "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", + "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", + "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", + "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", + "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", + "sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c", + "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", + "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", + "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", + "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", + "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", + "sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26", + "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", + "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", + "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", + "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", + "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", + "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", + "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", + "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", + "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", + "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", + "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", + "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", + "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", + "sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758", + "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", + "sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8", + "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", + "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", + "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", + "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", + "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", + "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", + "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", + "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", + "sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2", + "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", + "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", + "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", + "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", + "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", + "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", + "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", + "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", + "sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e", + "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", + "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", + "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", + "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", + "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", + "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", + "sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b", + "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", + "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", + "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", + "sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d", + "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", + "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", + "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", + "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", + "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", + "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", + "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", + "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", + "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", + "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", + "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", + "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", + "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", + "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", + "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", + "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", + "sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7", + "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", + "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", + "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", + "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", + "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", + "sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42", + "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", + "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", + "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", + "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", + "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", + "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", + "sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc", + "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", + "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50" + ], + "markers": "python_version >= '3.9'", + "version": "==3.0.3" + } + }, + "develop": {} +} diff --git a/TP_03/inventory/config.yaml b/TP_03/inventory/config.yaml new file mode 100644 index 0000000..e4400b1 --- /dev/null +++ b/TP_03/inventory/config.yaml @@ -0,0 +1,10 @@ +inventory: + plugin: SimpleInventory + options: + host_file: "inventory/hosts.yaml" + group_file: "inventory/groups.yaml" + defaults_file: "inventory/defaults.yaml" +runner: + plugin: threaded + options: + num_workers: 20 \ No newline at end of file diff --git a/TP_03/scripts/create_config.py b/TP_03/scripts/create_config.py index d51d499..462b977 100644 --- a/TP_03/scripts/create_config.py +++ b/TP_03/scripts/create_config.py @@ -15,8 +15,12 @@ def save_built_config(file_name, data): def create_config_cpe_lyon_batA(): - pass + esw3_data = load_json_data_from_file(file_path='data/vlan_ESW3.json') + esw3_config = render_network_config(template_name='vlan_switch.j2', data=esw3_data) + R3_data = load_json_data_from_file(file_path='data/vlan_R03.json') + R3_config = render_network_config(template_name='vlan_router.j2', data=R3_data) + return R3_config,esw3_config def create_config_cpe_lyon_batB(): pass diff --git a/TP_03/scripts/run_nornir.py b/TP_03/scripts/run_nornir.py index a9f21ea..34bba5e 100644 --- a/TP_03/scripts/run_nornir.py +++ b/TP_03/scripts/run_nornir.py @@ -43,10 +43,12 @@ def question_26(nr): pass def question_27(nr): - pass + result = nr.run(task=hello_world) + print(type(result)) def question_29(nr): - pass + result = nr.run(task=hello_world) + print_result(result) def question_30(nr): pass @@ -83,7 +85,7 @@ def question_40(nr): if __name__ == "__main__": - #nr = InitNornir(config_file="inventory/config.yaml") + nr = InitNornir(config_file="inventory/config.yaml") #question_13(nr) #question_14(nr) @@ -99,7 +101,7 @@ if __name__ == "__main__": #question_24(nr) #question_25(nr) #question_26(nr) - #question_27(nr) + question_27(nr) #question_29(nr) #question_30(nr)