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.

622 lines
18 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">
<node name="Router-A" type="SIMPLE" subtype="IOSv" location="236,245">
<extensions>
<entry key="AutoNetkit.mgmt_ip" type="string"></entry>
<entry key="AutoNetkit.IGP" type="String">eigrp</entry>
<entry key="Auto-generate config" type="Boolean">false</entry>
<entry key="config" type="String">! IOS Config generated on 2015-09-06 21:22
! by autonetkit_0.18.1
!
hostname Router-A
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
line vty 0 4
transport input ssh telnet
exec-timeout 720 0
password cisco
login
line con 0
password cisco
!
no cdp run
!
!
interface Loopback0
description Loopback
ip address 192.168.0.2 255.255.255.255
!
interface GigabitEthernet0/0
description OOB Management
vrf forwarding Mgmt-intf
! Configured on launch
no ip address
duplex full
speed auto
no shutdown
!
interface GigabitEthernet0/1
description to wanEM
ip address 192.168.101.2 255.255.255.252
duplex full
speed auto
no shutdown
!
interface GigabitEthernet0/2
description to server-1
ip address 192.168.1.1 255.255.255.0
duplex full
speed auto
no shutdown
!
!
!
!
ip route 0.0.0.0 0.0.0.0 192.168.101.1
!
end
</entry>
</extensions>
<interface id="0" name="GigabitEthernet0/1" ipv4="192.168.101.2" netPrefixLenV4="24"/>
<interface id="1" name="GigabitEthernet0/2" ipv4="192.168.1.1" netPrefixLenV4="24"/>
</node>
<node name="Router-B" type="SIMPLE" subtype="IOSv" location="463,232">
<extensions>
<entry key="AutoNetkit.mgmt_ip" type="string"></entry>
<entry key="Auto-generate config" type="Boolean">false</entry>
<entry key="config" type="String">! IOS Config generated on 2015-09-06 21:22&#xD;
! by autonetkit_0.18.1&#xD;
!&#xD;
hostname Router-B&#xD;
boot-start-marker&#xD;
boot-end-marker&#xD;
!&#xD;
vrf definition Mgmt-intf&#xD;
!&#xD;
address-family ipv4&#xD;
exit-address-family&#xD;
!&#xD;
address-family ipv6&#xD;
exit-address-family&#xD;
!&#xD;
!&#xD;
!&#xD;
no aaa new-model&#xD;
!&#xD;
!&#xD;
ip cef&#xD;
ipv6 unicast-routing&#xD;
ipv6 cef&#xD;
!&#xD;
!&#xD;
service timestamps debug datetime msec&#xD;
service timestamps log datetime msec&#xD;
no service password-encryption&#xD;
no service config&#xD;
enable password cisco&#xD;
ip classless&#xD;
ip subnet-zero&#xD;
no ip domain lookup&#xD;
line vty 0 4&#xD;
transport input ssh telnet&#xD;
exec-timeout 720 0&#xD;
password cisco&#xD;
login&#xD;
line con 0&#xD;
password cisco&#xD;
!&#xD;
no cdp run&#xD;
!&#xD;
!&#xD;
interface Loopback0&#xD;
description Loopback&#xD;
ip address 192.168.0.3 255.255.255.255&#xD;
!&#xD;
interface GigabitEthernet0/0&#xD;
description OOB Management&#xD;
vrf forwarding Mgmt-intf&#xD;
! Configured on launch&#xD;
no ip address&#xD;
duplex full&#xD;
speed auto&#xD;
no shutdown&#xD;
!&#xD;
interface GigabitEthernet0/1&#xD;
description to wanEM&#xD;
ip address 192.168.102.2 255.255.255.252&#xD;
ip ospf cost 1&#xD;
duplex full&#xD;
speed auto&#xD;
no shutdown&#xD;
!&#xD;
interface GigabitEthernet0/2&#xD;
description to server-2&#xD;
ip address 192.168.2.1 255.255.255.0&#xD;
ip ospf cost 1&#xD;
duplex full&#xD;
speed auto&#xD;
no shutdown&#xD;
!&#xD;
!&#xD;
!&#xD;
ip route 0.0.0.0 0.0.0.0 192.168.102.1&#xD;
!&#xD;
end&#xD;
</entry>
</extensions>
<interface id="0" name="GigabitEthernet0/1"/>
<interface id="1" name="GigabitEthernet0/2" netPrefixLenV4="24"/>
</node>
<node name="Internet&#xD;&#xA;" type="ASSET" subtype="FLAT" location="391,42">
<extensions>
<entry key="host_network" type="String">flat</entry>
</extensions>
<interface id="0" name="link0"/>
</node>
<node name="Switch-A" type="SIMPLE" subtype="IOSvL2" location="552,358">
<extensions>
<entry key="AutoNetkit.mgmt_ip" type="string"></entry>
<entry key="config" type="String">! IOSvL2 Config generated on 2015-12-11 21:04
! by autonetkit_0.18.1
!
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
service compress-config
no service config
enable password cisco
ip classless
ip subnet-zero
no ip domain lookup
!
line vty 0 4
transport input ssh telnet
exec-timeout 720 0
password cisco
login
!
line con 0
password cisco
!
hostname Switch-A
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
spanning-tree mode pvst
spanning-tree extend system-id
!
vlan internal allocation policy ascending
!
!
!
!
vrf definition Mgmt-intf
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
!
!
!
!
!
interface Loopback0
description Loopback
!
interface GigabitEthernet0/0
description OOB management
! Configured on launch
no switchport
no ip address
no shutdown
!
interface GigabitEthernet0/1
description to Router-B
switchport access vlan 2
switchport mode access
no shutdown
!
interface GigabitEthernet0/2
description to Server-A
switchport access vlan 2
switchport mode access
shutdown
!
interface GigabitEthernet0/3
description to Server-B
switchport access vlan 2
switchport mode access
no shutdown
!
!
ip forward-protocol nd
!
no ip http server
no ip http secure-server
!
!
!
!
!
!
control-plane
!
!
!
end
</entry>
<entry key="Auto-generate config" type="Boolean">false</entry>
</extensions>
<interface id="0" name="GigabitEthernet0/1"/>
<interface id="1" name="GigabitEthernet0/2"/>
<interface id="2" name="GigabitEthernet0/3"/>
</node>
<node name="Client" type="SIMPLE" subtype="lxc" location="154,308">
<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;
- 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.18.9&#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/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 192.168.1.100 netmask 255.255.255.0&#xD;
route del default&#xD;
route add default gw 192.168.1.1&#xD;
#arp -i eth1 -s 192.168.1.1 aa:aa:aa:aa:aa:aa&#xD;
echo "alias unbug='sudo arp -d 192.168.1.1'" &gt;&gt;/home/cisco/.bashrc&#xD;
exit 0&#xD;
&#xD;
- path: /etc/resolv.conf&#xD;
owner: root:root&#xD;
permissions: '0644'&#xD;
content: |&#xD;
#by Patrick.&#xD;
nameserver 8.8.8.8&#xD;
</entry>
</extensions>
<interface id="0" name="eth1"/>
</node>
<node name="ISP" type="SIMPLE" subtype="lxc" location="343,149">
<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: ISP&#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.23.9&#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/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&#xD;
ifconfig eth1 up 192.168.101.1 netmask 255.255.255.252&#xD;
ifconfig eth2 up 192.168.102.1 netmask 255.255.255.252&#xD;
&#xD;
dhclient eth0&#xD;
dhclient eth3&#xD;
&#xD;
echo 1 &gt; /proc/sys/net/ipv4/ip_forward&#xD;
&#xD;
route add default gw 172.16.1.1 eth3&#xD;
&#xD;
route add -net 192.168.101.0/30 gw 192.168.101.2 dev eth1&#xD;
route add -net 192.168.1.0/24 gw 192.168.101.2 dev eth1&#xD;
&#xD;
route add -net 192.168.102.0/30 gw 192.168.102.2 dev eth2&#xD;
route add -net 192.168.2.0/24 gw 192.168.102.2 dev eth2&#xD;
&#xD;
iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE&#xD;
iptables -P FORWARD ACCEPT&#xD;
iptables -F FORWARD&#xD;
&#xD;
iptables -t nat -A PREROUTING -i eth3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.100:80&#xD;
iptables -t nat -A PREROUTING -i eth3 -p tcp -m tcp --dport 22 -j DNAT --to-destination 192.168.2.100:22&#xD;
&#xD;
/sbin/tc qdisc add dev eth2 root handle 1:1 netem delay 100ms loss 5%&#xD;
echo "alias unbug='sudo tc qdisc del dev eth2 root'" &gt;&gt;/home/cisco/.bashrc&#xD;
&#xD;
service ssh start&#xD;
&#xD;
hostname ISP&#xD;
&#xD;
exit 0&#xD;
&#xD;
</entry>
</extensions>
<interface id="0" name="eth1"/>
<interface id="1" name="eth2"/>
<interface id="2" name="eth3"/>
</node>
<node name="Server-B" type="SIMPLE" subtype="lxc" location="411,333">
<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: Server-B&#xD;
manage_etc_hosts: true&#xD;
&#xD;
runcmd:&#xD;
- start ttyS0&#xD;
- systemctl start getty@ttyS0.service&#xD;
- systemctl start rc-local&#xD;
- systemctl start install-webserver&#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.18.9&#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/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 192.168.2.100 netmask 255.255.255.0&#xD;
route del default&#xD;
route add default gw 192.168.2.1&#xD;
#route add -net 192.168.1.0/24 gw 127.0.0.1&#xD;
echo "alias unbug='sudo route del -net 192.168.1.0/24'" &gt;&gt;/home/cisco/.bashrc&#xD;
echo "nameserver 8.8.8.8" &gt;/etc/resolv.conf&#xD;
screen -dmS install-webserver /tmp/install-webserver &amp;&#xD;
exit 0&#xD;
- path: /tmp/install-webserver&#xD;
owner: root:root&#xD;
permissions: '0755'&#xD;
content: |-&#xD;
#!/bin/bash&#xD;
echo "Waiting for internet connectivity"&#xD;
until echo -n "." &amp;&amp; ping -c1 archive.ubuntu.com &amp;&gt;/dev/null; do :; done&#xD;
apt-get -y update&#xD;
apt-get -y install apache2&#xD;
echo "&lt;h1&gt;Willkommen auf Server-B!&lt;/h1&gt;" &gt;/var/www/html/index.html&#xD;
read -p "Press any key..."&#xD;
exit 0&#xD;
</entry>
</extensions>
<interface id="0" name="eth1"/>
</node>
<node name="Server-A" type="SIMPLE" subtype="lxc" location="639,256">
<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: Server-A&#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.18.9&#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/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 192.168.2.200 netmask 255.255.255.0&#xD;
route del default&#xD;
route add default gw 192.168.2.1&#xD;
exit 0&#xD;
&#xD;
- path: /etc/resolv.conf&#xD;
owner: root:root&#xD;
permissions: '0644'&#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;
nameserver 8.8.8.8</entry>
</extensions>
<interface id="0" name="eth1"/>
</node>
<annotations/>
<connection dst="/virl:topology/virl:node[4]/virl:interface[1]" src="/virl:topology/virl:node[2]/virl:interface[2]"/>
<connection dst="/virl:topology/virl:node[6]/virl:interface[1]" src="/virl:topology/virl:node[1]/virl:interface[1]"/>
<connection dst="/virl:topology/virl:node[2]/virl:interface[1]" src="/virl:topology/virl:node[6]/virl:interface[2]"/>
<connection dst="/virl:topology/virl:node[6]/virl:interface[3]" src="/virl:topology/virl:node[3]/virl:interface[1]"/>
<connection dst="/virl:topology/virl:node[4]/virl:interface[3]" src="/virl:topology/virl:node[7]/virl:interface[1]"/>
<connection dst="/virl:topology/virl:node[4]/virl:interface[2]" src="/virl:topology/virl:node[8]/virl:interface[1]"/>
<connection dst="/virl:topology/virl:node[5]/virl:interface[1]" src="/virl:topology/virl:node[1]/virl:interface[2]"/>
</topology>