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.

366 lines
12 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="iosv-1" type="SIMPLE" subtype="IOSv" location="185,293" ipv4="192.168.101.2">
<extensions>
<entry key="AutoNetkit.mgmt_ip" type="string"></entry>
<entry key="AutoNetkit.IGP" type="String">eigrp</entry>
<entry key="config" type="String">! IOS Config generated on 2015-09-06 21:22&#xD;
! by autonetkit_0.18.1&#xD;
!&#xD;
hostname iosv-1&#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.2 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.101.2 255.255.255.0&#xD;
duplex full&#xD;
speed auto&#xD;
no shutdown&#xD;
!&#xD;
interface GigabitEthernet0/2&#xD;
description to server-1&#xD;
ip address 192.168.1.1 255.255.255.0&#xD;
duplex full&#xD;
speed auto&#xD;
no shutdown&#xD;
!&#xD;
!&#xD;
!&#xD;
&#xD;
!&#xD;
ip route 0.0.0.0 0.0.0.0 192.168.101.1&#xD;
!&#xD;
end&#xD;
</entry>
<entry key="Auto-generate config" type="Boolean">false</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="server-1" type="SIMPLE" subtype="server" location="165,452">
<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-1&#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 add -net 192.168.0.2/31 gw 192.168.1.1 dev eth1&#xD;
route add -net 192.168.1.0/24 gw 192.168.1.1 dev eth1&#xD;
route add -net 192.168.101.0/24 gw 192.168.1.1 dev eth1&#xD;
route add -net 192.168.102.0/24 gw 192.168.1.1 dev eth1&#xD;
route add -net 192.168.2.0/24 gw 192.168.1.1 dev eth1&#xD;
route del default&#xD;
route add default gw 192.168.1.1&#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" ipv4="192.168.1.100" netPrefixLenV4="24"/>
</node>
<node name="wanEM" type="SIMPLE" subtype="wanEM" location="340,139" vmImage="fdai4298-wanEM-bash-init [b7b5b189-12e6-4c87-a3c6-6d736ba6522c]" vmFlavor="m1.small [2]">
<extensions>
<entry key="Auto-generate config" type="Boolean">false</entry>
<entry key="config" type="String"> ifconfig eth1 up 192.168.101.1 netmask 255.255.255.0&#xD;
ifconfig eth2 up 192.168.102.1 netmask 255.255.255.0&#xD;
&#xD;
&#xD;
dhclient eth0&#xD;
dhclient eth3&#xD;
&#xD;
&#xD;
route add default gw 172.16.1.254 eth3&#xD;
route add -net 192.168.101.0/24 gw 192.168.101.2 dev eth1&#xD;
route add -net 192.168.1.0/24 gw 192.168.101.2 dev eth1&#xD;
route add -net 192.168.102.0/24 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;
&#xD;
iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE&#xD;
iptables -A FORWARD -i eth2 -j ACCEPT&#xD;
iptables -A FORWARD -i eth1 -j ACCEPT&#xD;
/sbin/tc qdisc add dev eth3 root handle 1:1 netem delay 100ms&#xD;
service ssh start&#xD;
&#xD;
exit 0&#xD;
</entry>
</extensions>
<interface id="0" name="Ethernet1" ipv4="192.168.101.1" netPrefixLenV4="24"/>
<interface id="1" name="Ethernet2" ipv4="192.168.102.1" netPrefixLenV4="24"/>
<interface id="2" name="Ethernet3"/>
</node>
<node name="iosv-2" type="SIMPLE" subtype="IOSv" location="480,286" ipv4="192.168.102.2">
<extensions>
<entry key="AutoNetkit.mgmt_ip" type="string"></entry>
<entry key="config" type="String">! IOS Config generated on 2015-09-06 21:22&#xD;
! by autonetkit_0.18.1&#xD;
!&#xD;
hostname iosv-2&#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.0&#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>
<entry key="Auto-generate config" type="Boolean">false</entry>
</extensions>
<interface id="0" name="GigabitEthernet0/1" ipv4="192.168.102.2" netPrefixLenV4="24"/>
<interface id="1" name="GigabitEthernet0/2" ipv4="192.168.2.1" netPrefixLenV4="24"/>
</node>
<node name="server-2" type="SIMPLE" subtype="server" location="500,463">
<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-2&#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.100 netmask 255.255.255.0&#xD;
route add -net 192.168.0.2/31 gw 192.168.2.1 dev eth1&#xD;
route add -net 192.168.1.0/24 gw 192.168.2.1 dev eth1&#xD;
route add -net 192.168.101.0/24 gw 192.168.2.1 dev eth1&#xD;
route add -net 192.168.102.0/24 gw 192.168.2.1 dev eth1&#xD;
route add -net 192.168.2.0/24 gw 192.168.2.1 dev eth1&#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" ipv4="192.168.2.100" netPrefixLenV4="24"/>
</node>
<node name="flat-1" type="ASSET" subtype="FLAT" location="358,16">
<interface id="0" name="link0"/>
</node>
<connection dst="/virl:topology/virl:node[2]/virl:interface[1]" src="/virl:topology/virl:node[1]/virl:interface[2]"/>
<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[3]/virl:interface[2]"/>
<connection dst="/virl:topology/virl:node[5]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[2]"/>
<connection dst="/virl:topology/virl:node[3]/virl:interface[3]" src="/virl:topology/virl:node[6]/virl:interface[1]"/>
</topology>