[tor-dev] how to simulate TOR network through chutney?

teor teor2345 at gmail.com
Fri Jan 9 22:55:15 UTC 2015


> Date: Tue, 6 Jan 2015 20:13:51 +0100
> From: Mohiuddin Ebna Kawsar <mohiuddin.kawsar at gmail.com>
> To: tor-dev at lists.torproject.org, matthias.wuebbeling at cs.uni-bonn.de
> Subject: [tor-dev] how to simulate TOR network through chutney?
> 
> HI,
> 
> I  need to simulate TOR network in minimal case [1 ENTRY,1 RELAY,1 EXIT]
> node.
> how can i do that use chutney? how to setup exit node on  my localhost and
> how to make circuit with that exit node?
> 
> following are my config file with generated (slightly modified) torc files

Hi Mohiuddin,

-- Minimum number of instances in a Tor network --

Using 3 tor instances (that is, 2 authorities/relays/exits and 1 client) will never work, because the minimum number of tor relays/authorities/exits needed to create a path through the network is 3.
Clients do not participate in any of the 3 positions in a path - they only initiate the path.

The basic-min network is already a minimal tor network containing:
3 authorities (which also act as non-exit relays)
1 exit
1 client
-----
5 tor instances

You could possibly reduce this to:
1 authority (which also acts as a non-exit relay)
1 non-exit relay
1 exit
1 client
-----
4 tor instances

I wouldn't recommend using 4 instances for two reasons:
1. The minimum number of authorities for a stable consensus is 3:
A) more than one authority is needed to produce a genuine consensus;
B) an odd number of authorities is needed to break ties.

2. The minimum number of authorities (or relays with AssumeReachable set) is 3, otherwise other relays or exits can't bootstrap. You can work around this by setting/uncommenting "AssumeReachable 1" in torrc_templates/common.i
(It should be set to 1 by default.)

I've never tested this, so I have no idea whether it will actually work.
But feel free to try it, and let us know if it works (and please submit a new torrc_template file).

Note: if you're using hidden services, you may need more than 3 authorities/relays/exits in the network. (I have not tested the minimum for hidden services.)


-- What are you trying to simulate using chutney? --

Do you need to test the entire bootstrap process? (30 seconds to start up)
Or do you just want the network to be ready quickly? (10 seconds to start up)

To get these bootstrap speeds, you will need to use tor version 0.2.6.2-alpha or later, and the latest chutney from git. Otherwise, you will be looking at 45 seconds or more to bootstrap.

It will help if you indicate what you've modified in the torrc files, and why.

> 
> i use basic-min for configure.
> ############## basic-min##########################
> Authority = Node(tag="a", authority=1, relay=1, torrc="authority.tmpl")
> Relay = Node(tag="r", relay=1, torrc="relay.tmpl")
> Client = Node(tag="c", torrc="client.tmpl")
> 
> NODES = Authority.getN(1) + Relay.getN(1) + Client.getN(1)
> 
> ConfigureNodes(NODES)
> 
<snip>

teor


More information about the tor-dev mailing list