Commit 965565da authored by Mac Newbold's avatar Mac Newbold

Added how to turn on routing/set up routes to the faq

parent 17e1e629
......@@ -40,10 +40,12 @@
<li> <a href="#SWS-2">How do I select which OS to run on each node?</a>
<li> <a href="#SWS-3">Can I load my own software (RPMs) on my nodes?</a>
<li> <a href="#SWS-4">Can I schedule programs to run
automatically when a node boots</a>
<li> <a href="#SWS-5">How does my software determine when other
automatically when a node boots?</a>
<li> <a href="#SWS-5">How can I turn on routing or set up routes
automatically in my nodes?</a>
<li> <a href="#SWS-6">How does my software determine when other
nodes in my experiment are ready?</a>
<li> <a href="#SWS-6">Can I run my own Operating System?</a>
<li> <a href="#SWS-7">Can I run my own Operating System?</a>
</ul>
<li> <a href="#SEC">Security Issues</a>
......@@ -347,8 +349,66 @@
<a href = "tutorial/tutorial.php3">Emulab Tutorial</a> for an
example.
</p>
<li><a NAME="SWS-5"></a>
<h3>How can I turn on routing or set up routes automatically
in my nodes?</h3>
<p>
You can use command mentioned above (<tt>tb-set-node-startup</tt>)
in your NS file to specify a simple script in your home directory
that will do this. For instance, if I had a node called router,
and wanted to turn on routing in it, I would add these two lines
to my NS file:
<pre>
tb-set-node-os $router FBSD40-STD
tb-set-node-startup $router /users/myname/router-startup
</pre>
That would cause router to boot FreeBSD, and call my
router-startup script, which should look like this:
<pre>
#!/bin/sh
/usr/site/bin/su1 sysctl -w net.inet.ip.forwarding=1
/usr/site/bin/su1 sysctl -w net.inet.ip.fastforwarding=1
exit 0
</pre>
That will make sure that routing gets turned on when my router
node boots. Now say I have a client on one side of the router,
and a server on the other side, and I want to establish a route
from the client to the server through the router, and vice
versa. I would add these lines to my NS file:
<pre>
tb-set-node-startup $client /users/myname/clientroutecmd
tb-set-node-startup $server /users/myname/serverroutecmd
</pre>
This will have the client and the server each call a small script
to set up routes. To add a route (on client) to interface 0 of the
server through router, I would run a script called clientroutecmd
that looks like this (for a node running FreeBSD):
<pre>
#!/bin/sh
sudo route add server-0 router
exit 0
</pre>
Similarly, to add a route (on server) to interface 0 of the client
through router, I would use this serverroutecmd script:
<pre>
#!/bin/sh
sudo route add client-0 router
exit 0
</pre>
That should do it. We now will have a router node that really
routes and forwards packets, and a client and a server that know
how to talk to each other through a gateway router.
</p>
<p>
Please see the
<a href="docwrapper.php3?docname=tutorial/nscommands.html">Extensions</a>
page for a summary of all Emulab NS extensions, and the
<a href = "tutorial/tutorial.php3">Emulab Tutorial</a> for an
example.
</p>
<li><a NAME="SWS-6"></a>
<h3>How does my software determine when other nodes in my
experiment are ready?</h3>
<p>
......@@ -370,7 +430,7 @@
Daemon</a> documentation.
</p>
<li><a NAME="SWS-6"></a>
<li><a NAME="SWS-7"></a>
<h3>Can I run my own Operating System?</h3>
<p>
Yes! You can run your own OS on any of the PCs (the Sharks do not
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment