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.

287 lines
10 KiB

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<topology xmlns="http://www.cisco.com/VIRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="0.9" xsi:schemaLocation="http://www.cisco.com/VIRL https://raw.github.com/CiscoVIRL/schema/v0.9/virl.xsd">
<node name="client" type="SIMPLE" subtype="server" location="387,214" ipv4="10.10.20.10">
<extensions>
<entry key="config" type="String">#cloud-config&#xD;
bootcmd:&#xD;
- ln -s -t /etc/rc.d /etc/rc.local&#xD;
hostname: client&#xD;
manage_etc_hosts: true&#xD;
runcmd:&#xD;
- start ttyS0&#xD;
- systemctl start getty@ttyS0.service&#xD;
- systemctl start rc-local&#xD;
- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config&#xD;
- echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config&#xD;
- service ssh restart&#xD;
- service sshd restart&#xD;
users:&#xD;
- default&#xD;
- gecos: User configured by VIRL Configuration Engine 0.15.8&#xD;
lock-passwd: false&#xD;
name: cisco&#xD;
plain-text-passwd: cisco&#xD;
shell: /bin/bash&#xD;
ssh-authorized-keys:&#xD;
- VIRL-USER-SSH-PUBLIC-KEY&#xD;
sudo: ALL=(ALL) ALL&#xD;
packages:&#xD;
- joe&#xD;
- iperf&#xD;
write_files:&#xD;
- path: /etc/init/ttyS0.conf&#xD;
owner: root:root&#xD;
content: |&#xD;
# ttyS0 - getty&#xD;
# This service maintains a getty on ttyS0 from the point the system is&#xD;
# started until it is shut down again.&#xD;
start on stopped rc or RUNLEVEL=[12345]&#xD;
stop on runlevel [!12345]&#xD;
respawn&#xD;
exec /sbin/getty -L 115200 ttyS0 vt102&#xD;
permissions: '0644'&#xD;
- path: /etc/systemd/system/dhclient@.service&#xD;
content: |&#xD;
[Unit]&#xD;
Description=Run dhclient on %i interface&#xD;
After=network.target&#xD;
[Service]&#xD;
Type=oneshot&#xD;
ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease&#xD;
RemainAfterExit=yes&#xD;
owner: root:root&#xD;
permissions: '0644'&#xD;
- path: /etc/rc.local&#xD;
owner: root:root&#xD;
permissions: '0755'&#xD;
content: |-&#xD;
#!/bin/sh -e&#xD;
ifconfig eth1 up 10.10.20.10 netmask 255.255.255.0&#xD;
exit 0&#xD;
</entry>
</extensions>
<interface id="0" name="eth1" ipv4="10.0.0.9" netPrefixLenV4="30"/>
</node>
<node name="server" type="SIMPLE" subtype="server" location="673,214" ipv4="10.10.20.20">
<extensions>
<entry key="config" type="String">#cloud-config&#xD;
bootcmd:&#xD;
- ln -s -t /etc/rc.d /etc/rc.local&#xD;
hostname: server&#xD;
manage_etc_hosts: true&#xD;
runcmd:&#xD;
- start ttyS0&#xD;
- systemctl start getty@ttyS0.service&#xD;
- systemctl start rc-local&#xD;
- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config&#xD;
- echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config&#xD;
- service ssh restart&#xD;
- service sshd restart&#xD;
users:&#xD;
- default&#xD;
- gecos: User configured by VIRL Configuration Engine 0.15.8&#xD;
lock-passwd: false&#xD;
name: cisco&#xD;
plain-text-passwd: cisco&#xD;
shell: /bin/bash&#xD;
ssh-authorized-keys:&#xD;
- VIRL-USER-SSH-PUBLIC-KEY&#xD;
sudo: ALL=(ALL) ALL&#xD;
packages:&#xD;
- joe&#xD;
- iperf&#xD;
- apache2&#xD;
write_files:&#xD;
- path: /etc/init/ttyS0.conf&#xD;
owner: root:root&#xD;
content: |&#xD;
# ttyS0 - getty&#xD;
# This service maintains a getty on ttyS0 from the point the system is&#xD;
# started until it is shut down again.&#xD;
start on stopped rc or RUNLEVEL=[12345]&#xD;
stop on runlevel [!12345]&#xD;
respawn&#xD;
exec /sbin/getty -L 115200 ttyS0 vt102&#xD;
permissions: '0644'&#xD;
- path: /etc/systemd/system/dhclient@.service&#xD;
content: |&#xD;
[Unit]&#xD;
Description=Run dhclient on %i interface&#xD;
After=network.target&#xD;
[Service]&#xD;
Type=oneshot&#xD;
ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease&#xD;
RemainAfterExit=yes&#xD;
owner: root:root&#xD;
permissions: '0644'&#xD;
- path: /etc/rc.local&#xD;
owner: root:root&#xD;
permissions: '0755'&#xD;
content: |-&#xD;
#!/bin/sh -e&#xD;
ifconfig eth1 up 10.10.20.20 netmask 255.255.255.0&#xD;
exit 0&#xD;
</entry>
</extensions>
<interface id="0" name="eth1" ipv4="10.0.0.5" netPrefixLenV4="30"/>
</node>
<node name="controller" type="SIMPLE" subtype="server" location="506,54" vmFlavor="server-medium [9094074e-b640-4fd7-b296-efa4ddaca4c5]" ipv4="10.10.10.254">
<extensions>
<entry key="config" type="String">#cloud-config&#xD;
bootcmd:&#xD;
- ln -s -t /etc/rc.d /etc/rc.local&#xD;
hostname: controller&#xD;
manage_etc_hosts: true&#xD;
runcmd:&#xD;
- start ttyS0&#xD;
- systemctl start getty@ttyS0.service&#xD;
- systemctl start rc-local&#xD;
- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config&#xD;
- echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config&#xD;
- service ssh restart&#xD;
- service sshd restart&#xD;
- /tmp/install-odl&#xD;
users:&#xD;
- default&#xD;
- gecos: User configured by VIRL Configuration Engine 0.15.8&#xD;
lock-passwd: false&#xD;
name: cisco&#xD;
plain-text-passwd: cisco&#xD;
shell: /bin/bash&#xD;
ssh-authorized-keys:&#xD;
- VIRL-USER-SSH-PUBLIC-KEY&#xD;
sudo: ALL=(ALL) ALL&#xD;
packages:&#xD;
- joe&#xD;
- iperf&#xD;
- unzip&#xD;
- openjdk-7-jre-headless&#xD;
write_files:&#xD;
- path: /etc/init/ttyS0.conf&#xD;
owner: root:root&#xD;
content: |&#xD;
# ttyS0 - getty&#xD;
# This service maintains a getty on ttyS0 from the point the system is&#xD;
# started until it is shut down again.&#xD;
start on stopped rc or RUNLEVEL=[12345]&#xD;
stop on runlevel [!12345]&#xD;
respawn&#xD;
exec /sbin/getty -L 115200 ttyS0 vt102&#xD;
permissions: '0644'&#xD;
- path: /etc/systemd/system/dhclient@.service&#xD;
content: |&#xD;
[Unit]&#xD;
Description=Run dhclient on %i interface&#xD;
After=network.target&#xD;
[Service]&#xD;
Type=oneshot&#xD;
ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease&#xD;
RemainAfterExit=yes&#xD;
owner: root:root&#xD;
permissions: '0644'&#xD;
- path: /etc/rc.local&#xD;
owner: root:root&#xD;
permissions: '0755'&#xD;
content: |-&#xD;
#!/bin/sh -e&#xD;
ifconfig eth1 up 10.10.10.254 netmask 255.255.255.0&#xD;
ifconfig eth2 up&#xD;
dhclient eth2&#xD;
# set default gateway to VIRL host in flat1 &#xD;
route del -net default&#xD;
route add -net default gw 172.16.1.254&#xD;
# enable routing and NAT for 10.10.0.0/16&#xD;
sysctl -w net.ipv4.ip_forward=1&#xD;
iptables -A POSTROUTING -t nat -s 10.10.0.0/16 -o eth2 -j MASQUERADE&#xD;
exit 0&#xD;
- path: /tmp/install-odl&#xD;
owner: root:root&#xD;
permissions: '0755'&#xD;
content: |-&#xD;
#!/bin/sh -e&#xD;
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/&#xD;
echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/" &gt;/etc/profile.d/Z99-java-home.sh&#xD;
# setup opendaylight controller&#xD;
#################&#xD;
# Hydrogen&#xD;
#################&#xD;
cd /tmp&#xD;
wget http://mmnet.informatik.hs-fulda.de/distributions-base-0.1.1-osgipackage.zip&#xD;
unzip distributions-base-0.1.1-osgipackage.zip&#xD;
#################&#xD;
# Lithium&#xD;
#################&#xD;
#wget http://mmnet.informatik.hs-fulda.de/distribution-karaf-0.3.0-Lithium.tar.gz&#xD;
#tar zxf distribution-karaf-0.3.0-Lithium.tar.gz&#xD;
#echo -e "feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-core odl-dlux-node odl-dlux-yangui\nlogout" | ./distribution-karaf-0.3.0-Lithium/bin/karaf&#xD;
#./distribution-karaf-0.3.0-Lithium/bin/start&#xD;
#&#xD;
#################&#xD;
# LXDE&#xD;
#################&#xD;
# apt-get -y install midori lxde wireshark&#xD;
exit 0</entry>
</extensions>
<interface id="0" name="eth1" ipv4="10.0.0.13" netPrefixLenV4="30"/>
<interface id="1" name="eth2"/>
</node>
<node name="veos-1" type="SIMPLE" subtype="vEOS" location="514,148">
<extensions>
<entry key="Auto-generate config" type="Boolean">false</entry>
<entry key="config" type="String">! Command: show running-config&#xD;
! device: vEOS-1 (vEOS, EOS-4.14.2F)&#xD;
!&#xD;
! boot system flash:/vEOS.swi&#xD;
!&#xD;
! AdvCompNet Lab 2 SDN&#xD;
!&#xD;
transceiver qsfp default-mode 4x10G&#xD;
!&#xD;
hostname vEOS-1&#xD;
!&#xD;
openflow&#xD;
description SDN-OpenFlow-Lab&#xD;
controller tcp:10.10.10.254:6633&#xD;
bind interface Ethernet1&#xD;
bind interface Ethernet2&#xD;
!&#xD;
spanning-tree mode mstp&#xD;
!&#xD;
no aaa root&#xD;
!&#xD;
username admin privilege 15 role network-admin secret 5 $1$S4W0XejC$69vFakMKc/k9N.nrrTiIY/&#xD;
username cisco privilege 15 role network-admin secret 5 $1$rQS0W9wP$ZUzVG2XoGCCZCJopFp1aV/&#xD;
!&#xD;
vlan 10&#xD;
!&#xD;
interface Ethernet1&#xD;
!&#xD;
interface Ethernet2&#xD;
!&#xD;
interface Ethernet3&#xD;
switchport access vlan 10&#xD;
!&#xD;
interface Management1&#xD;
! ip of ma1 configured on launch&#xD;
!&#xD;
interface Vlan10&#xD;
ip address 10.10.10.253/24&#xD;
!&#xD;
no ip routing&#xD;
ip route 0.0.0.0 0.0.0.0 10.10.10.254&#xD;
!&#xD;
!&#xD;
end</entry>
</extensions>
<interface id="0" name="Ethernet1" ipv4="10.0.0.10" netPrefixLenV4="30"/>
<interface id="1" name="Ethernet2" ipv4="10.0.0.6" netPrefixLenV4="30"/>
<interface id="2" name="Ethernet3" ipv4="10.0.0.14" netPrefixLenV4="30"/>
</node>
<node name="flat-1" type="ASSET" subtype="FLAT" location="411,38">
<interface id="0" name="link0"/>
</node>
<connection dst="/virl:topology/virl:node[1]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[1]"/>
<connection dst="/virl:topology/virl:node[2]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[2]"/>
<connection dst="/virl:topology/virl:node[3]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[3]"/>
<connection dst="/virl:topology/virl:node[5]/virl:interface[1]" src="/virl:topology/virl:node[3]/virl:interface[2]"/>
</topology>