Skip to content

Instantly share code, notes, and snippets.

@ffund
Last active April 30, 2021 19:28
Show Gist options
  • Save ffund/13b71d32727de42405ca1db84ac3611e to your computer and use it in GitHub Desktop.
Save ffund/13b71d32727de42405ca1db84ac3611e to your computer and use it in GitHub Desktop.
Tor topology
<rspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jacks="http://www.protogeni.net/resources/rspec/ext/jacks/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns="http://www.geni.net/resources/rspec/3" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd" type="request">
<link client_id="link-r">
<interface_ref client_id="router1:interface-router1"/>
<interface_ref client_id="router2:interface-router2"/>
<interface_ref client_id="router3:interface-router3"/>
<property source_id="router2:interface-router2" dest_id="router1:interface-router1" capacity="10000"/>
<property source_id="router3:interface-router3" dest_id="router1:interface-router1" capacity="10000"/>
<property source_id="router1:interface-router1" dest_id="router2:interface-router2" capacity="10000"/>
<property source_id="router3:interface-router3" dest_id="router2:interface-router2" capacity="10000"/>
<property source_id="router1:interface-router1" dest_id="router3:interface-router3" capacity="10000"/>
<property source_id="router2:interface-router2" dest_id="router3:interface-router3" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<link client_id="link-web">
<interface_ref client_id="router3:interface-r3-web"/>
<interface_ref client_id="webserver:interface-webserver"/>
<property source_id="webserver:interface-webserver" dest_id="router3:interface-r3-web" capacity="10000"/>
<property source_id="router3:interface-r3-web" dest_id="webserver:interface-webserver" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<node client_id="router1" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
</sliver_type>
<interface client_id="router1:interface-router1">
<ip address="10.10.254.1" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router1:interface-r1-1">
<ip address="10.10.201.254" netmask="255.255.255.0" type="ipv4"/>
</interface>
<jacks:site id="Site 1"/>
</node>
<node client_id="router2" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
</sliver_type>
<interface client_id="router2:interface-router2">
<ip address="10.10.254.2" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router2:interface-r2-dir1">
<ip address="10.10.1.254" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router2:interface-r2-dir2">
<ip address="10.10.2.254" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router2:interface-r2-dir3">
<ip address="10.10.3.254" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router2:interface-r2-relay1">
<ip address="10.10.101.254" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router2:interface-r2-relay2">
<ip address="10.10.102.254" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router2:interface-r2-relay3">
<ip address="10.10.103.254" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router2:interface-r2-relay4">
<ip address="10.10.104.254" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router2:interface-r2-relay5">
<ip address="10.10.105.254" netmask="255.255.255.0" type="ipv4"/>
</interface>
<jacks:site id="Site 1"/>
</node>
<node client_id="router3" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
</sliver_type>
<interface client_id="router3:interface-router3">
<ip address="10.10.254.3" netmask="255.255.255.0" type="ipv4"/>
</interface>
<interface client_id="router3:interface-r3-web">
<ip address="10.10.253.1" netmask="255.255.255.0" type="ipv4"/>
</interface>
<jacks:site id="Site 1"/>
</node>
<node client_id="webserver" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="webserver:interface-webserver">
<ip address="10.10.253.200" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/webserver-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<node client_id="client1" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="client1:interface-client-1">
<ip address="10.10.201.1" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/client-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<link client_id="link-r1-client1">
<interface_ref client_id="client1:interface-client-1"/>
<interface_ref client_id="router1:interface-r1-1"/>
<property source_id="router1:interface-r1-1" dest_id="client1:interface-client-1" capacity="10000"/>
<property source_id="client1:interface-client-1" dest_id="router1:interface-r1-1" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<node client_id="dir1" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="dir1:interface-dir1">
<ip address="10.10.1.1" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/dir-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<link client_id="link-tor-1">
<interface_ref client_id="dir1:interface-dir1"/>
<interface_ref client_id="router2:interface-r2-dir1"/>
<property source_id="router2:interface-r2-dir1" dest_id="dir1:interface-dir1" capacity="10000"/>
<property source_id="dir1:interface-dir1" dest_id="router2:interface-r2-dir1" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<node client_id="dir2" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="dir2:interface-dir2">
<ip address="10.10.2.2" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/dir-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<link client_id="link-tor-2">
<interface_ref client_id="dir2:interface-dir2"/>
<interface_ref client_id="router2:interface-r2-dir2"/>
<property source_id="router2:interface-r2-dir2" dest_id="dir2:interface-dir2" capacity="10000"/>
<property source_id="dir2:interface-dir2" dest_id="router2:interface-r2-dir2" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<node client_id="dir3" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="dir3:interface-dir3">
<ip address="10.10.3.3" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/dir-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<link client_id="link-tor-3">
<interface_ref client_id="dir3:interface-dir3"/>
<interface_ref client_id="router2:interface-r2-dir3"/>
<property source_id="router2:interface-r2-dir3" dest_id="dir3:interface-dir3" capacity="10000"/>
<property source_id="dir3:interface-dir3" dest_id="router2:interface-r2-dir3" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<node client_id="relay1" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="relay1:interface-relay1">
<ip address="10.10.101.1" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/relay-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<link client_id="link-tor-101">
<interface_ref client_id="relay1:interface-relay1"/>
<interface_ref client_id="router2:interface-r2-relay1"/>
<property source_id="router2:interface-r2-relay1" dest_id="relay1:interface-relay1" capacity="10000"/>
<property source_id="relay1:interface-relay1" dest_id="router2:interface-r2-relay1" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<node client_id="relay2" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="relay2:interface-relay2">
<ip address="10.10.102.2" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/relay-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<link client_id="link-tor-102">
<interface_ref client_id="relay2:interface-relay2"/>
<interface_ref client_id="router2:interface-r2-relay2"/>
<property source_id="router2:interface-r2-relay2" dest_id="relay2:interface-relay2" capacity="10000"/>
<property source_id="relay2:interface-relay2" dest_id="router2:interface-r2-relay2" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<node client_id="relay3" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="relay3:interface-relay3">
<ip address="10.10.103.3" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/relay-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<link client_id="link-tor-103">
<interface_ref client_id="relay3:interface-relay3"/>
<interface_ref client_id="router2:interface-r2-relay3"/>
<property source_id="router2:interface-r2-relay3" dest_id="relay3:interface-relay3" capacity="10000"/>
<property source_id="relay3:interface-relay3" dest_id="router2:interface-r2-relay3" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<node client_id="relay4" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="relay4:interface-relay4">
<ip address="10.10.104.4" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/relay-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<link client_id="link-tor-104">
<interface_ref client_id="relay4:interface-relay4"/>
<interface_ref client_id="router2:interface-r2-relay4"/>
<property source_id="router2:interface-r2-relay4" dest_id="relay4:interface-relay4" capacity="10000"/>
<property source_id="relay4:interface-relay4" dest_id="router2:interface-r2-relay4" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
<node client_id="relay5" exclusive="false">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU18-64-STD"/>
<emulab:xen ram="4096"/>
</sliver_type>
<interface client_id="relay5:interface-relay5">
<ip address="10.10.105.5" netmask="255.255.255.0" type="ipv4"/>
</interface>
<services>
<execute shell="sh" command="/usr/bin/sudo /usr/bin/git clone https://github.com/ffund/tor-cloudlab.git /local/repository; /usr/bin/sudo /bin/bash /local/repository/relay-install.sh"/>
</services>
<jacks:site id="Site 1"/>
</node>
<link client_id="link-tor-105">
<interface_ref client_id="relay5:interface-relay5"/>
<interface_ref client_id="router2:interface-r2-relay5"/>
<property source_id="router2:interface-r2-relay5" dest_id="relay5:interface-relay5" capacity="10000"/>
<property source_id="relay5:interface-relay5" dest_id="router2:interface-r2-relay5" capacity="10000"/>
<jacks:site id="Site 1"/>
</link>
</rspec>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment