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 31.813.342 Times

Fair NAT 0.80

  Date Added: November 08, 2010  |  Visits: 832

Fair NAT

Report Broken Link
Printer Friendly Version

Product Homepage
Download (84 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
Networking Tools  -  Pol-IP 1.1
Pol-IP is a complete traffic control system for a Linux NAT box with multiplataform clients. It has a user-friendly wizard to config the system in which you can add, delete or chage, clients or groups bandwith, in a hierarchical structure. The...
21.5 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  
Utilities  -  Pol-IP 1.1
Pol-IP is a complete traffic control system for a Linux NAT box with multiplataform clients. It has a user-friendly wizard to config the system in which you can add, delete or chage, clients or groups bandwith, in a hierarchical structure. The...
20.48 KB  
Productivity  -  ChooseiT 4.0
Be fair to everybody, be fair to everything. ChooseiT app is the only app that let you to go through all the options fairly in turn by not choosing the same option again and again and skipping others. ChooseiT saves the selected decision...
409.6 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  -  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  
Utilities  -  Musix GNU+Linux 1.0r2
Musix GNU+Linux is a Free Operating system intended for musicians and users in general. Musix GNU+Linux also contains an enormous collection of free programs. The system will boot from your CD/DVD drive, with no need to install anything on your...
701.2 MB  
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  
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  -  IPv6 CARE 3.2b
IPv6 CARE, "IPv6 Compliant Automatic Runtime Environment", is a Linux tool able to patch ipv6-agnostic programs on-the-fly ('patch' mode). It can also generate a diagnosis about the IPv6 compliance of an application ('check' mode).
409.6 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  
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  -  dynacc 0.5.0
Dynacc aims to be a Pakage which gives you control other your Internet Connection. It runs a linux router/host which provides MASQ services and HTTP proxying for a LAN. It gives you the Power to define users/groups which are allowed to make...
122.88 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