View Single Post
  #6 (permalink)  
Old February 17th, 2002
Unregistered
Guest
 
Posts: n/a
Default

By: arspolitica ( Cameron )
Setting up a private network on a college LAN
2001-10-05 12:50
Currently I'm a first year student at UCLA. I know a bit about computers and networking, but I'm having difficulty setting up a filesharing
network on the lan. The reason I would really like to set one up is that UCLA has been having bandwith problems related to Nimda and
Code Red, and having been throtling bandwith and cutting off ports wherever they can. This includes very slow downloads from
Morpheus and an inability to connect to the Gnutella network.

The campus is so big, that a private gnutella network would be awesome, and I'm sure that I could get a number of nodes on the network.
I've been trying for a week now all the various gnutella clients trying to get a private network up and running but without any success.

Gnucleus appears to be the best gnutella client, and has built in options for a college network. Can someone lay out the basics of setting up
such a network, hopefully so that others at various colleges can use this as a resource should they decide to do the same.

-Thanks
Cameron


By: tman17m ( Tom Gored )
RE: Setting up a private network on a college LAN
2001-10-07 15:15
hey, ive had a similar idea, only im a student at OSU. yes, it would be so awsome becuse it would be fast and have many users...let
me know if you find anything out, i will too


By: russelharvey ( Russel Harvey )
Is there a 'server' software needed for this?
2001-10-07 23:25
Or the Gnucleus client software here can do it all?

Since the public Internet always have some servers for Gnucleus, in a private LAN network environment, would the Gnucleus
client that all needed?


By: theman2 ( Nick )
RE: Is there a 'server' software needed for this?
2001-10-08 00:35
server: a computer providing services for another computer (this is my definition)

any computer can be a server. I can load jgaa's war-ftpd and run an ftp server.

the gnutella protocal breaks the divide between client and server, with each node (computer connected to the gnutella
network) having the abilities of both. Thus, it does not need some special server software, or even really need dedicated
servers to run a gnutella network. A college lan running gnutella would benifit if it had at least one computer hardcoded into
the software that is always on. That way, the other computers could get addresses of other nodes from it and always end up
connecting to the main group of nodes. There is always the possibility with p2p like networks for groups of nodes to break
off from the main group and fragmenting into smaller groups, which is not a great thing if you want everyone to have access
to everyone else. A 'server' or two that guide the 'clients' in the right direction would allow for the private network to form
a large, unfragmented group of nodes, allowing for the best filesharing!

the only thing I wonder is how fast the gnutella software can send and recieve packets. I know from personal experience
that just searching for something common like .mp3 can max out the cpu with the results being sorted which causes search
results to be dropped and it can even slow down other downloads! If only they prioritized the results sorted to be lower than
everything else! If search results through dsl can faze gnucleus, what could a very large and fast private network do? Heh. I
think I am going to have to visit one of these campuses to check it out... but I better remember to bring my 80 gig drive to
make sure I can test it thurowly(sp?) enough =p


By: russelharvey ( Russel Harvey )
RE: Is there a 'server' software needed for this?
2001-10-10 03:56
I guess my question is, is there a 'server' edition of this gnucleus or the so called 'server' are just a bunch of gnucleus
which happen to run all the time and get hardcoded into it's program, so to be the first group of host to connect to.

Also, the UDP broadcast seems not to be the default behavior, how to switch to that mode if it's built in?


By: felixor ( Felix Ordelheide )
RE: Setting up a private network on a college LAN
2001-10-07 15:46
Hi Cameron,
i have built up an internal gnutella Net inside our dorm (800+ users with a LAN connection). currently we are peaking at 150
active nodes/ppl and 1 TB shared files(at about 21:00). Setting up a really private gnutella network takes some work and may only
be useful if you have a very specific Network structure.

A short description of our "setup":
Our dorm is "governed" by students we are independant from the university and the only thing we get from them is an uplink (100
Mbit Full Duplex) to the University Net / Internet. The university is mainly concerned about the internet traffic that is caused. Alot
of the internet traffic seemed to be large movies and mp3 files - that is why i decided to setup an internal gnutella net in our dorm
(where bandwidth is basically unlimited).


Our LAN is an 10/100 Mbit switched Ethernet Network with a 155 Mbit ATM Backbone (currently being upgraded to a Gigabit
backbone). We do not have public IP Adresses but instead a set of private ip ranges that are routed within the university/other
dorms/institutes.

There are a couple of modifications i made to the gnucleus sourcecode:

1. different "private" handshake hardcoded into the client

2. A different update server hardcoded into the client that points to an internal server which supplies updates / new versions

3. an internal irc server which is preconfigured in our modified gnucleus installation package

4. Filter lists that deny *.*.*.* and only allow our set of IPs used in the dorm (be careful to exclude NATs / www-proxies).

5. modifications to the upload code to prevent downloads from non authorized IPs

I do not know if the whole that i closed with 5. is still "open" in the new gnucleus releases. The problem is that gnucleus only
checks the IP-filter lists if somebody tries to connect as a node. It does (did?) not check the IP if an upload request is received. So
one stupid fool that connects a lousily configured Linux client like gnut into your internal net opens a giant hole thru which outsiders
can easily search / download.

Felix


