On 10 Jan 2015, at 09:55 , teor teor2345@gmail.com wrote:
Date: Tue, 6 Jan 2015 20:13:51 +0100 From: Mohiuddin Ebna Kawsar mohiuddin.kawsar@gmail.com To: tor-dev@lists.torproject.org, matthias.wuebbeling@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
I forgot a simple, working config with 4 tor instances:
3 authorities / exits (authorities which also act as exit relays) 1 client ----- 4 tor instances
To get this working, change authority.tmpl as follows:
----- ${include:relay-non-exit.tmpl} # For IPv4 exit capabilities ${include:exit-v4.i} # For IPv6 exit capabilities ${include:exit-v6.i}
< the rest of authority.tmpl> -----
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:
- 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.
- 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
teor
teor2345 at gmail dot com pgp 0xABFED1AC https://gist.github.com/teor2345/d033b8ce0a99adbc89c5
teor at blah dot im OTR C3C57B23 349825DE 929A1DEF C3531C25 A32287ED