[LARTC] izbalancing - a GNU/Linux Firewall/Router Bash Script
feauturing
Incoming/Outgoing MultiHomed/LoadBalanced Subsystem Management
Ugo Viti
ugo.viti at initzero.it
Fri Jul 8 23:56:26 CEST 2005
Hello,
i wrote a simple but useful (i hope) bash script featuring a easly and
fastly configuration method for implementing a Linux Gateway feauturing
Incoming/Outgoing MultiHomed/LoadBalanced Subsystem Management.
I want share this little script.
you can download a copy from the following address:
http://www.initzero.it/products/opensource/izbalancing/download/izbalancing
just save it in your hd and open it with a text editor (vi, emacs,
gedit...) to configure the minimal variables.
the file it self contains istructions... just read.
don't forget to 'chmod 750 izbalancing' :-)
Follow the readme contained in the script file:
Best Regards
##############################################################################################
# What is this?
# =============
# This bash script allow you to easly and fastly configure a complex Load Balancing Multi Homed Internet Gateway
# for inbound and outbound traffic
# Key Features:
# =============
# - Multiple Balanced Default Gateway Configuration
# - Load Balanced outgoing connections from LAN to INTERNET connections
# - Management of multiple incoming connection from many INTERNET ISP lines to DMZ/LAN Servers
# - SystemV compliant script... you can run easly at boot up (like Red Hat, Fedora, SuSE, Mandrake, etc...)
# - Automatically discover your local IP addresses... you can change your IP without reconfigure this script, just restart
# - Start and Stop Cleanly your MultiHomed Configuration with simple command (izbalancing start|stop|restart)
# - Adding new Internet Connections is very easy and fast
# - You only must know the TABLE ID to assign to the new line, Ethernet Name of your NIC, and the Router IP Address
# Requirements:
# =============
# - GNU/Linux Firewall running Kernel >=2.6.10 (with iptables module CONNMARK available)
# - Bash Shell >= 2.0
# - Standard GNU/Linux coreutils utilities (cat, echo, grep, if, etc...)
# - GNU Version of awk and sed utilities
# - GNU/Linux Netfilter user space utilities (iptables >= 1.2.11)
# - iproute2 utilities
# - Two or more Internet connections (also from different ISPs and IP classes)
# - An ethernet card for each ISP Router
# Tested On:
# ==========
# - GNU/Linux Fedora Core 3 with 2 Internet Connections
# - GNU/Linux Fedora Core 4 with 2 Internet Connections
# Script Usage:
# =============
# 1) Configure or add the following variables:
# TABLEn = Table number of internet connection 'n'
# IFn = The Ethernet Interface name of internet connection 'n'
# GWn = The Router IP Address of Internet connection 'n'
# 2) Add a line for any internet connection in the izbalancing function
# 3) Modify the command "ip route add default equalize nexthop via ..." adding all ISP's Routers IP
# 4) Comment out the iptables rules
# 5) Save this file and execute it a boot time (for Red Hat systems you can copy this script in /etc/rc.d/init.d/ directory
# and launch 'chkconfig --add izbalancing')
# That's all...
--
Ugo Viti
Linux Red Hat Certified Engineer
InitZero S.r.l.
Via P. Calamandrei 24, 52100 Arezzo
Tel. +39 0575 1822155 - Fax. +39 0575 1822156
WWW: http://www.initzero.it
E-Mail: info at initzero.it
More information about the LARTC
mailing list