Skip to content
Snippets Groups Projects
Commit 3e0a02f6 authored by Sebastian Rieger's avatar Sebastian Rieger
Browse files

fixed cloud config file generation and added tcp download client/server

parent 3fb8b72e
No related branches found
No related tags found
No related merge requests found
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<entry key="config" type="String">#cloud-config&#xD; <entry key="config" type="String">#cloud-config&#xD;
bootcmd:&#xD; bootcmd:&#xD;
- ln -s -t /etc/rc.d /etc/rc.local&#xD; - ln -s -t /etc/rc.d /etc/rc.local&#xD;
hostname: client&#xD; hostname: client1&#xD;
manage_etc_hosts: true&#xD; manage_etc_hosts: true&#xD;
runcmd:&#xD; runcmd:&#xD;
- systemctl start rc-local&#xD; - systemctl start rc-local&#xD;
...@@ -46,14 +46,37 @@ write_files:&#xD; ...@@ -46,14 +46,37 @@ write_files:&#xD;
#!/bin/sh&#xD; #!/bin/sh&#xD;
ifconfig eth1 up 10.0.0.20 netmask 255.255.0.0&#xD; ifconfig eth1 up 10.0.0.20 netmask 255.255.0.0&#xD;
route add -host 192.168.0.1 gw 10.0.0.1 dev eth1&#xD; route add -host 192.168.0.1 gw 10.0.0.1 dev eth1&#xD;
route add -net 10.0.0.0/16 gw 10.0.0.1 dev eth1&#xD;
route add default gw 10.0.0.1&#xD; route add default gw 10.0.0.1&#xD;
echo "nameserver 8.8.8.8" &gt;/etc/resolv.conf&#xD; echo "nameserver 8.8.8.8" &gt;/etc/resolv.conf&#xD;
chown -R cisco:cisco /home/cisco&#xD;
exit 0&#xD; exit 0&#xD;
- path: /home/cisco/udpserver.py&#xD; - path: /home/cisco/udp-client.py&#xD;
owner: cisco:cisco&#xD; content: |&#xD;
permissions: '0755'&#xD; #!/usr/bin/python&#xD;
content: |-&#xD; from socket import *&#xD;
&#xD;
# Server-Adresse und Port&#xD;
serverName = "localhost"&#xD;
serverPort = 17000&#xD;
&#xD;
# Client Socket (IP, UDP) oeffnen&#xD;
clientSocket = socket(AF_INET, SOCK_DGRAM)&#xD;
&#xD;
# Nachricht vom Benutzer erfragen und versenden&#xD;
message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:")&#xD;
clientSocket.sendto(message,(serverName, serverPort))&#xD;
&#xD;
# Antwort des Server aus Socket lesen und ausgeben&#xD;
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)&#xD;
print "Antwort des Servers: ", modifiedMessage&#xD;
raw_input("Fertig...")&#xD;
&#xD;
# Verbindung schliessen&#xD;
clientSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
- path: /home/cisco/udp-server.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD; #!/usr/bin/python&#xD;
from socket import *&#xD; from socket import *&#xD;
&#xD; &#xD;
...@@ -73,35 +96,35 @@ write_files:&#xD; ...@@ -73,35 +96,35 @@ write_files:&#xD;
# Client zuruecksenden&#xD; # Client zuruecksenden&#xD;
modifiedMessage = message.upper()&#xD; modifiedMessage = message.upper()&#xD;
serverSocket.sendto(modifiedMessage, clientAddress)&#xD; serverSocket.sendto(modifiedMessage, clientAddress)&#xD;
- path: /home/cisco/udpclient.py&#xD; owner: root:root&#xD;
owner: cisco:cisco&#xD; permissions: '0777'&#xD;
permissions: '0755'&#xD; - path: /home/cisco/tcp-client.py&#xD;
content: |-&#xD; content: |&#xD;
#!/usr/bin/python&#xD; #!/usr/bin/python&#xD;
from socket import *&#xD; from socket import *&#xD;
&#xD; &#xD;
# Server-Adresse und Port&#xD; # Serveradresse und TCP Port auf den der Server hoert...&#xD;
serverName = "localhost"&#xD; serverName = "localhost"&#xD;
serverPort = 17000&#xD; serverPort = 17000&#xD;
# Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
clientSocket.connect((serverName,serverPort))&#xD;
&#xD; &#xD;
# Client Socket (IP, UDP) oeffnen&#xD; # Nachricht vom Benutzer abfragen und an den Server senden&#xD;
clientSocket = socket(AF_INET, SOCK_DGRAM)&#xD; sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:")&#xD;
&#xD; clientSocket.send(sentence)&#xD;
# Nachricht vom Benutzer erfragen und versenden&#xD;
message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:")&#xD;
clientSocket.sendto(message,(serverName, serverPort))&#xD;
&#xD; &#xD;
# Antwort des Server aus Socket lesen und ausgeben&#xD; # Antwort des Servers ausgeben&#xD;
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)&#xD; modifiedSentence = clientSocket.recv(1024)&#xD;
print "Antwort des Servers: ", modifiedMessage&#xD; print "Antwort des Servers:", modifiedSentence&#xD;
raw_input("Fertig...")&#xD; raw_input("Fertig...")&#xD;
&#xD; &#xD;
# Verbindung schliessen&#xD; # Verbindung schliessen&#xD;
clientSocket.close()&#xD; clientSocket.close()&#xD;
- path: /home/cisco/tcpserver.py&#xD; owner: root:root&#xD;
owner: cisco:cisco&#xD; permissions: '0777'&#xD;
permissions: '0755'&#xD; - path: /home/cisco/tcp-server.py&#xD;
content: |-&#xD; content: |&#xD;
#!/usr/bin/python&#xD; #!/usr/bin/python&#xD;
from socket import *&#xD; from socket import *&#xD;
&#xD; &#xD;
...@@ -124,31 +147,61 @@ write_files:&#xD; ...@@ -124,31 +147,61 @@ write_files:&#xD;
connectionSocket.send(capitalizedSentence)&#xD; connectionSocket.send(capitalizedSentence)&#xD;
# Verbindung schliessen&#xD; # Verbindung schliessen&#xD;
connectionSocket.close()&#xD; connectionSocket.close()&#xD;
- path: /home/cisco/tcpclient.py&#xD; owner: root:root&#xD;
owner: cisco:cisco&#xD; permissions: '0777'&#xD;
permissions: '0755'&#xD; - path: /home/cisco/tcpdownload-client.py&#xD;
content: |-&#xD; content: |&#xD;
#!/usr/bin/python&#xD; #!/usr/bin/python&#xD;
from socket import *&#xD; from socket import *&#xD;
import time&#xD;
&#xD; &#xD;
# Serveradresse und TCP Port auf den der Server hoert...&#xD; # Serveradresse und TCP Port auf den der Server hoert...&#xD;
serverName = "localhost"&#xD; serverName = "10.0.0.30"&#xD;
serverPort = 17000&#xD; serverPort = 17000&#xD;
# Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD; # Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
clientSocket = socket(AF_INET, SOCK_STREAM)&#xD; clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
clientSocket.connect((serverName,serverPort))&#xD; clientSocket.connect((serverName,serverPort))&#xD;
&#xD;
# Nachricht vom Benutzer abfragen und an den Server senden&#xD;
sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:")&#xD;
clientSocket.send(sentence)&#xD;
&#xD; &#xD;
# Antwort des Servers ausgeben&#xD; # Antwort des Servers ausgeben&#xD;
modifiedSentence = clientSocket.recv(1024)&#xD; length = 0&#xD;
print "Antwort des Servers:", modifiedSentence&#xD; start = time.time()&#xD;
while 1:&#xD;
data = clientSocket.recv(1024)&#xD;
if not data:&#xD;
break&#xD;
length += len(data)&#xD;
elapsed = time.time() - start&#xD;
print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)"&#xD;
raw_input("Fertig...")&#xD; raw_input("Fertig...")&#xD;
&#xD; &#xD;
# Verbindung schliessen&#xD; # Verbindung schliessen&#xD;
clientSocket.close()&#xD; clientSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
- path: /home/cisco/tcpdownload-server.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD;
from socket import *&#xD;
&#xD;
# TCP Port auf dem der Server lauschen soll...&#xD;
serverPort = 17000&#xD;
# Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden&#xD;
serverSocket = socket(AF_INET,SOCK_STREAM)&#xD;
serverSocket.bind(("",serverPort))&#xD;
serverSocket.listen(1)&#xD;
downloadSize = raw_input("Download-Groesse: ")&#xD;
print "TCP Server ist bereit fuer den Download..."&#xD;
&#xD;
# Endlosschleife&#xD;
while 1:&#xD;
# Eingehende Nachrichten akzeptieren und von Clients empfangen&#xD;
connectionSocket, addr = serverSocket.accept()&#xD;
# Bytes an Client zuruecksenden&#xD;
connectionSocket.send("a" * int(downloadSize))&#xD;
# Verbindung schliessen&#xD;
connectionSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
</entry> </entry>
</extensions> </extensions>
<interface id="0" name="eth1" ipv4="10.0.0.2" netPrefixLenV4="16"/> <interface id="0" name="eth1" ipv4="10.0.0.2" netPrefixLenV4="16"/>
...@@ -158,7 +211,7 @@ write_files:&#xD; ...@@ -158,7 +211,7 @@ write_files:&#xD;
<entry key="config" type="String">#cloud-config&#xD; <entry key="config" type="String">#cloud-config&#xD;
bootcmd:&#xD; bootcmd:&#xD;
- ln -s -t /etc/rc.d /etc/rc.local&#xD; - ln -s -t /etc/rc.d /etc/rc.local&#xD;
hostname: server&#xD; hostname: server1&#xD;
manage_etc_hosts: true&#xD; manage_etc_hosts: true&#xD;
runcmd:&#xD; runcmd:&#xD;
- systemctl start rc-local&#xD; - systemctl start rc-local&#xD;
...@@ -195,20 +248,225 @@ write_files:&#xD; ...@@ -195,20 +248,225 @@ write_files:&#xD;
#!/bin/sh&#xD; #!/bin/sh&#xD;
ifconfig eth1 up 10.0.0.30 netmask 255.255.0.0&#xD; ifconfig eth1 up 10.0.0.30 netmask 255.255.0.0&#xD;
route add -host 192.168.0.1 gw 10.0.0.1 dev eth1&#xD; route add -host 192.168.0.1 gw 10.0.0.1 dev eth1&#xD;
route add -net 10.0.0.0/16 gw 10.0.0.1 dev eth1&#xD;
route add default gw 10.0.0.1&#xD; route add default gw 10.0.0.1&#xD;
echo "nameserver 8.8.8.8" &gt;/etc/resolv.conf&#xD; echo "nameserver 8.8.8.8" &gt;/etc/resolv.conf&#xD;
chown -R cisco:cisco /home/cisco&#xD;
exit 0&#xD; exit 0&#xD;
- path: /home/cisco/udpclient.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD;
from socket import *&#xD;
&#xD;
# Server-Adresse und Port&#xD;
serverName = "localhost"&#xD;
serverPort = 17000&#xD;
&#xD;
# Client Socket (IP, UDP) oeffnen&#xD;
clientSocket = socket(AF_INET, SOCK_DGRAM)&#xD;
&#xD;
# Nachricht vom Benutzer erfragen und versenden&#xD;
message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:")&#xD;
clientSocket.sendto(message,(serverName, serverPort))&#xD;
&#xD;
# Antwort des Server aus Socket lesen und ausgeben&#xD;
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)&#xD;
print "Antwort des Servers: ", modifiedMessage&#xD;
raw_input("Fertig...")&#xD;
&#xD;
# Verbindung schliessen&#xD;
clientSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
- path: /home/cisco/udpserver.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD;
from socket import *&#xD;
&#xD;
# UDP Port auf dem der Server lauschen soll...&#xD;
serverPort = 17000&#xD;
&#xD;
# Server-Socket als Internet (INET) UDP (DGRAM) erzeugen und an o.g. Port binden&#xD;
serverSocket = socket(AF_INET, SOCK_DGRAM)&#xD;
serverSocket.bind(("", serverPort))&#xD;
print "UDP Server ist bereit fuer den Empfang von Daten..."&#xD;
&#xD;
# Endlosschleife&#xD;
while 1:&#xD;
# Eingehende Nachrichten von Clients empfangen&#xD;
message, clientAddress = serverSocket.recvfrom(2048)&#xD;
# Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den&#xD;
# Client zuruecksenden&#xD;
modifiedMessage = message.upper()&#xD;
serverSocket.sendto(modifiedMessage, clientAddress)&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
- path: /home/cisco/tcpclient.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD;
from socket import *&#xD;
&#xD;
# Serveradresse und TCP Port auf den der Server hoert...&#xD;
serverName = "localhost"&#xD;
serverPort = 17000&#xD;
# Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
clientSocket.connect((serverName,serverPort))&#xD;
&#xD;
# Nachricht vom Benutzer abfragen und an den Server senden&#xD;
sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:")&#xD;
clientSocket.send(sentence)&#xD;
&#xD;
# Antwort des Servers ausgeben&#xD;
modifiedSentence = clientSocket.recv(1024)&#xD;
print "Antwort des Servers:", modifiedSentence&#xD;
raw_input("Fertig...")&#xD;
&#xD;
# Verbindung schliessen&#xD;
clientSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
- path: /home/cisco/tcpserver.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD;
from socket import *&#xD;
&#xD;
# TCP Port auf dem der Server lauschen soll...&#xD;
serverPort = 17000&#xD;
# Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden&#xD;
serverSocket = socket(AF_INET,SOCK_STREAM)&#xD;
serverSocket.bind(("",serverPort))&#xD;
serverSocket.listen(1)&#xD;
print "TCP Server ist bereit fuer den Empfang von Daten..."&#xD;
&#xD;
# Endlosschleife&#xD;
while 1:&#xD;
# Eingehende Nachrichten akzeptieren und von Clients empfangen&#xD;
connectionSocket, addr = serverSocket.accept()&#xD;
sentence = connectionSocket.recv(1024)&#xD;
# Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den&#xD;
# Client zuruecksenden&#xD;
capitalizedSentence = sentence.upper()&#xD;
connectionSocket.send(capitalizedSentence)&#xD;
# Verbindung schliessen&#xD;
connectionSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
- path: /home/cisco/tcpclient-download.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD;
from socket import *&#xD;
import time&#xD;
&#xD;
# Serveradresse und TCP Port auf den der Server hoert...&#xD;
serverName = "10.0.0.30"&#xD;
serverPort = 17000&#xD;
# Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
clientSocket.connect((serverName,serverPort))&#xD;
&#xD;
# Antwort des Servers ausgeben&#xD;
length = 0&#xD;
start = time.time()&#xD;
while 1:&#xD;
data = clientSocket.recv(1024)&#xD;
if not data:&#xD;
break&#xD;
length += len(data)&#xD;
elapsed = time.time() - start&#xD;
print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)"&#xD;
raw_input("Fertig...")&#xD;
&#xD;
# Verbindung schliessen&#xD;
clientSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
- path: /home/cisco/tcpserver-download.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD;
from socket import *&#xD;
&#xD;
# TCP Port auf dem der Server lauschen soll...&#xD;
serverPort = 17000&#xD;
# Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden&#xD;
serverSocket = socket(AF_INET,SOCK_STREAM)&#xD;
serverSocket.bind(("",serverPort))&#xD;
serverSocket.listen(1)&#xD;
downloadSize = raw_input("Download-Groesse: ")&#xD;
print "TCP Server ist bereit fuer den Download..."&#xD;
&#xD;
# Endlosschleife&#xD;
while 1:&#xD;
# Eingehende Nachrichten akzeptieren und von Clients empfangen&#xD;
connectionSocket, addr = serverSocket.accept()&#xD;
# Bytes an Client zuruecksenden&#xD;
connectionSocket.send("a" * int(downloadSize))&#xD;
# Verbindung schliessen&#xD;
connectionSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
- path: /home/cisco/tcpdownload-client.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD;
from socket import *&#xD;
import time&#xD;
&#xD;
# Serveradresse und TCP Port auf den der Server hoert...&#xD;
serverName = "10.0.0.30"&#xD;
serverPort = 17000&#xD;
# Socket fuer IP (INET) und TCP (STREAM) konfigurieren&#xD;
clientSocket = socket(AF_INET, SOCK_STREAM)&#xD;
clientSocket.connect((serverName,serverPort))&#xD;
&#xD;
# Antwort des Servers ausgeben&#xD;
length = 0&#xD;
start = time.time()&#xD;
while 1:&#xD;
data = clientSocket.recv(1024)&#xD;
if not data:&#xD;
break&#xD;
length += len(data)&#xD;
elapsed = time.time() - start&#xD;
print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)"&#xD;
raw_input("Fertig...")&#xD;
&#xD;
# Verbindung schliessen&#xD;
clientSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
- path: /home/cisco/tcpdownload-server.py&#xD;
content: |&#xD;
#!/usr/bin/python&#xD;
from socket import *&#xD;
&#xD;
# TCP Port auf dem der Server lauschen soll...&#xD;
serverPort = 17000&#xD;
# Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden&#xD;
serverSocket = socket(AF_INET,SOCK_STREAM)&#xD;
serverSocket.bind(("",serverPort))&#xD;
serverSocket.listen(1)&#xD;
downloadSize = raw_input("Download-Groesse: ")&#xD;
print "TCP Server ist bereit fuer den Download..."&#xD;
&#xD;
# Endlosschleife&#xD;
while 1:&#xD;
# Eingehende Nachrichten akzeptieren und von Clients empfangen&#xD;
connectionSocket, addr = serverSocket.accept()&#xD;
# Bytes an Client zuruecksenden&#xD;
connectionSocket.send("a" * int(downloadSize))&#xD;
# Verbindung schliessen&#xD;
connectionSocket.close()&#xD;
owner: root:root&#xD;
permissions: '0777'&#xD;
</entry> </entry>
</extensions> </extensions>
<interface id="0" name="eth1" ipv4="10.0.0.3" netPrefixLenV4="16"/> <interface id="0" name="eth1" ipv4="10.0.0.3" netPrefixLenV4="16"/>
</node> </node>
<node name="switch1" type="SIMPLE" subtype="Unmanaged Switch" location="446,227"> <node name="switch1" type="SIMPLE" subtype="Unmanaged Switch" location="459,232">
<interface id="0" name="link1"/> <interface id="0" name="link1"/>
<interface id="1" name="link2"/> <interface id="1" name="link2"/>
<interface id="2" name="link3"/> <interface id="2" name="link3"/>
</node> </node>
<node name="router1" type="SIMPLE" subtype="IOSv" location="446,106"> <node name="router1" type="SIMPLE" subtype="IOSv" location="459,111">
<extensions> <extensions>
<entry key="AutoNetkit.mgmt_ip" type="string"></entry> <entry key="AutoNetkit.mgmt_ip" type="string"></entry>
<entry key="Auto-generate config" type="Boolean">false</entry> <entry key="Auto-generate config" type="Boolean">false</entry>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment