Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 36.995.839 Times

Fair NAT 0.80

  Date Added: November 08, 2010  |  Visits: 1.010

Fair NAT

Report Broken Link
Printer Friendly Version

Product Homepage
Download (91 downloads)

Fair NAT is a script for configuring NAT on dedicated Linux routers. This is the home of my linux router shaper script which allows something like fair bandwidth sharing among clients in the local network. The script is not great or anything - please dont expect the holy grail here - I just thought Id publish it because many people helped me write it and maybe someone has some use for it. I bet there are still lots of things that can be improved. Sorry about the crappy design of this page, I dont have time to put more effort in better looks. You have a certain number of Clients (User A - User N) in your LAN which are connected by a Switch (or a Hub or BNC) to the Linux Router which is supposed to act as a gateway to the internet. The trouble now is, User B has a lot of downloads running and User C uploads stuff day and night, which leaves User A who only wants to use an interactive SSH shell in the rain, since B and C already use up all bandwidth the internet connection offers. What we need to do is to share available bandwidth fairly among clients. In order to achieve this, I first tried several searches at Google and Freshmeat. This turned up quite a lot of results, like the Linux Advanced Routing & Traffic Control HOWTO which is a must-read and also contains great scripts, like the Wondershaper for single users. Another great general purpose script I found was HTB.init, which doesnt do anything by default, but gives you an easy way to setup HTB queues. In case you prefer CBQ, theres a CBQ.init too. If you dont know what Im talking about, read the HOWTO above or continue reading here. Since I never found a script that did exactly what I wanted, I decided to write my own. Its designed to be an all-I-need script, therefore it does not just setup Traffic Shaping, but Masquerading and Port Forwarding too. In short, it does everything that has to do with IPTables and Traffic Control. I use HTB (Hierarchical Token Bucket) to share bandwidth among clients (one class per client). On top of that I added a PRIO queue to prioritize interactive traffic on a per-user basis. On top of PRIO I set SFQ to treat connections fairly. In version 0.72, experimental support for IPP2P to recognize peer-to-peer traffic was added. This is the simplified scheme for routing: HTB class (for bandwidth sharing) | -- PRIO (for prioritizing interactive traffic) | --- Interactive: SFQ (to treat concurrent connections fairly) --- Normal: SFQ --- High-Traffic: SFQ [ --- P2P: SFQ (if IPP2P support is enabled only) ] I bet this can still be improved and Im always interested in ways to do so. In case you want another class structure, this can be done by replacing the parent_class and user_class functions in the script. See CLASS_MODE in Configuration section and the function documentation in the script for details. Feel free to send me your own functions with a short explanation, if you want me to make them available for everybody. Heres a "real" graphic, which shows the complete qdisc/class structure on $DEV_LAN if you use the unmodified example configuration file. This graphic was created using a hacked version of Stef Coenes script and GraphViz. Click here to see it, but I warn you: its quite big. Heres a similar picture, which includes IPP2P support. Note that there are more filter rules (the blue arrows) now which put the filesharing traffic into the users prio band 4.. Fair NAT is a Linux Router QoS/Traffic Shaping script for fair bandwidth sharing among clients in the local network.

Requirements: No special requirements
Platforms: Linux
Keyword: Allow Fair Nat Class Fair Fair Nat Linux Nat Networking Script Sfq System Tos Traffic User
Users rating: 0/10

License: Freeware Size: 31.74 KB
More Reviews or Write Review

