exclusive true #cloud-config bootcmd: - ln -s -t /etc/rc.d /etc/rc.local hostname: client1 manage_etc_hosts: true runcmd: - systemctl start rc-local - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config - echo "UseDNS no" >> /etc/ssh/sshd_config - service ssh restart - service sshd restart users: - default - gecos: User configured by VIRL Configuration Engine 0.23.9 lock-passwd: false name: cisco plain-text-passwd: cisco shell: /bin/bash ssh-authorized-keys: - VIRL-USER-SSH-PUBLIC-KEY sudo: ALL=(ALL) ALL write_files: - path: /etc/systemd/system/dhclient@.service content: | [Unit] Description=Run dhclient on %i interface After=network.target [Service] Type=oneshot ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease RemainAfterExit=yes owner: root:root permissions: '0644' - path: /etc/rc.local owner: root:root permissions: '0755' content: |- #!/bin/sh ifconfig eth1 up 10.0.0.20 netmask 255.255.0.0 route add -host 192.168.0.1 gw 10.0.0.1 dev eth1 route add default gw 10.0.0.1 echo "nameserver 8.8.8.8" >/etc/resolv.conf chown -R cisco:cisco /home/cisco exit 0 - path: /home/cisco/udp-client.py content: | #!/usr/bin/python from socket import * # Server-Adresse und Port serverName = "localhost" serverPort = 17000 # Client Socket (IP, UDP) oeffnen clientSocket = socket(AF_INET, SOCK_DGRAM) # Nachricht vom Benutzer erfragen und versenden message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:") clientSocket.sendto(message,(serverName, serverPort)) # Antwort des Server aus Socket lesen und ausgeben modifiedMessage, serverAddress = clientSocket.recvfrom(2048) print "Antwort des Servers: ", modifiedMessage raw_input("Fertig...") # Verbindung schliessen clientSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/udp-server.py content: | #!/usr/bin/python from socket import * # UDP Port auf dem der Server lauschen soll... serverPort = 17000 # Server-Socket als Internet (INET) UDP (DGRAM) erzeugen und an o.g. Port binden serverSocket = socket(AF_INET, SOCK_DGRAM) serverSocket.bind(("", serverPort)) print "UDP Server ist bereit fuer den Empfang von Daten..." # Endlosschleife while 1: # Eingehende Nachrichten von Clients empfangen message, clientAddress = serverSocket.recvfrom(2048) # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den # Client zuruecksenden modifiedMessage = message.upper() serverSocket.sendto(modifiedMessage, clientAddress) owner: root:root permissions: '0777' - path: /home/cisco/tcp-client.py content: | #!/usr/bin/python from socket import * # Serveradresse und TCP Port auf den der Server hoert... serverName = "localhost" serverPort = 17000 # Socket fuer IP (INET) und TCP (STREAM) konfigurieren clientSocket = socket(AF_INET, SOCK_STREAM) clientSocket.connect((serverName,serverPort)) # Nachricht vom Benutzer abfragen und an den Server senden sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:") clientSocket.send(sentence) # Antwort des Servers ausgeben modifiedSentence = clientSocket.recv(1024) print "Antwort des Servers:", modifiedSentence raw_input("Fertig...") # Verbindung schliessen clientSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/tcp-server.py content: | #!/usr/bin/python from socket import * # TCP Port auf dem der Server lauschen soll... serverPort = 17000 # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden serverSocket = socket(AF_INET,SOCK_STREAM) serverSocket.bind(("",serverPort)) serverSocket.listen(1) print "TCP Server ist bereit fuer den Empfang von Daten..." # Endlosschleife while 1: # Eingehende Nachrichten akzeptieren und von Clients empfangen connectionSocket, addr = serverSocket.accept() sentence = connectionSocket.recv(1024) # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den # Client zuruecksenden capitalizedSentence = sentence.upper() connectionSocket.send(capitalizedSentence) # Verbindung schliessen connectionSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/tcpdownload-client.py content: | #!/usr/bin/python from socket import * import time # Serveradresse und TCP Port auf den der Server hoert... serverName = "10.0.0.30" serverPort = 17000 # Socket fuer IP (INET) und TCP (STREAM) konfigurieren clientSocket = socket(AF_INET, SOCK_STREAM) clientSocket.connect((serverName,serverPort)) # Antwort des Servers ausgeben length = 0 start = time.time() while 1: data = clientSocket.recv(1024) if not data: break length += len(data) elapsed = time.time() - start print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)" raw_input("Fertig...") # Verbindung schliessen clientSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/tcpdownload-server.py content: | #!/usr/bin/python from socket import * # TCP Port auf dem der Server lauschen soll... serverPort = 17000 # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden serverSocket = socket(AF_INET,SOCK_STREAM) serverSocket.bind(("",serverPort)) serverSocket.listen(1) downloadSize = raw_input("Download-Groesse: ") print "TCP Server ist bereit fuer den Download..." # Endlosschleife while 1: # Eingehende Nachrichten akzeptieren und von Clients empfangen connectionSocket, addr = serverSocket.accept() # Bytes an Client zuruecksenden connectionSocket.send("a" * int(downloadSize)) # Verbindung schliessen connectionSocket.close() owner: root:root permissions: '0777' #cloud-config bootcmd: - ln -s -t /etc/rc.d /etc/rc.local hostname: server1 manage_etc_hosts: true runcmd: - systemctl start rc-local - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config - echo "UseDNS no" >> /etc/ssh/sshd_config - service ssh restart - service sshd restart users: - default - gecos: User configured by VIRL Configuration Engine 0.23.9 lock-passwd: false name: cisco plain-text-passwd: cisco shell: /bin/bash ssh-authorized-keys: - VIRL-USER-SSH-PUBLIC-KEY sudo: ALL=(ALL) ALL write_files: - path: /etc/systemd/system/dhclient@.service content: | [Unit] Description=Run dhclient on %i interface After=network.target [Service] Type=oneshot ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease RemainAfterExit=yes owner: root:root permissions: '0644' - path: /etc/rc.local owner: root:root permissions: '0755' content: |- #!/bin/sh ifconfig eth1 up 10.0.0.30 netmask 255.255.0.0 route add -host 192.168.0.1 gw 10.0.0.1 dev eth1 route add default gw 10.0.0.1 echo "nameserver 8.8.8.8" >/etc/resolv.conf chown -R cisco:cisco /home/cisco exit 0 - path: /home/cisco/udpclient.py content: | #!/usr/bin/python from socket import * # Server-Adresse und Port serverName = "localhost" serverPort = 17000 # Client Socket (IP, UDP) oeffnen clientSocket = socket(AF_INET, SOCK_DGRAM) # Nachricht vom Benutzer erfragen und versenden message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:") clientSocket.sendto(message,(serverName, serverPort)) # Antwort des Server aus Socket lesen und ausgeben modifiedMessage, serverAddress = clientSocket.recvfrom(2048) print "Antwort des Servers: ", modifiedMessage raw_input("Fertig...") # Verbindung schliessen clientSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/udpserver.py content: | #!/usr/bin/python from socket import * # UDP Port auf dem der Server lauschen soll... serverPort = 17000 # Server-Socket als Internet (INET) UDP (DGRAM) erzeugen und an o.g. Port binden serverSocket = socket(AF_INET, SOCK_DGRAM) serverSocket.bind(("", serverPort)) print "UDP Server ist bereit fuer den Empfang von Daten..." # Endlosschleife while 1: # Eingehende Nachrichten von Clients empfangen message, clientAddress = serverSocket.recvfrom(2048) # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den # Client zuruecksenden modifiedMessage = message.upper() serverSocket.sendto(modifiedMessage, clientAddress) owner: root:root permissions: '0777' - path: /home/cisco/tcpclient.py content: | #!/usr/bin/python from socket import * # Serveradresse und TCP Port auf den der Server hoert... serverName = "localhost" serverPort = 17000 # Socket fuer IP (INET) und TCP (STREAM) konfigurieren clientSocket = socket(AF_INET, SOCK_STREAM) clientSocket.connect((serverName,serverPort)) # Nachricht vom Benutzer abfragen und an den Server senden sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:") clientSocket.send(sentence) # Antwort des Servers ausgeben modifiedSentence = clientSocket.recv(1024) print "Antwort des Servers:", modifiedSentence raw_input("Fertig...") # Verbindung schliessen clientSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/tcpserver.py content: | #!/usr/bin/python from socket import * # TCP Port auf dem der Server lauschen soll... serverPort = 17000 # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden serverSocket = socket(AF_INET,SOCK_STREAM) serverSocket.bind(("",serverPort)) serverSocket.listen(1) print "TCP Server ist bereit fuer den Empfang von Daten..." # Endlosschleife while 1: # Eingehende Nachrichten akzeptieren und von Clients empfangen connectionSocket, addr = serverSocket.accept() sentence = connectionSocket.recv(1024) # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den # Client zuruecksenden capitalizedSentence = sentence.upper() connectionSocket.send(capitalizedSentence) # Verbindung schliessen connectionSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/tcpclient-download.py content: | #!/usr/bin/python from socket import * import time # Serveradresse und TCP Port auf den der Server hoert... serverName = "10.0.0.30" serverPort = 17000 # Socket fuer IP (INET) und TCP (STREAM) konfigurieren clientSocket = socket(AF_INET, SOCK_STREAM) clientSocket.connect((serverName,serverPort)) # Antwort des Servers ausgeben length = 0 start = time.time() while 1: data = clientSocket.recv(1024) if not data: break length += len(data) elapsed = time.time() - start print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)" raw_input("Fertig...") # Verbindung schliessen clientSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/tcpserver-download.py content: | #!/usr/bin/python from socket import * # TCP Port auf dem der Server lauschen soll... serverPort = 17000 # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden serverSocket = socket(AF_INET,SOCK_STREAM) serverSocket.bind(("",serverPort)) serverSocket.listen(1) downloadSize = raw_input("Download-Groesse: ") print "TCP Server ist bereit fuer den Download..." # Endlosschleife while 1: # Eingehende Nachrichten akzeptieren und von Clients empfangen connectionSocket, addr = serverSocket.accept() # Bytes an Client zuruecksenden connectionSocket.send("a" * int(downloadSize)) # Verbindung schliessen connectionSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/tcpdownload-client.py content: | #!/usr/bin/python from socket import * import time # Serveradresse und TCP Port auf den der Server hoert... serverName = "10.0.0.30" serverPort = 17000 # Socket fuer IP (INET) und TCP (STREAM) konfigurieren clientSocket = socket(AF_INET, SOCK_STREAM) clientSocket.connect((serverName,serverPort)) # Antwort des Servers ausgeben length = 0 start = time.time() while 1: data = clientSocket.recv(1024) if not data: break length += len(data) elapsed = time.time() - start print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)" raw_input("Fertig...") # Verbindung schliessen clientSocket.close() owner: root:root permissions: '0777' - path: /home/cisco/tcpdownload-server.py content: | #!/usr/bin/python from socket import * # TCP Port auf dem der Server lauschen soll... serverPort = 17000 # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden serverSocket = socket(AF_INET,SOCK_STREAM) serverSocket.bind(("",serverPort)) serverSocket.listen(1) downloadSize = raw_input("Download-Groesse: ") print "TCP Server ist bereit fuer den Download..." # Endlosschleife while 1: # Eingehende Nachrichten akzeptieren und von Clients empfangen connectionSocket, addr = serverSocket.accept() # Bytes an Client zuruecksenden connectionSocket.send("a" * int(downloadSize)) # Verbindung schliessen connectionSocket.close() owner: root:root permissions: '0777' false ! IOS Config generated on 2016-12-05 08:28 ! by autonetkit_0.23.5 ! hostname router1 boot-start-marker boot-end-marker ! vrf definition Mgmt-intf ! address-family ipv4 exit-address-family ! address-family ipv6 exit-address-family ! ! ! no aaa new-model ! ! ip cef ipv6 unicast-routing ipv6 cef ! ! service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption no service config enable password cisco ip classless ip subnet-zero no ip domain lookup ip domain name virl.info crypto key generate rsa modulus 768 ip ssh server algorithm authentication password username cisco privilege 15 secret cisco line vty 0 4 transport input ssh telnet exec-timeout 720 0 password cisco login local line con 0 password cisco ! cdp run ! ! interface Loopback0 description Loopback ip address 192.168.0.1 255.255.255.255 ! interface GigabitEthernet0/0 description OOB Management vrf forwarding Mgmt-intf ! Configured on launch no ip address cdp enable duplex full speed auto no shutdown ! interface GigabitEthernet0/1 description to Internet no ip address ip nat outside cdp enable duplex full speed auto no shutdown ! interface GigabitEthernet0/2 description to switch1 ip address 10.0.0.1 255.255.0.0 ip nat inside cdp enable ip ospf cost 1 duplex full speed auto no shutdown ! ! NAT stuff ! ip nat inside source list 1 interface GigabitEthernet0/1 overload ip route 0.0.0.0 0.0.0.0 172.16.1.1 access-list 1 permit 10.0.0.0 0.0.255.255 ! end