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.
1236 lines
38 KiB
1236 lines
38 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">!
|
|
! Last configuration change at 22:03:48 UTC Sun Jan 15 2017
|
|
!
|
|
version 15.6
|
|
service timestamps debug datetime msec
|
|
service timestamps log datetime msec
|
|
no service password-encryption
|
|
!
|
|
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
|
|
!
|
|
enable password cisco
|
|
!
|
|
no aaa new-model
|
|
ethernet lmi ce
|
|
!
|
|
!
|
|
!
|
|
mmi polling-interval 60
|
|
no mmi auto-configure
|
|
no mmi pvc
|
|
mmi snmp-timeout 180
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
no ip domain lookup
|
|
ip cef
|
|
ipv6 unicast-routing
|
|
ipv6 cef
|
|
!
|
|
multilink bundle-name authenticated
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
redundancy
|
|
!
|
|
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
|
|
ip address 10.255.0.229 255.255.0.0
|
|
duplex full
|
|
speed auto
|
|
media-type rj45
|
|
!
|
|
interface GigabitEthernet0/1
|
|
description to ISP
|
|
ip address 192.168.101.2 255.255.255.252
|
|
duplex full
|
|
speed auto
|
|
media-type rj45
|
|
!
|
|
interface GigabitEthernet0/2
|
|
description toRechnungswesen
|
|
ip address 192.168.100.1 255.255.255.128
|
|
duplex auto
|
|
speed auto
|
|
media-type rj45
|
|
!
|
|
interface GigabitEthernet0/4
|
|
description toAdminsitration
|
|
ip address 192.168.100.129 255.255.255.192
|
|
duplex auto
|
|
speed auto
|
|
media-type rj45
|
|
!
|
|
interface GigabitEthernet0/3
|
|
description toManagement
|
|
ip address 192.168.100.193 255.255.255.240
|
|
duplex auto
|
|
speed auto
|
|
media-type rj45
|
|
!
|
|
ip forward-protocol nd
|
|
!
|
|
!
|
|
no ip http server
|
|
no ip http secure-server
|
|
ip route 0.0.0.0 0.0.0.0 192.168.101.1
|
|
!
|
|
!
|
|
!
|
|
!
|
|
control-plane
|
|
!
|
|
banner exec `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner incoming `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner login `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
!
|
|
line con 0
|
|
password cisco
|
|
line aux 0
|
|
line vty 0 4
|
|
exec-timeout 720 0
|
|
password cisco
|
|
login
|
|
transport input telnet ssh
|
|
!
|
|
no scheduler allocate
|
|
!
|
|
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"/>
|
|
<interface id="2" name="GigabitEthernet0/3"/>
|
|
<interface id="3" name="GigabitEthernet0/4"/>
|
|
</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">!
|
|
! Last configuration change at 22:03:51 UTC Sun Jan 15 2017
|
|
!
|
|
version 15.6
|
|
service timestamps debug datetime msec
|
|
service timestamps log datetime msec
|
|
no service password-encryption
|
|
!
|
|
hostname Router-B
|
|
!
|
|
boot-start-marker
|
|
boot-end-marker
|
|
!
|
|
!
|
|
vrf definition Mgmt-intf
|
|
!
|
|
address-family ipv4
|
|
exit-address-family
|
|
!
|
|
address-family ipv6
|
|
exit-address-family
|
|
!
|
|
enable password cisco
|
|
!
|
|
no aaa new-model
|
|
ethernet lmi ce
|
|
!
|
|
!
|
|
!
|
|
mmi polling-interval 60
|
|
no mmi auto-configure
|
|
no mmi pvc
|
|
mmi snmp-timeout 180
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
no ip domain lookup
|
|
ip cef
|
|
ipv6 unicast-routing
|
|
ipv6 cef
|
|
!
|
|
multilink bundle-name authenticated
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
redundancy
|
|
!
|
|
no cdp run
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
interface Loopback0
|
|
description Loopback
|
|
ip address 192.168.0.3 255.255.255.255
|
|
!
|
|
interface GigabitEthernet0/0
|
|
description OOB Management
|
|
vrf forwarding Mgmt-intf
|
|
ip address 10.255.0.230 255.255.0.0
|
|
duplex full
|
|
speed auto
|
|
media-type rj45
|
|
!
|
|
interface GigabitEthernet0/1
|
|
description to ISP
|
|
ip address 192.168.102.2 255.255.255.252
|
|
ip ospf cost 1
|
|
duplex full
|
|
speed auto
|
|
media-type rj45
|
|
!
|
|
interface GigabitEthernet0/2
|
|
description toServer
|
|
ip address 192.168.32.1 255.255.254.0
|
|
duplex auto
|
|
speed auto
|
|
media-type rj45
|
|
!
|
|
ip forward-protocol nd
|
|
!
|
|
!
|
|
no ip http server
|
|
no ip http secure-server
|
|
ip route 0.0.0.0 0.0.0.0 192.168.102.1
|
|
!
|
|
!
|
|
!
|
|
!
|
|
control-plane
|
|
!
|
|
banner exec `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner incoming `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner login `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
!
|
|
line con 0
|
|
password cisco
|
|
line aux 0
|
|
line vty 0 4
|
|
exec-timeout 720 0
|
|
password cisco
|
|
login
|
|
transport input telnet ssh
|
|
!
|
|
no scheduler allocate
|
|
!
|
|
end</entry>
|
|
</extensions>
|
|
<interface id="0" name="GigabitEthernet0/1"/>
|
|
<interface id="1" name="GigabitEthernet0/2" netPrefixLenV4="24"/>
|
|
</node>
|
|
<node name="Internet
" 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="512,305">
|
|
<extensions>
|
|
<entry key="AutoNetkit.mgmt_ip" type="string"></entry>
|
|
<entry key="Auto-generate config" type="Boolean">false</entry>
|
|
<entry key="config" type="String">!
|
|
! Last configuration change at 22:03:41 UTC Sun Jan 15 2017
|
|
!
|
|
version 15.2
|
|
service timestamps debug datetime msec
|
|
service timestamps log datetime msec
|
|
no service password-encryption
|
|
service compress-config
|
|
!
|
|
hostname Switch-A
|
|
!
|
|
boot-start-marker
|
|
boot-end-marker
|
|
!
|
|
!
|
|
vrf definition Mgmt-intf
|
|
!
|
|
address-family ipv4
|
|
exit-address-family
|
|
!
|
|
address-family ipv6
|
|
exit-address-family
|
|
!
|
|
enable password cisco
|
|
!
|
|
no aaa new-model
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
no ip domain-lookup
|
|
ip cef
|
|
no ipv6 cef
|
|
!
|
|
!
|
|
!
|
|
spanning-tree mode pvst
|
|
spanning-tree extend system-id
|
|
!
|
|
vlan internal allocation policy ascending
|
|
!
|
|
! 
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
interface Loopback0
|
|
description Loopback
|
|
no ip address
|
|
!
|
|
interface GigabitEthernet0/1
|
|
description to Router-B
|
|
switchport access vlan 2
|
|
switchport mode access
|
|
media-type rj45
|
|
negotiation auto
|
|
!
|
|
interface GigabitEthernet0/2
|
|
description to Switch-B
|
|
switchport access vlan 2
|
|
switchport mode access
|
|
media-type rj45
|
|
negotiation auto
|
|
!
|
|
interface GigabitEthernet0/3
|
|
description to Server-C
|
|
switchport access vlan 2
|
|
switchport mode access
|
|
media-type rj45
|
|
negotiation auto
|
|
!
|
|
interface GigabitEthernet0/0
|
|
description OOB management
|
|
no switchport
|
|
ip address 10.255.0.231 255.255.0.0
|
|
negotiation auto
|
|
!
|
|
ip forward-protocol nd
|
|
!
|
|
no ip http server
|
|
no ip http secure-server
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
control-plane
|
|
!
|
|
banner exec `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner incoming `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner login `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
!
|
|
line con 0
|
|
password cisco
|
|
line aux 0
|
|
line vty 0 4
|
|
exec-timeout 720 0
|
|
password cisco
|
|
login
|
|
transport input telnet ssh
|
|
!
|
|
mac address-table aging-time 10
|
|
!
|
|
end</entry>
|
|
</extensions>
|
|
<interface id="0" name="GigabitEthernet0/1"/>
|
|
<interface id="1" name="GigabitEthernet0/2"/>
|
|
<interface id="2" name="GigabitEthernet0/3"/>
|
|
<interface id="3" name="GigabitEthernet1/0"/>
|
|
<interface id="4" name="GigabitEthernet1/1"/>
|
|
</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
|
|
bootcmd:
|
|
- ln -s -t /etc/rc.d /etc/rc.local
|
|
hostname: ISP
|
|
manage_etc_hosts: true
|
|
runcmd:
|
|
- start ttyS0
|
|
- systemctl start getty@ttyS0.service
|
|
- systemctl start rc-local
|
|
- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
|
|
- echo "UseDNS no" >> /etc/ssh/sshd_config
|
|
- service ssh restart
|
|
- service sshd restart
|
|
users:
|
|
- default
|
|
- gecos: User configured by VIRL Configuration Engine 0.23.9
|
|
lock-passwd: false
|
|
name: cisco
|
|
plain-text-passwd: cisco
|
|
shell: /bin/bash
|
|
ssh-authorized-keys:
|
|
- VIRL-USER-SSH-PUBLIC-KEY
|
|
sudo: ALL=(ALL) ALL
|
|
write_files:
|
|
- path: /etc/init/ttyS0.conf
|
|
owner: root:root
|
|
content: |
|
|
# ttyS0 - getty
|
|
# This service maintains a getty on ttyS0 from the point the system is
|
|
# started until it is shut down again.
|
|
start on stopped rc or RUNLEVEL=[12345]
|
|
stop on runlevel [!12345]
|
|
respawn
|
|
exec /sbin/getty -L 115200 ttyS0 vt102
|
|
permissions: '0644'
|
|
- path: /etc/systemd/system/dhclient@.service
|
|
content: |
|
|
[Unit]
|
|
Description=Run dhclient on %i interface
|
|
After=network.target
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
|
|
RemainAfterExit=yes
|
|
owner: root:root
|
|
permissions: '0644'
|
|
- path: /etc/rc.local
|
|
owner: root:root
|
|
permissions: '0755'
|
|
content: |-
|
|
#!/bin/sh
|
|
ifconfig eth1 up 192.168.101.1 netmask 255.255.255.252
|
|
ifconfig eth2 up 192.168.102.1 netmask 255.255.255.252
|
|

|
|
dhclient eth0
|
|
dhclient eth3
|
|

|
|
echo 1 > /proc/sys/net/ipv4/ip_forward
|
|

|
|
route add default gw 172.16.1.1 eth3
|
|

|
|
route add -net 192.168.101.0/30 gw 192.168.101.2 dev eth1
|
|
route add -net 192.168.102.0/30 gw 192.168.102.2 dev eth2
|
|

|
|
route add -net 192.168.100.0/24 gw 192.168.101.2 dev eth1
|
|
route add -net 192.168.32.0/20 gw 192.168.102.2 dev eth2
|
|

|
|
iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE
|
|
iptables -P FORWARD ACCEPT
|
|
iptables -F FORWARD
|
|

|
|
iptables -t nat -A PREROUTING -i eth3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.100:80
|
|
iptables -t nat -A PREROUTING -i eth3 -p tcp -m tcp --dport 22 -j DNAT --to-destination 192.168.2.100:22
|
|

|
|
/sbin/tc qdisc add dev eth2 root handle 1:1 netem delay 100ms loss 5%
|
|
echo "alias unbug='sudo tc qdisc del dev eth2 root'" >>/home/cisco/.bashrc
|
|

|
|
service ssh start
|
|

|
|
hostname ISP
|
|

|
|
exit 0
|
|

|
|
</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="384,414">
|
|
<extensions>
|
|
<entry key="Auto-generate config" type="Boolean">false</entry>
|
|
<entry key="config" type="String">#cloud-config
|
|
bootcmd:
|
|
- ln -s -t /etc/rc.d /etc/rc.local
|
|
hostname: Server-B
|
|
manage_etc_hosts: true
|
|

|
|
runcmd:
|
|
- start ttyS0
|
|
- systemctl start getty@ttyS0.service
|
|
- systemctl start rc-local
|
|
- systemctl start install-webserver
|
|
- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
|
|
- echo "UseDNS no" >> /etc/ssh/sshd_config
|
|
- service ssh restart
|
|
- service sshd restart
|
|
users:
|
|
- default
|
|
- gecos: User configured by VIRL Configuration Engine 0.18.9
|
|
lock-passwd: false
|
|
name: cisco
|
|
plain-text-passwd: cisco
|
|
shell: /bin/bash
|
|
ssh-authorized-keys:
|
|
- VIRL-USER-SSH-PUBLIC-KEY
|
|
sudo: ALL=(ALL) ALL
|
|
write_files:
|
|
- path: /etc/init/ttyS0.conf
|
|
owner: root:root
|
|
content: |
|
|
# ttyS0 - getty
|
|
# This service maintains a getty on ttyS0 from the point the system is
|
|
# started until it is shut down again.
|
|
start on stopped rc or RUNLEVEL=[12345]
|
|
stop on runlevel [!12345]
|
|
respawn
|
|
exec /sbin/getty -L 115200 ttyS0 vt102
|
|
permissions: '0644'
|
|
- path: /etc/systemd/system/dhclient@.service
|
|
content: |
|
|
[Unit]
|
|
Description=Run dhclient on %i interface
|
|
After=network.target
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
|
|
RemainAfterExit=yes
|
|
owner: root:root
|
|
permissions: '0644'
|
|
- path: /etc/rc.local
|
|
owner: root:root
|
|
permissions: '0755'
|
|
content: |-
|
|
#!/bin/sh -e
|
|
echo "nameserver 8.8.8.8" >/etc/resolv.conf
|
|
ifconfig eth1 192.168.32.10 netmask 255.255.254.0
|
|
route del default
|
|
route add default gw 192.168.32.1
|
|
exit 0
|
|

|
|
</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
|
|
bootcmd:
|
|
- ln -s -t /etc/rc.d /etc/rc.local
|
|
hostname: Server-A
|
|
manage_etc_hosts: true
|
|
runcmd:
|
|
- start ttyS0
|
|
- systemctl start getty@ttyS0.service
|
|
- systemctl start rc-local
|
|
- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
|
|
- echo "UseDNS no" >> /etc/ssh/sshd_config
|
|
- service ssh restart
|
|
- service sshd restart
|
|
users:
|
|
- default
|
|
- gecos: User configured by VIRL Configuration Engine 0.18.9
|
|
lock-passwd: false
|
|
name: cisco
|
|
plain-text-passwd: cisco
|
|
shell: /bin/bash
|
|
ssh-authorized-keys:
|
|
- VIRL-USER-SSH-PUBLIC-KEY
|
|
sudo: ALL=(ALL) ALL
|
|
write_files:
|
|
- path: /etc/init/ttyS0.conf
|
|
owner: root:root
|
|
content: |
|
|
# ttyS0 - getty
|
|
# This service maintains a getty on ttyS0 from the point the system is
|
|
# started until it is shut down again.
|
|
start on stopped rc or RUNLEVEL=[12345]
|
|
stop on runlevel [!12345]
|
|
respawn
|
|
exec /sbin/getty -L 115200 ttyS0 vt102
|
|
permissions: '0644'
|
|
- path: /etc/systemd/system/dhclient@.service
|
|
content: |
|
|
[Unit]
|
|
Description=Run dhclient on %i interface
|
|
After=network.target
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
|
|
RemainAfterExit=yes
|
|
owner: root:root
|
|
permissions: '0644'
|
|
- path: /etc/rc.local
|
|
owner: root:root
|
|
permissions: '0755'
|
|
content: |-
|
|
#!/bin/sh -e
|
|
ifconfig eth1 192.168.32.20
|
|
route del default
|
|
route add default gw 192.168.32.1
|
|
exit 0
|
|

|
|
- path: /etc/resolv.conf
|
|
owner: root:root
|
|
permissions: '0644'
|
|
content: |
|
|
nameserver 8.8.8.8</entry>
|
|
</extensions>
|
|
<interface id="0" name="eth1"/>
|
|
</node>
|
|
<node name="Management-Client" type="SIMPLE" subtype="lxc" location="146,372">
|
|
<extensions>
|
|
<entry key="Auto-generate config" type="Boolean">false</entry>
|
|
<entry key="config" type="String">#cloud-config
|
|
bootcmd:
|
|
- ln -s -t /etc/rc.d /etc/rc.local
|
|
hostname: Client
|
|
manage_etc_hosts: true
|
|
runcmd:
|
|
- start ttyS0
|
|
- systemctl start getty@ttyS0.service
|
|
- systemctl start rc-local
|
|
- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
|
|
- echo "UseDNS no" >> /etc/ssh/sshd_config
|
|
- service ssh restart
|
|
- service sshd restart
|
|
users:
|
|
- default
|
|
- gecos: User configured by VIRL Configuration Engine 0.18.9
|
|
lock-passwd: false
|
|
name: cisco
|
|
plain-text-passwd: cisco
|
|
shell: /bin/bash
|
|
ssh-authorized-keys:
|
|
- VIRL-USER-SSH-PUBLIC-KEY
|
|
sudo: ALL=(ALL) ALL
|
|
write_files:
|
|
- path: /etc/init/ttyS0.conf
|
|
owner: root:root
|
|
content: |
|
|
# ttyS0 - getty
|
|
# This service maintains a getty on ttyS0 from the point the system is
|
|
# started until it is shut down again.
|
|
start on stopped rc or RUNLEVEL=[12345]
|
|
stop on runlevel [!12345]
|
|
respawn
|
|
exec /sbin/getty -L 115200 ttyS0 vt102
|
|
permissions: '0644'
|
|
- path: /etc/systemd/system/dhclient@.service
|
|
content: |
|
|
[Unit]
|
|
Description=Run dhclient on %i interface
|
|
After=network.target
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
|
|
RemainAfterExit=yes
|
|
owner: root:root
|
|
permissions: '0644'
|
|
- path: /etc/rc.local
|
|
owner: root:root
|
|
permissions: '0755'
|
|
content: |-
|
|
!/bin/sh -e
|
|
ifconfig eth1 192.168.100.194 netmask 255.255.255.240
|
|
route del default
|
|
route add default gw 192.168.100.193
|
|
exit 0
|
|

|
|
- path: /etc/resolv.conf
|
|
owner: root:root
|
|
permissions: '0644'
|
|
content: |
|
|
#by Patrick.
|
|
nameserver 8.8.8.8
|
|
</entry>
|
|
</extensions>
|
|
<interface id="0" name="eth1"/>
|
|
</node>
|
|
<node name="Administration-Client" type="SIMPLE" subtype="lxc" location="234,437">
|
|
<extensions>
|
|
<entry key="Auto-generate config" type="Boolean">false</entry>
|
|
<entry key="config" type="String">#cloud-config
|
|
bootcmd:
|
|
- ln -s -t /etc/rc.d /etc/rc.local
|
|
hostname: Client
|
|
manage_etc_hosts: true
|
|
runcmd:
|
|
- start ttyS0
|
|
- systemctl start getty@ttyS0.service
|
|
- systemctl start rc-local
|
|
- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
|
|
- echo "UseDNS no" >> /etc/ssh/sshd_config
|
|
- service ssh restart
|
|
- service sshd restart
|
|
users:
|
|
- default
|
|
- gecos: User configured by VIRL Configuration Engine 0.18.9
|
|
lock-passwd: false
|
|
name: cisco
|
|
plain-text-passwd: cisco
|
|
shell: /bin/bash
|
|
ssh-authorized-keys:
|
|
- VIRL-USER-SSH-PUBLIC-KEY
|
|
sudo: ALL=(ALL) ALL
|
|
write_files:
|
|
- path: /etc/init/ttyS0.conf
|
|
owner: root:root
|
|
content: |
|
|
# ttyS0 - getty
|
|
# This service maintains a getty on ttyS0 from the point the system is
|
|
# started until it is shut down again.
|
|
start on stopped rc or RUNLEVEL=[12345]
|
|
stop on runlevel [!12345]
|
|
respawn
|
|
exec /sbin/getty -L 115200 ttyS0 vt102
|
|
permissions: '0644'
|
|
- path: /etc/systemd/system/dhclient@.service
|
|
content: |
|
|
[Unit]
|
|
Description=Run dhclient on %i interface
|
|
After=network.target
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
|
|
RemainAfterExit=yes
|
|
owner: root:root
|
|
permissions: '0644'
|
|
- path: /etc/rc.local
|
|
owner: root:root
|
|
permissions: '0755'
|
|
content: |-
|
|
!/bin/sh -e
|
|
ifconfig eth1 192.168.100.130 netmask 255.255.255.192
|
|
route del default
|
|
route add default gw 192.168.100.129
|
|
exit 0
|
|

|
|
- path: /etc/resolv.conf
|
|
owner: root:root
|
|
permissions: '0644'
|
|
content: |
|
|
#by Patrick.
|
|
nameserver 8.8.8.8
|
|
</entry>
|
|
</extensions>
|
|
<interface id="0" name="eth1"/>
|
|
</node>
|
|
<node name="Rechnungswesen-Client" type="SIMPLE" subtype="lxc" location="61,296">
|
|
<extensions>
|
|
<entry key="Auto-generate config" type="Boolean">false</entry>
|
|
<entry key="config" type="String">#cloud-config
|
|
bootcmd:
|
|
- ln -s -t /etc/rc.d /etc/rc.local
|
|
hostname: Client
|
|
manage_etc_hosts: true
|
|
runcmd:
|
|
- start ttyS0
|
|
- systemctl start getty@ttyS0.service
|
|
- systemctl start rc-local
|
|
- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
|
|
- echo "UseDNS no" >> /etc/ssh/sshd_config
|
|
- service ssh restart
|
|
- service sshd restart
|
|
users:
|
|
- default
|
|
- gecos: User configured by VIRL Configuration Engine 0.18.9
|
|
lock-passwd: false
|
|
name: cisco
|
|
plain-text-passwd: cisco
|
|
shell: /bin/bash
|
|
ssh-authorized-keys:
|
|
- VIRL-USER-SSH-PUBLIC-KEY
|
|
sudo: ALL=(ALL) ALL
|
|
write_files:
|
|
- path: /etc/init/ttyS0.conf
|
|
owner: root:root
|
|
content: |
|
|
# ttyS0 - getty
|
|
# This service maintains a getty on ttyS0 from the point the system is
|
|
# started until it is shut down again.
|
|
start on stopped rc or RUNLEVEL=[12345]
|
|
stop on runlevel [!12345]
|
|
respawn
|
|
exec /sbin/getty -L 115200 ttyS0 vt102
|
|
permissions: '0644'
|
|
- path: /etc/systemd/system/dhclient@.service
|
|
content: |
|
|
[Unit]
|
|
Description=Run dhclient on %i interface
|
|
After=network.target
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
|
|
RemainAfterExit=yes
|
|
owner: root:root
|
|
permissions: '0644'
|
|
- path: /etc/rc.local
|
|
owner: root:root
|
|
permissions: '0755'
|
|
content: |-
|
|
!/bin/sh -e
|
|
ifconfig eth1 192.168.100.10 netmask 255.255.255.128
|
|
route del default
|
|
route add default gw 192.168.100.1
|
|
exit 0
|
|

|
|
- path: /etc/resolv.conf
|
|
owner: root:root
|
|
permissions: '0644'
|
|
content: |
|
|
#by Patrick.
|
|
nameserver 8.8.8.8
|
|
</entry>
|
|
</extensions>
|
|
<interface id="0" name="eth1"/>
|
|
</node>
|
|
<node name="Switch-B" type="SIMPLE" subtype="IOSvL2" location="483,416">
|
|
<extensions>
|
|
<entry key="config" type="String">!
|
|
! Last configuration change at 22:03:41 UTC Sun Jan 15 2017
|
|
!
|
|
version 15.2
|
|
service timestamps debug datetime msec
|
|
service timestamps log datetime msec
|
|
no service password-encryption
|
|
service compress-config
|
|
!
|
|
hostname Switch-B
|
|
!
|
|
boot-start-marker
|
|
boot-end-marker
|
|
!
|
|
!
|
|
vrf definition Mgmt-intf
|
|
!
|
|
address-family ipv4
|
|
exit-address-family
|
|
!
|
|
address-family ipv6
|
|
exit-address-family
|
|
!
|
|
enable password cisco
|
|
!
|
|
no aaa new-model
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
no ip domain-lookup
|
|
ip cef
|
|
no ipv6 cef
|
|
!
|
|
!
|
|
!
|
|
spanning-tree mode pvst
|
|
spanning-tree extend system-id
|
|
!
|
|
vlan internal allocation policy ascending
|
|
!
|
|
! 
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
interface Loopback0
|
|
description Loopback
|
|
no ip address
|
|
!
|
|
interface GigabitEthernet0/1
|
|
description to Switch-A
|
|
switchport access vlan 2
|
|
switchport mode access
|
|
media-type rj45
|
|
negotiation auto
|
|
!
|
|
interface GigabitEthernet0/2
|
|
description to Server-A
|
|
switchport access vlan 2
|
|
switchport mode access
|
|
media-type rj45
|
|
negotiation auto
|
|
!
|
|
interface GigabitEthernet0/3
|
|
description to Switch-C
|
|
switchport access vlan 2
|
|
switchport mode access
|
|
media-type rj45
|
|
negotiation auto
|
|
!
|
|
interface GigabitEthernet0/0
|
|
description OOB management
|
|
no switchport
|
|
ip address 10.255.0.231 255.255.0.0
|
|
negotiation auto
|
|
!
|
|
ip forward-protocol nd
|
|
!
|
|
no ip http server
|
|
no ip http secure-server
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
control-plane
|
|
!
|
|
banner exec `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner incoming `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner login `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
!
|
|
line con 0
|
|
password cisco
|
|
line aux 0
|
|
line vty 0 4
|
|
exec-timeout 720 0
|
|
password cisco
|
|
login
|
|
transport input telnet ssh
|
|
!
|
|
mac address-table aging-time 10
|
|
!
|
|
end</entry>
|
|
</extensions>
|
|
<interface id="0" name="GigabitEthernet0/1"/>
|
|
<interface id="1" name="GigabitEthernet0/2"/>
|
|
<interface id="2" name="GigabitEthernet0/3"/>
|
|
</node>
|
|
<node name="Switch-C" type="SIMPLE" subtype="IOSvL2" location="606,393">
|
|
<extensions>
|
|
<entry key="config" type="String">!
|
|
! Last configuration change at 22:03:41 UTC Sun Jan 15 2017
|
|
!
|
|
version 15.2
|
|
service timestamps debug datetime msec
|
|
service timestamps log datetime msec
|
|
no service password-encryption
|
|
service compress-config
|
|
!
|
|
hostname Switch-C
|
|
!
|
|
boot-start-marker
|
|
boot-end-marker
|
|
!
|
|
!
|
|
vrf definition Mgmt-intf
|
|
!
|
|
address-family ipv4
|
|
exit-address-family
|
|
!
|
|
address-family ipv6
|
|
exit-address-family
|
|
!
|
|
enable password cisco
|
|
!
|
|
no aaa new-model
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
no ip domain-lookup
|
|
ip cef
|
|
no ipv6 cef
|
|
!
|
|
!
|
|
!
|
|
spanning-tree mode pvst
|
|
spanning-tree extend system-id
|
|
!
|
|
vlan internal allocation policy ascending
|
|
!
|
|
! 
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
interface Loopback0
|
|
description Loopback
|
|
no ip address
|
|
!
|
|
interface GigabitEthernet0/1
|
|
description to Switch-A
|
|
switchport access vlan 2
|
|
switchport mode access
|
|
media-type rj45
|
|
negotiation auto
|
|
!
|
|
interface GigabitEthernet0/2
|
|
description to Server-A
|
|
switchport access vlan 2
|
|
switchport mode access
|
|
media-type rj45
|
|
negotiation auto
|
|
!
|
|
interface GigabitEthernet0/3
|
|
description to Switch-B
|
|
switchport access vlan 2
|
|
switchport mode access
|
|
media-type rj45
|
|
negotiation auto
|
|
!
|
|
interface GigabitEthernet0/0
|
|
description OOB management
|
|
no switchport
|
|
ip address 10.255.0.231 255.255.0.0
|
|
negotiation auto
|
|
!
|
|
ip forward-protocol nd
|
|
!
|
|
no ip http server
|
|
no ip http secure-server
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
!
|
|
control-plane
|
|
!
|
|
banner exec `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner incoming `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
banner login `
|
|
**************************************************************************
|
|
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
|
|
* education. IOSv is provided as-is and is not supported by Cisco's *
|
|
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
|
|
* of the IOSv Software or Documentation to any third party for any *
|
|
* purposes is expressly prohibited except as otherwise authorized by *
|
|
* Cisco in writing. *
|
|
**************************************************************************`
|
|
!
|
|
line con 0
|
|
password cisco
|
|
line aux 0
|
|
line vty 0 4
|
|
exec-timeout 720 0
|
|
password cisco
|
|
login
|
|
transport input telnet ssh
|
|
!
|
|
mac address-table aging-time 10
|
|
!
|
|
end</entry>
|
|
</extensions>
|
|
<interface id="0" name="GigabitEthernet0/1"/>
|
|
<interface id="1" name="GigabitEthernet0/2"/>
|
|
<interface id="2" name="GigabitEthernet0/3"/>
|
|
</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[5]/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[5]/virl:interface[2]"/>
|
|
<connection dst="/virl:topology/virl:node[5]/virl:interface[3]" src="/virl:topology/virl:node[3]/virl:interface[1]"/>
|
|
<connection dst="/virl:topology/virl:node[1]/virl:interface[2]" src="/virl:topology/virl:node[10]/virl:interface[1]"/>
|
|
<connection dst="/virl:topology/virl:node[1]/virl:interface[3]" src="/virl:topology/virl:node[8]/virl:interface[1]"/>
|
|
<connection dst="/virl:topology/virl:node[1]/virl:interface[4]" src="/virl:topology/virl:node[9]/virl:interface[1]"/>
|
|
<connection dst="/virl:topology/virl:node[11]/virl:interface[2]" src="/virl:topology/virl:node[6]/virl:interface[1]"/>
|
|
<connection dst="/virl:topology/virl:node[12]/virl:interface[2]" src="/virl:topology/virl:node[7]/virl:interface[1]"/>
|
|
<connection dst="/virl:topology/virl:node[12]/virl:interface[3]" src="/virl:topology/virl:node[11]/virl:interface[3]"/>
|
|
<connection dst="/virl:topology/virl:node[11]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[2]"/>
|
|
<connection dst="/virl:topology/virl:node[12]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[3]"/>
|
|
</topology>
|