Utilities  -  quicktables 2.3
quicktables is an iptables firewall and firewall / nat (gateway) script generator. it was created to provide a secure set of iptables rules quickly, while still maintaining few requirements (sh and ifconfig pretty much). quicktables will ask you...
19.46 KB  
Utilities  -  Puppy Linux 2.17.1
Puppy Linux is an evolutionary operating system, based on GNU Linux. Whats different here is that Puppy is extraordinarily small, yet quite full featured. Puppy Linux can boot into a 64MB ramdisk, and thats it, the whole caboodle runs in RAM....
93.2 MB  
Programming  -  Class::STL::Containers for Linux 0.35
Class::STL::Containers is a Perl modulethat provides a framework for rapid Object Oriented Perl application development. It consists of a number of base classes that are similar to the C++/STL framework, plus a number of helper classes which...
61.44 KB  
Utilities  -  Crash Recovery Kit for Linux
Crash Recovery for Linux sounds a bit superfluous. Linux is regarded as one of todays most stable Operating Systems. In the case of some hardware failure like a broken disk it can however be handy. Of course your machine doesnt have to have...
38.1 MB  
Utilities  -  Kwort Linux 2.2
Kwort Linux is an free operating system. Based on slackware, it provides a solid, simple and stable base system. Kworts desktop and applications are completely based on the gtk2 toolkit. It uses the Xfce desktop as default with some...
485.3 MB  
Desktop Utilities  -  XGL on Debian GNU/Linux 1.1.0
XGL on Debian GNU/Linux is a script which will install XGL, Beryl and nVidia drivers on your Debian system. The script is only for users who have got a nvidia graphic card. If you have already installed nvidia driver from the official website,...
19.46 KB  
Networking Tools  -  IP-Array 0.05.72
IP-Array is a Linux iptables firewall script written in bash. IP-Array allows the creation of precise, stateful rules, while remaining easy to configure. Goals: An easy to configure firewall - still leaving the user the possiblillity to...
71.68 KB  
Utilities  -  Finnix 89.2
Finnix is a self-contained, bootable Linux CD distribution ("LiveCD") for system administrators, based on Debian testing "etch". You can mount and manipulate hard drives and partitions, monitor networks, rebuild boot records, install other...
111 MB  
Installer/Uninstaller Tools  -  SlackGrade 0.0.2exp1
SlackGrade is a utility that allows Slackware Linux users to keep the system always up to date with the latest offcial packages available in the main Slackware distribution sources on the web, by listing, downloading and upgrading its with ease,...
55.3 KB  
Utilities  -  Voltalinux 1.0
Voltalinux is a GNU/Linux distro based on Slackware GNU/linux and the pkgsrc package system from NetBSD. The two pieces of software put together give you great power. Great availability of software for a strong and solid distribution as Linux...
260 MB  
Network & Internet  -  Free WiFi Hotspot 3.3.1
Free WiFi Hotspot is a super easy solution to turn your laptop or notebook into a portable Wi-Fi hotspot, wirelessly sharing your internet connections like DSL, Cable, Bluetooth, Mobile Broadband Card, Dial-Up, etc. through the built-in wireless...
1.04 MB  
Network & Internet  -  Easy Uploads 1.8
Easy uploads is a file storage media streaming application designed by Filestreamers that allows you to upload, store, and stream your files from their virtually unlimited file storage server. Easy Uploads can backup,share, and stream your files...
615.97 KB  
Network & Internet  -  PacketFence ZEN 3.1.0
PacketFence is a fully supported, trusted, Free and Open Source network access control (NAC) system. Boosting an impressive feature set including a captive-portal for registration and remediation, centralized wired and wireless management, 802.1X...
1024 MB  
Network & Internet  -  django-dbstorage 1.3
A Django file storage backend for files in the database.
10.24 KB  
Network & Internet  -  SQL Inject Me 0.4.5
SQL Inject Me is a Firefox extension used to test for SQL Injection vulnerabilities. The tool works by submitting your HTML forms and substituting the form value with strings that are representative of an SQL Injection attack.
133.12 KB  
Networking Tools  -  gvrpad 0.1
gvrpad is a daemon that makes GVRP announcements of all VLAN interfaces on a FreeBSD system. GVRP is the GARP VLAN Registration Protocol, defined in IEEE 802.1Q (VLANS); GARP is the Generic Attribute Registration Protocol, defined in 802.1D...
15.36 KB  
Networking Tools  -  Cheops 0.61
Cheops is an Open Source Network User Interface. It is designed to be the network equivalent of a swiss-army knife, unifying your network utilities. Cheops is for the network what a file manager is for your filesystem..
317.44 KB  
Networking Tools  -  ssh tunnel on demand 1.0
ssh tunnel on demand provides a script that creates an SSH tunnel on demand. ssh tunnel on demand is a script that makes it possible for a user to create an SSH tunnel to a server and connect to it without needing an account on the box or any...
13.31 KB  
Networking Tools  -  strongSwan 4.1.5
strongSwan is an OpenSource IPsec implementation for the Linux operating system. strongSwan is an OpenSource IPsec implementation for the Linux operating system. In order to have a stable IPsec platform to base our future extensions of the X.509...
1.7 MB  
Networking Tools  -  triggers 0.41
trigger is a lightweight, asynchronous notification mechanism to set off events in and across systems. The poor mans daily snapshot, glastree builds live backup trees, with branches for each day. Users directly browse the past to recover older...
14.34 KB