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.

269 lines
9.2 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.95" xsi:schemaLocation="http://www.cisco.com/VIRL https://raw.github.com/CiscoVIRL/schema/v0.95/virl.xsd">
<extensions>
<entry key="management_network" type="String">exclusive</entry>
</extensions>
<node name="veos-1" type="SIMPLE" subtype="vEOS" location="514,148" ipv4="10.10.10.253">
<extensions>
<entry key="Auto-generate config" type="Boolean">false</entry>
<entry key="config" type="String">! Command: show running-config
! device: vEOS-1 (vEOS, EOS-4.14.2F)
!
! boot system flash:/vEOS.swi
!
! AdvCompNet Lab 2 SDN
!
transceiver qsfp default-mode 4x10G
!
hostname veos-1
!
openflow
description SDN-OpenFlow-Lab
controller tcp:10.10.10.254:6633
bind interface Ethernet1
bind interface Ethernet2
!
spanning-tree mode mstp
!
no aaa root
!
username admin privilege 15 role network-admin secret 5 $1$S4W0XejC$69vFakMKc/k9N.nrrTiIY/
username cisco privilege 15 role network-admin secret 5 $1$rQS0W9wP$ZUzVG2XoGCCZCJopFp1aV/
!
vlan 10
!
interface Ethernet1
!
interface Ethernet2
!
interface Ethernet3
switchport access vlan 10
!
interface Management1
! ip of ma1 configured on launch
!
interface Vlan10
ip address 10.10.10.253/24
!
no ip routing
ip route 0.0.0.0 0.0.0.0 10.10.10.254
!
!
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>
<node name="client" type="SIMPLE" subtype="lxc" location="424,228" ipv4="10.10.20.10">
<extensions>
<entry key="Auto-generate config" type="Boolean">false</entry>
<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;
- 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.20.22&#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;
write_files:&#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&#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.2" netPrefixLenV4="30"/>
</node>
<node name="server" type="SIMPLE" subtype="lxc" location="617,228" 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;
- 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.20.22&#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;
write_files:&#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&#xD;
ifconfig eth1 up 10.10.20.20 netmask 255.255.255.0&#xD;
exit 0&#xD;
</entry>
<entry key="Auto-generate config" type="Boolean">false</entry>
</extensions>
<interface id="0" name="eth1" ipv4="10.0.0.6" netPrefixLenV4="30"/>
</node>
<node name="controller" type="SIMPLE" subtype="server" location="513,71" vmFlavor="m1.small [2]" 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;
- 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.20.22&#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;
write_files:&#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&#xD;
ifconfig eth2 up&#xD;
dhclient -nw eth2&#xD;
systemctl start dhclient@eth2.service&#xD;
ifconfig eth1 up 10.0.128.2 netmask 255.255.255.252&#xD;
exit 0&#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.1&#xD;
# change dns&#xD;
echo "nameserver 8.8.8.8" &gt;/etc/resolv.conf&#xD;
echo "nameserver 8.8.4.4" &gt;&gt;/etc/resolv.conf&#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/bash
# sudo check
if [ ! $UID -eq 0 ] ; then
echo "Root-Berechtigungen erforderlich. Bitte sudo benutzen."
exit -1
fi
rm -rf /tmp/debs
mkdir /tmp/debs&#xD;
cd /tmp/debs&#xD;
wget http://mmnet.informatik.hs-fulda.de/opendaylight-dep-debs.tar.gz&#xD;
tar zxvf opendaylight-dep-debs.tar.gz&#xD;
dpkg -i *.deb&#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&#xD;
</entry>
</extensions>
<interface id="0" name="eth1"/>
<interface id="1" name="eth2"/>
</node>
<annotations/>
<connection dst="/virl:topology/virl:node[3]/virl:interface[1]" src="/virl:topology/virl:node[1]/virl:interface[1]"/>
<connection dst="/virl:topology/virl:node[4]/virl:interface[1]" src="/virl:topology/virl:node[1]/virl:interface[2]"/>
<connection dst="/virl:topology/virl:node[1]/virl:interface[3]" src="/virl:topology/virl:node[5]/virl:interface[1]"/>
<connection dst="/virl:topology/virl:node[2]/virl:interface[1]" src="/virl:topology/virl:node[5]/virl:interface[2]"/>
</topology>