You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

573 lines
20 KiB

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <topology xmlns="http://www.cisco.com/VIRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="0.95" xsi:schemaLocation="http://www.cisco.com/VIRL https://raw.github.com/CiscoVIRL/schema/v0.95/virl.xsd">
  3. <extensions>
  4. <entry key="management_network" type="String">exclusive</entry>
  5. <entry key="AutoNetkit.enable_cdp" type="Boolean">true</entry>
  6. </extensions>
  7. <node name="client1" type="SIMPLE" subtype="lxc" location="340,301">
  8. <extensions>
  9. <entry key="config" type="String">#cloud-config&#xD;
  10. bootcmd:&#xD;
  11. - ln -s -t /etc/rc.d /etc/rc.local&#xD;
  12. hostname: client1&#xD;
  13. manage_etc_hosts: true&#xD;
  14. runcmd:&#xD;
  15. - systemctl start rc-local&#xD;
  16. - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config&#xD;
  17. - echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config&#xD;
  18. - service ssh restart&#xD;
  19. - service sshd restart&#xD;
  20. users:&#xD;
  21. - default&#xD;
  22. - gecos: User configured by VIRL Configuration Engine 0.23.9&#xD;
  23. lock-passwd: false&#xD;
  24. name: cisco&#xD;
  25. plain-text-passwd: cisco&#xD;
  26. shell: /bin/bash&#xD;
  27. ssh-authorized-keys:&#xD;
  28. - VIRL-USER-SSH-PUBLIC-KEY&#xD;
  29. sudo: ALL=(ALL) ALL&#xD;
  30. write_files:&#xD;
  31. - path: /etc/systemd/system/dhclient@.service&#xD;
  32. content: |&#xD;
  33. [Unit]&#xD;
  34. Description=Run dhclient on %i interface&#xD;
  35. After=network.target&#xD;
  36. [Service]&#xD;
  37. Type=oneshot&#xD;
  38. ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease&#xD;
  39. RemainAfterExit=yes&#xD;
  40. owner: root:root&#xD;
  41. permissions: '0644'&#xD;
  42. - path: /etc/rc.local&#xD;
  43. owner: root:root&#xD;
  44. permissions: '0755'&#xD;
  45. content: |-&#xD;
  46. #!/bin/sh&#xD;
  47. ifconfig eth1 up 10.0.0.20 netmask 255.255.0.0&#xD;
  48. route add -host 192.168.0.1 gw 10.0.0.1 dev eth1&#xD;
  49. route add default gw 10.0.0.1&#xD;
  50. echo "nameserver 8.8.8.8" &gt;/etc/resolv.conf&#xD;
  51. chown -R cisco:cisco /home/cisco&#xD;
  52. exit 0&#xD;
  53. - path: /home/cisco/udp-client.py&#xD;
  54. content: |&#xD;
  55. #!/usr/bin/python&#xD;
  56. from socket import *&#xD;
  57. &#xD;
  58. # Server-Adresse und Port&#xD;
  59. serverName = "localhost"&#xD;
  60. serverPort = 17000&#xD;
  61. &#xD;
  62. # Client Socket (IP, UDP) oeffnen&#xD;
  63. clientSocket = socket(AF_INET, SOCK_DGRAM)&#xD;
  64. &#xD;
  65. # Nachricht vom Benutzer erfragen und versenden&#xD;
  66. message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:")&#xD;
  67. clientSocket.sendto(message,(serverName, serverPort))&#xD;
  68. &#xD;
  69. # Antwort des Server aus Socket lesen und ausgeben&#xD;
  70. modifiedMessage, serverAddress = clientSocket.recvfrom(2048)&#xD;
  71. print "Antwort des Servers: ", modifiedMessage&#xD;
  72. raw_input("Fertig...")&#xD;
  73. &#xD;
  74. # Verbindung schliessen&#xD;
  75. clientSocket.close()&#xD;
  76. owner: root:root&#xD;
  77. permissions: '0777'&#xD;
  78. - path: /home/cisco/udp-server.py&#xD;
  79. content: |&#xD;
  80. #!/usr/bin/python&#xD;
  81. from socket import *&#xD;
  82. &#xD;
  83. # UDP Port auf dem der Server lauschen soll...&#xD;
  84. serverPort = 17000&#xD;
  85. &#xD;
  86. # Server-Socket als Internet (INET) UDP (DGRAM) erzeugen und an o.g. Port binden&#xD;
  87. serverSocket = socket(AF_INET, SOCK_DGRAM)&#xD;
  88. serverSocket.bind(("", serverPort))&#xD;
  89. print "UDP Server ist bereit fuer den Empfang von Daten..."&#xD;
  90. &#xD;
  91. # Endlosschleife&#xD;
  92. while 1:&#xD;
  93. # Eingehende Nachrichten von Clients empfangen&#xD;
  94. message, clientAddress = serverSocket.recvfrom(2048)&#xD;
  95. # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den&#xD;
  96. # Client zuruecksenden&#xD;
  97. modifiedMessage = message.upper()&#xD;
  98. serverSocket.sendto(modifiedMessage, clientAddress)&#xD;
  99. owner: root:root&#xD;
  100. permissions: '0777'&#xD;
  101. - path: /home/cisco/tcp-client.py&#xD;
  102. content: |&#xD;
  103. #!/usr/bin/python&#xD;
  104. from socket import *&#xD;
  105. &#xD;
  106. # Serveradresse und TCP Port auf den der Server hoert...&#xD;
  107. serverName = "localhost"&#xD;
  108. serverPort = 17000&#xD;
  109. # Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
  110. clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
  111. clientSocket.connect((serverName,serverPort))&#xD;
  112. &#xD;
  113. # Nachricht vom Benutzer abfragen und an den Server senden&#xD;
  114. sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:")&#xD;
  115. clientSocket.send(sentence)&#xD;
  116. &#xD;
  117. # Antwort des Servers ausgeben&#xD;
  118. modifiedSentence = clientSocket.recv(1024)&#xD;
  119. print "Antwort des Servers:", modifiedSentence&#xD;
  120. raw_input("Fertig...")&#xD;
  121. &#xD;
  122. # Verbindung schliessen&#xD;
  123. clientSocket.close()&#xD;
  124. owner: root:root&#xD;
  125. permissions: '0777'&#xD;
  126. - path: /home/cisco/tcp-server.py&#xD;
  127. content: |&#xD;
  128. #!/usr/bin/python&#xD;
  129. from socket import *&#xD;
  130. &#xD;
  131. # TCP Port auf dem der Server lauschen soll...&#xD;
  132. serverPort = 17000&#xD;
  133. # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden&#xD;
  134. serverSocket = socket(AF_INET,SOCK_STREAM)&#xD;
  135. serverSocket.bind(("",serverPort))&#xD;
  136. serverSocket.listen(1)&#xD;
  137. print "TCP Server ist bereit fuer den Empfang von Daten..."&#xD;
  138. &#xD;
  139. # Endlosschleife&#xD;
  140. while 1:&#xD;
  141. # Eingehende Nachrichten akzeptieren und von Clients empfangen&#xD;
  142. connectionSocket, addr = serverSocket.accept()&#xD;
  143. sentence = connectionSocket.recv(1024)&#xD;
  144. # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den&#xD;
  145. # Client zuruecksenden&#xD;
  146. capitalizedSentence = sentence.upper()&#xD;
  147. connectionSocket.send(capitalizedSentence)&#xD;
  148. # Verbindung schliessen&#xD;
  149. connectionSocket.close()&#xD;
  150. owner: root:root&#xD;
  151. permissions: '0777'&#xD;
  152. - path: /home/cisco/tcpdownload-client.py&#xD;
  153. content: |&#xD;
  154. #!/usr/bin/python&#xD;
  155. from socket import *&#xD;
  156. import time&#xD;
  157. &#xD;
  158. # Serveradresse und TCP Port auf den der Server hoert...&#xD;
  159. serverName = "10.0.0.30"&#xD;
  160. serverPort = 17000&#xD;
  161. # Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
  162. clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
  163. clientSocket.connect((serverName,serverPort))&#xD;
  164. &#xD;
  165. # Antwort des Servers ausgeben&#xD;
  166. length = 0&#xD;
  167. start = time.time()&#xD;
  168. while 1:&#xD;
  169. data = clientSocket.recv(1024)&#xD;
  170. if not data:&#xD;
  171. break&#xD;
  172. length += len(data)&#xD;
  173. elapsed = time.time() - start&#xD;
  174. print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)"&#xD;
  175. raw_input("Fertig...")&#xD;
  176. &#xD;
  177. # Verbindung schliessen&#xD;
  178. clientSocket.close()&#xD;
  179. owner: root:root&#xD;
  180. permissions: '0777'&#xD;
  181. - path: /home/cisco/tcpdownload-server.py&#xD;
  182. content: |&#xD;
  183. #!/usr/bin/python&#xD;
  184. from socket import *&#xD;
  185. &#xD;
  186. # TCP Port auf dem der Server lauschen soll...&#xD;
  187. serverPort = 17000&#xD;
  188. # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden&#xD;
  189. serverSocket = socket(AF_INET,SOCK_STREAM)&#xD;
  190. serverSocket.bind(("",serverPort))&#xD;
  191. serverSocket.listen(1)&#xD;
  192. downloadSize = raw_input("Download-Groesse: ")&#xD;
  193. print "TCP Server ist bereit fuer den Download..."&#xD;
  194. &#xD;
  195. # Endlosschleife&#xD;
  196. while 1:&#xD;
  197. # Eingehende Nachrichten akzeptieren und von Clients empfangen&#xD;
  198. connectionSocket, addr = serverSocket.accept()&#xD;
  199. # Bytes an Client zuruecksenden&#xD;
  200. connectionSocket.send("a" * int(downloadSize))&#xD;
  201. # Verbindung schliessen&#xD;
  202. connectionSocket.close()&#xD;
  203. owner: root:root&#xD;
  204. permissions: '0777'&#xD;
  205. </entry>
  206. </extensions>
  207. <interface id="0" name="eth1" ipv4="10.0.0.2" netPrefixLenV4="16"/>
  208. </node>
  209. <node name="server1" type="SIMPLE" subtype="lxc" location="584,301">
  210. <extensions>
  211. <entry key="config" type="String">#cloud-config&#xD;
  212. bootcmd:&#xD;
  213. - ln -s -t /etc/rc.d /etc/rc.local&#xD;
  214. hostname: server1&#xD;
  215. manage_etc_hosts: true&#xD;
  216. runcmd:&#xD;
  217. - systemctl start rc-local&#xD;
  218. - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config&#xD;
  219. - echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config&#xD;
  220. - service ssh restart&#xD;
  221. - service sshd restart&#xD;
  222. users:&#xD;
  223. - default&#xD;
  224. - gecos: User configured by VIRL Configuration Engine 0.23.9&#xD;
  225. lock-passwd: false&#xD;
  226. name: cisco&#xD;
  227. plain-text-passwd: cisco&#xD;
  228. shell: /bin/bash&#xD;
  229. ssh-authorized-keys:&#xD;
  230. - VIRL-USER-SSH-PUBLIC-KEY&#xD;
  231. sudo: ALL=(ALL) ALL&#xD;
  232. write_files:&#xD;
  233. - path: /etc/systemd/system/dhclient@.service&#xD;
  234. content: |&#xD;
  235. [Unit]&#xD;
  236. Description=Run dhclient on %i interface&#xD;
  237. After=network.target&#xD;
  238. [Service]&#xD;
  239. Type=oneshot&#xD;
  240. ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease&#xD;
  241. RemainAfterExit=yes&#xD;
  242. owner: root:root&#xD;
  243. permissions: '0644'&#xD;
  244. - path: /etc/rc.local&#xD;
  245. owner: root:root&#xD;
  246. permissions: '0755'&#xD;
  247. content: |-&#xD;
  248. #!/bin/sh&#xD;
  249. ifconfig eth1 up 10.0.0.30 netmask 255.255.0.0&#xD;
  250. route add -host 192.168.0.1 gw 10.0.0.1 dev eth1&#xD;
  251. route add default gw 10.0.0.1&#xD;
  252. echo "nameserver 8.8.8.8" &gt;/etc/resolv.conf&#xD;
  253. chown -R cisco:cisco /home/cisco&#xD;
  254. exit 0&#xD;
  255. - path: /home/cisco/udpclient.py&#xD;
  256. content: |&#xD;
  257. #!/usr/bin/python&#xD;
  258. from socket import *&#xD;
  259. &#xD;
  260. # Server-Adresse und Port&#xD;
  261. serverName = "localhost"&#xD;
  262. serverPort = 17000&#xD;
  263. &#xD;
  264. # Client Socket (IP, UDP) oeffnen&#xD;
  265. clientSocket = socket(AF_INET, SOCK_DGRAM)&#xD;
  266. &#xD;
  267. # Nachricht vom Benutzer erfragen und versenden&#xD;
  268. message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:")&#xD;
  269. clientSocket.sendto(message,(serverName, serverPort))&#xD;
  270. &#xD;
  271. # Antwort des Server aus Socket lesen und ausgeben&#xD;
  272. modifiedMessage, serverAddress = clientSocket.recvfrom(2048)&#xD;
  273. print "Antwort des Servers: ", modifiedMessage&#xD;
  274. raw_input("Fertig...")&#xD;
  275. &#xD;
  276. # Verbindung schliessen&#xD;
  277. clientSocket.close()&#xD;
  278. owner: root:root&#xD;
  279. permissions: '0777'&#xD;
  280. - path: /home/cisco/udpserver.py&#xD;
  281. content: |&#xD;
  282. #!/usr/bin/python&#xD;
  283. from socket import *&#xD;
  284. &#xD;
  285. # UDP Port auf dem der Server lauschen soll...&#xD;
  286. serverPort = 17000&#xD;
  287. &#xD;
  288. # Server-Socket als Internet (INET) UDP (DGRAM) erzeugen und an o.g. Port binden&#xD;
  289. serverSocket = socket(AF_INET, SOCK_DGRAM)&#xD;
  290. serverSocket.bind(("", serverPort))&#xD;
  291. print "UDP Server ist bereit fuer den Empfang von Daten..."&#xD;
  292. &#xD;
  293. # Endlosschleife&#xD;
  294. while 1:&#xD;
  295. # Eingehende Nachrichten von Clients empfangen&#xD;
  296. message, clientAddress = serverSocket.recvfrom(2048)&#xD;
  297. # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den&#xD;
  298. # Client zuruecksenden&#xD;
  299. modifiedMessage = message.upper()&#xD;
  300. serverSocket.sendto(modifiedMessage, clientAddress)&#xD;
  301. owner: root:root&#xD;
  302. permissions: '0777'&#xD;
  303. - path: /home/cisco/tcpclient.py&#xD;
  304. content: |&#xD;
  305. #!/usr/bin/python&#xD;
  306. from socket import *&#xD;
  307. &#xD;
  308. # Serveradresse und TCP Port auf den der Server hoert...&#xD;
  309. serverName = "localhost"&#xD;
  310. serverPort = 17000&#xD;
  311. # Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
  312. clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
  313. clientSocket.connect((serverName,serverPort))&#xD;
  314. &#xD;
  315. # Nachricht vom Benutzer abfragen und an den Server senden&#xD;
  316. sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:")&#xD;
  317. clientSocket.send(sentence)&#xD;
  318. &#xD;
  319. # Antwort des Servers ausgeben&#xD;
  320. modifiedSentence = clientSocket.recv(1024)&#xD;
  321. print "Antwort des Servers:", modifiedSentence&#xD;
  322. raw_input("Fertig...")&#xD;
  323. &#xD;
  324. # Verbindung schliessen&#xD;
  325. clientSocket.close()&#xD;
  326. owner: root:root&#xD;
  327. permissions: '0777'&#xD;
  328. - path: /home/cisco/tcpserver.py&#xD;
  329. content: |&#xD;
  330. #!/usr/bin/python&#xD;
  331. from socket import *&#xD;
  332. &#xD;
  333. # TCP Port auf dem der Server lauschen soll...&#xD;
  334. serverPort = 17000&#xD;
  335. # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden&#xD;
  336. serverSocket = socket(AF_INET,SOCK_STREAM)&#xD;
  337. serverSocket.bind(("",serverPort))&#xD;
  338. serverSocket.listen(1)&#xD;
  339. print "TCP Server ist bereit fuer den Empfang von Daten..."&#xD;
  340. &#xD;
  341. # Endlosschleife&#xD;
  342. while 1:&#xD;
  343. # Eingehende Nachrichten akzeptieren und von Clients empfangen&#xD;
  344. connectionSocket, addr = serverSocket.accept()&#xD;
  345. sentence = connectionSocket.recv(1024)&#xD;
  346. # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den&#xD;
  347. # Client zuruecksenden&#xD;
  348. capitalizedSentence = sentence.upper()&#xD;
  349. connectionSocket.send(capitalizedSentence)&#xD;
  350. # Verbindung schliessen&#xD;
  351. connectionSocket.close()&#xD;
  352. owner: root:root&#xD;
  353. permissions: '0777'&#xD;
  354. - path: /home/cisco/tcpclient-download.py&#xD;
  355. content: |&#xD;
  356. #!/usr/bin/python&#xD;
  357. from socket import *&#xD;
  358. import time&#xD;
  359. &#xD;
  360. # Serveradresse und TCP Port auf den der Server hoert...&#xD;
  361. serverName = "10.0.0.30"&#xD;
  362. serverPort = 17000&#xD;
  363. # Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
  364. clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
  365. clientSocket.connect((serverName,serverPort))&#xD;
  366. &#xD;
  367. # Antwort des Servers ausgeben&#xD;
  368. length = 0&#xD;
  369. start = time.time()&#xD;
  370. while 1:&#xD;
  371. data = clientSocket.recv(1024)&#xD;
  372. if not data:&#xD;
  373. break&#xD;
  374. length += len(data)&#xD;
  375. elapsed = time.time() - start&#xD;
  376. print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)"&#xD;
  377. raw_input("Fertig...")&#xD;
  378. &#xD;
  379. # Verbindung schliessen&#xD;
  380. clientSocket.close()&#xD;
  381. owner: root:root&#xD;
  382. permissions: '0777'&#xD;
  383. - path: /home/cisco/tcpserver-download.py&#xD;
  384. content: |&#xD;
  385. #!/usr/bin/python&#xD;
  386. from socket import *&#xD;
  387. &#xD;
  388. # TCP Port auf dem der Server lauschen soll...&#xD;
  389. serverPort = 17000&#xD;
  390. # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden&#xD;
  391. serverSocket = socket(AF_INET,SOCK_STREAM)&#xD;
  392. serverSocket.bind(("",serverPort))&#xD;
  393. serverSocket.listen(1)&#xD;
  394. downloadSize = raw_input("Download-Groesse: ")&#xD;
  395. print "TCP Server ist bereit fuer den Download..."&#xD;
  396. &#xD;
  397. # Endlosschleife&#xD;
  398. while 1:&#xD;
  399. # Eingehende Nachrichten akzeptieren und von Clients empfangen&#xD;
  400. connectionSocket, addr = serverSocket.accept()&#xD;
  401. # Bytes an Client zuruecksenden&#xD;
  402. connectionSocket.send("a" * int(downloadSize))&#xD;
  403. # Verbindung schliessen&#xD;
  404. connectionSocket.close()&#xD;
  405. owner: root:root&#xD;
  406. permissions: '0777'&#xD;
  407. - path: /home/cisco/tcpdownload-client.py&#xD;
  408. content: |&#xD;
  409. #!/usr/bin/python&#xD;
  410. from socket import *&#xD;
  411. import time&#xD;
  412. &#xD;
  413. # Serveradresse und TCP Port auf den der Server hoert...&#xD;
  414. serverName = "10.0.0.30"&#xD;
  415. serverPort = 17000&#xD;
  416. # Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
  417. clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
  418. clientSocket.connect((serverName,serverPort))&#xD;
  419. &#xD;
  420. # Antwort des Servers ausgeben&#xD;
  421. length = 0&#xD;
  422. start = time.time()&#xD;
  423. while 1:&#xD;
  424. data = clientSocket.recv(1024)&#xD;
  425. if not data:&#xD;
  426. break&#xD;
  427. length += len(data)&#xD;
  428. elapsed = time.time() - start&#xD;
  429. print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)"&#xD;
  430. raw_input("Fertig...")&#xD;
  431. &#xD;
  432. # Verbindung schliessen&#xD;
  433. clientSocket.close()&#xD;
  434. owner: root:root&#xD;
  435. permissions: '0777'&#xD;
  436. - path: /home/cisco/tcpdownload-server.py&#xD;
  437. content: |&#xD;
  438. #!/usr/bin/python&#xD;
  439. from socket import *&#xD;
  440. &#xD;
  441. # TCP Port auf dem der Server lauschen soll...&#xD;
  442. serverPort = 17000&#xD;
  443. # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden&#xD;
  444. serverSocket = socket(AF_INET,SOCK_STREAM)&#xD;
  445. serverSocket.bind(("",serverPort))&#xD;
  446. serverSocket.listen(1)&#xD;
  447. downloadSize = raw_input("Download-Groesse: ")&#xD;
  448. print "TCP Server ist bereit fuer den Download..."&#xD;
  449. &#xD;
  450. # Endlosschleife&#xD;
  451. while 1:&#xD;
  452. # Eingehende Nachrichten akzeptieren und von Clients empfangen&#xD;
  453. connectionSocket, addr = serverSocket.accept()&#xD;
  454. # Bytes an Client zuruecksenden&#xD;
  455. connectionSocket.send("a" * int(downloadSize))&#xD;
  456. # Verbindung schliessen&#xD;
  457. connectionSocket.close()&#xD;
  458. owner: root:root&#xD;
  459. permissions: '0777'&#xD;
  460. </entry>
  461. </extensions>
  462. <interface id="0" name="eth1" ipv4="10.0.0.3" netPrefixLenV4="16"/>
  463. </node>
  464. <node name="switch1" type="SIMPLE" subtype="Unmanaged Switch" location="459,232">
  465. <interface id="0" name="link1"/>
  466. <interface id="1" name="link2"/>
  467. <interface id="2" name="link3"/>
  468. </node>
  469. <node name="router1" type="SIMPLE" subtype="IOSv" location="459,111">
  470. <extensions>
  471. <entry key="AutoNetkit.mgmt_ip" type="string"></entry>
  472. <entry key="Auto-generate config" type="Boolean">false</entry>
  473. <entry key="config" type="String">! IOS Config generated on 2016-12-05 08:28&#xD;
  474. ! by autonetkit_0.23.5&#xD;
  475. !&#xD;
  476. hostname router1&#xD;
  477. boot-start-marker&#xD;
  478. boot-end-marker&#xD;
  479. !&#xD;
  480. vrf definition Mgmt-intf&#xD;
  481. !&#xD;
  482. address-family ipv4&#xD;
  483. exit-address-family&#xD;
  484. !&#xD;
  485. address-family ipv6&#xD;
  486. exit-address-family&#xD;
  487. !&#xD;
  488. !&#xD;
  489. !&#xD;
  490. no aaa new-model&#xD;
  491. !&#xD;
  492. !&#xD;
  493. ip cef&#xD;
  494. ipv6 unicast-routing&#xD;
  495. ipv6 cef&#xD;
  496. !&#xD;
  497. !&#xD;
  498. service timestamps debug datetime msec&#xD;
  499. service timestamps log datetime msec&#xD;
  500. no service password-encryption&#xD;
  501. no service config&#xD;
  502. enable password cisco&#xD;
  503. ip classless&#xD;
  504. ip subnet-zero&#xD;
  505. no ip domain lookup&#xD;
  506. ip domain name virl.info&#xD;
  507. crypto key generate rsa modulus 768&#xD;
  508. ip ssh server algorithm authentication password&#xD;
  509. username cisco privilege 15 secret cisco&#xD;
  510. line vty 0 4&#xD;
  511. transport input ssh telnet&#xD;
  512. exec-timeout 720 0&#xD;
  513. password cisco&#xD;
  514. login local&#xD;
  515. line con 0&#xD;
  516. password cisco&#xD;
  517. !&#xD;
  518. cdp run&#xD;
  519. !&#xD;
  520. !&#xD;
  521. interface Loopback0&#xD;
  522. description Loopback&#xD;
  523. ip address 192.168.0.1 255.255.255.255&#xD;
  524. !&#xD;
  525. interface GigabitEthernet0/0&#xD;
  526. description OOB Management&#xD;
  527. vrf forwarding Mgmt-intf&#xD;
  528. ! Configured on launch&#xD;
  529. no ip address&#xD;
  530. cdp enable&#xD;
  531. duplex full&#xD;
  532. speed auto&#xD;
  533. no shutdown&#xD;
  534. !&#xD;
  535. interface GigabitEthernet0/1&#xD;
  536. description to Internet&#xD;
  537. no ip address&#xD;
  538. ip nat outside&#xD;
  539. cdp enable&#xD;
  540. duplex full&#xD;
  541. speed auto&#xD;
  542. no shutdown&#xD;
  543. !&#xD;
  544. interface GigabitEthernet0/2&#xD;
  545. description to switch1&#xD;
  546. ip address 10.0.0.1 255.255.0.0&#xD;
  547. ip nat inside&#xD;
  548. cdp enable&#xD;
  549. ip ospf cost 1&#xD;
  550. duplex full&#xD;
  551. speed auto&#xD;
  552. no shutdown&#xD;
  553. !&#xD;
  554. ! NAT stuff&#xD;
  555. !&#xD;
  556. ip nat inside source list 1 interface GigabitEthernet0/1 overload&#xD;
  557. ip route 0.0.0.0 0.0.0.0 172.16.1.1&#xD;
  558. access-list 1 permit 10.0.0.0 0.0.255.255&#xD;
  559. !&#xD;
  560. end</entry>
  561. </extensions>
  562. <interface id="0" name="GigabitEthernet0/1"/>
  563. <interface id="1" name="GigabitEthernet0/2" ipv4="10.0.0.1" netPrefixLenV4="16"/>
  564. </node>
  565. <node name="Internet" type="ASSET" subtype="FLAT" location="337,55">
  566. <interface id="0" name="link0"/>
  567. </node>
  568. <annotations/>
  569. <connection dst="/virl:topology/virl:node[4]/virl:interface[1]" src="/virl:topology/virl:node[5]/virl:interface[1]"/>
  570. <connection dst="/virl:topology/virl:node[3]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[2]"/>
  571. <connection dst="/virl:topology/virl:node[1]/virl:interface[1]" src="/virl:topology/virl:node[3]/virl:interface[2]"/>
  572. <connection dst="/virl:topology/virl:node[2]/virl:interface[1]" src="/virl:topology/virl:node[3]/virl:interface[3]"/>
  573. </topology>