Posts Tagged ‘Networking’

The Year of IPv6

Friday, January 23rd, 2009

Well, IPv6 has been a topic talked about for years, but this is the first year that I have seen it starting to be implemented. My friend stumbled upon http://ipv6experiment.com, which is a very interesting, daring, brilliant, and humerus way to attract people to IPv6. Google also launched ipv6.google.com to cater to the IPv6 audience.

Overall, I think this year will start the push towards IPv6. With google’s support, the government’s new requirement for all branches to support IPv6, and this “grand experiment”, I think IPv6 may have a chance in the world.

Load Balancing

Thursday, November 20th, 2008

So, I got curious today as I do with most things and I decided to experiment with my laptop.  It occurred to me that since it has two network cards (wired, and wifi), that I could potentially load balance the two and get an increased speed overall, so I gave a shot.

My first attempt was bonding the interfaces (via the linux kernel bonding module), but that turned out to fail pretty badly since not only was each interface a different IP, but on a completely different subnet.

After trying that, I focused on more routing table type things.  I knew that the routing table had default entries, so I tried to just add two.. but that broke more than it fixed.  Then I discovered there is a method to add multiple default gateways.  Here’s what I came up with:

ip route add default equalize scope global nexthop via <GATEWAY> dev eth1 weight 2 nexthop via <GATEWAY> dev wlan0 weight 3

Just with that simple code (replacing the devices with your devices, and the gateways with your own gateways), it worked.  What linux ended up doing is giving priority to wlan0 (as shown by the weight), and then once that bandwidth got used up, it switched over to eth1.  This is perfect.  I could be downloading something off a webpage on one, and still be online without any bandwidth bottlenecks on the other.

Aside: For those of you who don’t know how to figure out your gateways, simply to connect to the network and type “route” in a command line.  You’ll see a list of different routes. Look for the one that says “default” on the left, and the proper device on the right.  In that row you’ll see the listed gateway for that interface.

I doubt this is something I will use every day, but it is nifty, and could come in use eventually.. maybe.

The Curse of Boredom

Friday, September 26th, 2008

Well, late one recent night I was sitting around (at about 11 PM or so), and didn’t want to go to bed quite yet.  I’m a late-nighter.  So I decided I would test something.  Many (if not all) routers out there block incoming UDP packets unless the router has been “hole punched”, that is, if UDP packets are being sent both ways as if two computers are trying to send information between one another.

So, what did this result in?  If you know about nc (if you don’t, it’s a little linux/unix app to send data across the network), I started that up and started sending back and forth between my desktop here at school, and one of my servers.  So, this is fine.. I’m testing to see if routers actually allow hole-punching, right?

My Results:

(Click to see large version).
As you can see… I may have been a little too bored that night.

The good news is I discovered how hole punching works!

Adventures in XDMCP Land

Monday, August 18th, 2008

So, I’ve been trying to persuade some of my friends over to linux lately.  There are different technologies that give people a try of linux before using it.  One of the more popular ones at the moment is the live CD.

Over the past few days I’ve been researching and experimenting with XDMCP.  I installed debian on a Virtual Machine (VM), and then installed a base system with gdm, XOrg, and xfce4.  After that, I enabled gdm for XDMCP (just under the [XDMCP] section in /etc/gdm/gdm.conf, i added Enabled=true).

Then I connected, and what do you know? It worked!  Right away I can see problems with the potential technology.  Security concerns for XDMCP are high, but using it under a LAN condition should be fine.  The protocol is unencrypted, but if no one has access to the information, it shouldn’t be an issue.  The second issue is under slow networks, the OS might feel slow, giving the wrong impression of Linux as a whole.  The third issue – No sound.  Now, it’s not technically X’s job to provide sound with a session.. it’s the job of something else (i.e. ESD, OSS, or ALSA).  I may do a little research into sound forwarding later, but it isn’t a priority.

So, what’s the good part? Ease of use.  Keep using it like a real system! It keeps all your files and settings (unlike the live CD). It’s also supported natively by many linux OS’s (XDMCP is generally a native component of most X managers these days, including XDM, GDM, and KDM).  It’s also possible to connect to it on windows via XMing or Cygwin.

Personally, this has also given me some exercise in securing an operating system.  It taught me a few things, as well.  I implemented limits to prevent fork bombs and certain types of DOS attacks.  I also implemented user hard drive quota’s so one single user can’t use up a whole HD.  I also put a inbound/outbound firewall in place using iptables.  I edited /etc/profile and /etc/adduser to make each user’s home directory private (changing umasks and default folder mods). I believe it’s a pretty secure system.  When I actually give it out to other geeks, I guess I’ll find out whether that’s true or not.

I think XDMCP is worth my time, if only for learning purposes.  It also gave me a deeper understand on X forwarding and X in general.

AOTD – Hamachi

Wednesday, July 9th, 2008

The application of the day today is a proprietary p2p VPN program.  Hamachi (by LogMeIn) is a program where users across the globe can connect to each other through a private, encrypted, VPN network.  VPN’s allow users in remote locations to be connected as if they were connected through a local area network.  This opens up many possibilities for playing games and connecting to other computers without going through the annoyance of properly setting up firewalls and routers.  It enables nearly all applications that can be run in a LAN environment to be run over the internet.

What limited use I’ve had with it, it’s worked perfectly.  I prefer OpenVPN (See previous article), but in situations where my non-computer-savvy friends need to be on a LAN with me, this program is better in that situation.

My current experience with the program is file sharing (which works perfectly) and only one game.  The game I tried to play with a friend – Company of Heroes – unfortunately didn’t work.  After doing some research online it appears that the game has trouble when the computer has multiple network interfaces.  Coming from a programming perspective this makes since (though it is poor programming on their part).

So, I would recommend Hamachi for all your simple VPN needs.