By: arspolitica ( Cameron )
RE: Setting up a private network on a college
2001-10-08 22:48
Felix thanks for the help. I really like your setup, and the idea of making our own distribution is a good one. Until your post I
didn't realize the true value in keeping the network completely private, but it makes a lot of sense. I know a bit about
networking, but I'm hoping someone can help me get things configured correctly. For now I'm just experimenting with my
computer and my roomates.

The way IP addresses are assigned in our dorms are through DHCP. While my IP address could be dynamic it has been the
same since I've been keeeping track the past week or so. I've asked my friends in other dorms, and I've found that all the
dorms reside on a 169.232.*.* block of addresses.
Playing around with some computers on my floor, by denying the *.*.*.* range and allowing 169.232.*.* I can essentially set
up a private network. If I then went in and made some of your changes to the source I imagine the network would remain
private.

My questions are:
1) How does this setup look? Since I'm not using internal addresses, will a couple thousand students bring down the internet
if they all connect? Also do you think it can be secured?

2) What are the steps it takes to setup an update server? What about a pong server? I have a UCLA student website on my
dedicated server at Verio (my own little webhosting business) so could I point to students to gnucleus.mysite.com and have
them draw their nodes from there. Same goes for the update server.

Any other feedback or comments would be greatly appreciated. The demand to set this thing up is great, and I would really
like for it to work smoothly before spreading the word and adding nodes.

-Cameron


By: felixor ( Felix Ordelheide )
RE: Setting up a private network on a college
2001-10-11 04:02
Okay here are my 5$:
1) If you are concerned about bringing down the performance of you dorm network hardcode a speedlimit into the
clients. The downloading is what eats up bandwidth the network traffic itself is negligable.

2) Setup an http server with an directory to store the update files. Then just copy the filestructure from the
http://www.gnucleus.com fileserver...In the source redirect the update requests to your local server.


By: swabby ( John Marshall )
RE: Setting up a private network on a college LAN
2001-10-09 13:23
I've built in a UDP broadcast to be sent out by Gnucleus when it is in LAN mode.

What this should do is find other Gnucleus clients running and connect to them without even using a hard coded server cache.

It needs some testing, but I know in the latest 1.4.2 it is implemented and working. To see what its doing open the statistics window
and view the error tab.


By: arspolitica ( Cameron )
RE: Setting up a private network on a college LAN
2001-10-10 00:13
Swabby,

The UDP broadcast took a few minutes to get a connection, but it works. Thanks and keep up the good work.

Rather than try and explain to the masses how to set up Gnucleus, it will be easuier to create a custom "Gnuclanet" release.


The following is what I plan to do to the default release.
1) Remove the default host servers
2) Hard code the IP filter to deny *.*.*.*
3) Hard code the update server to Gnuclanet's
4) Setup a prvate handshake

In regards to #4, how would you recommend doing this. In the options -> network tab, you can specify a private LAN
name. I've also heard of changing the handshake. Which should I use, or are these two methods one in the same?

Down the road I would also like to set up an IRC server, but for now I just want to set up the network. Any suggestions or
problems seen in my strategy?

Thanks again for all the help,
Cameron


By: swabby ( John Marshall )
RE:Setting up a private network on a college LAN
2001-10-10 03:12
My college actually filters gnutella connections to the internet by analyzing the connect string, its very tricky but I've gotten by it.

Yes I am creating a lan specific version of gnucleus and the connect string will be different. I want to deploy it at my college too.
The UDP works, which is good. It seems kind of flaky to me still for some reason, maybe I should send duplicat UDP packets for
assurance?


By: eagletm ( Gregor Lawatscheck )
RE: Setting up a private network on a college LAN
2001-10-10 15:04
Just like Felix I've modified some parts of Gnucleus for a uni network. It checks for IPs before uploading by connection and
pushing and uses port 80 with the Internet Explorer 5.05 User-Agent connect string (hehe). Works quite well...

If anyone is interested in getting code to do the same I can supply some.
Basic modifications in GnuSock.cpp (incoming connects), GnuNode.cpp (pushing) and GnucleusDoc.cpp (own checking function
for IPs to be called in gnusock and gnunode)



------------

UPD Broadcast Problems

blackwidow - 1-15-2002 at 11:19 PM

Let me get this straight...a client only sends a UDP broadcast when it first opens?

Here's the problem, our private gnutella network is up to 85 users and all of them are happily connect with the minimum of 3 connections filled. client A opens and sends out a
UDP broadcast, but all 85 clients are silent because they are happy as is.

see the problem here? client A has no way of finding any other clients and getting onto the network. more so, client B opens and sends UDP broadcast. client A gets the
message and connects to B, making a _separate_ network of 2 users.

what's the solution?!? what if every client sent out a UDP broadcast every 10 seconds so that new clients would find someone. any other ideas, and how do I implement this?


swabby - 1-16-2002 at 04:20 AM

UDP broadcasts in the LAN version are always replied to even if the node is very happy.


blackwidow - 1-17-2002 at 06:49 AM

strange, because I've been having trouble with new nodes not connecting to the network. there is a possibility I may have crippled the udp ping feature while hard-coding
the program to work only on the luthershare network.

I guess I'll wait for the next version to come out and be a little more carful with my altercations. for now I just send an automatic 'open' notice to the #gnutella/cache
whenever someone joins the channel. that will work untill the server gets shut down.
Reply With Quote