christian urra wrote:
> > und das deutet auf einen fehler in der masquerading-config hin. wenn
> > gew�nscht kann ich hier ja mal ein beispiel script f�r
> > firewalling/masquerading in verbindung mit kernel 2.2.x und IPchains auf
> > die liste hierher posten.
>
> Ich bin zwar nicht die Liste, w�rde mich aber �ber Dein Script sehr freuen.
> Ich habe hier zwar schon sowas in der Art laufen (mit Masq Dialer) aber
> mit Kernel 2.2.x l�uft es noch nicht so ganz.
da jetzt doch mehrere nachfragen, hiermal das script. eines vorweg: es
teil ist alt, und nicht weiter "maintained". das hier im befindliche
script im produktiven einsatz, geb ich aus verst�ndlichen gr�nden nicht
raus.
das im attach angeh�ngte script, ist f�r
- kernel 2.2.x (getestet mit 2.2.1 bis *.5, ftp://ftp.de.kernel.org)
- IPChains (v1.3.8)
- suse 5.x (entwickelt, und unter 6.1 getestet)
- kenntnisse in tcp/ip bzw. ONC (Open-Network-Computing) bzw. Firewalls
sind erw�nscht ;)
was das script soll:
- es soll anregungen geben, wie man es "richtig" macht ;)
- das script selber hat *fehler* - die aber absichtlich sind, weil sie
zum nachdenken
auffordern. wer dazu nicht bereit ist, der sollte lieber die sache von
_diesem_ script
lassen.
- das script kann bestimmt noch erweitert werden
ich �ber nehme keine gew�hrleistung f�r das script, solange ich das
"un-maintained" rausgebe.
Mfg. Joerg
--
Henner & Bullinger, Datentechnik GbR | Tel.: +49 (7 11) 2 85 19 05
Linux, Netzwerke, Webhosting & Authoring | D2: +49 (1 72) 7 35 31 09
| Fax: +49 (7 11) 5 78 06 92
Gesch�ftsleitung, Perl/CGI, Support | http://star.bawue.com
# Nur ein einfaches kleines Script um mittels IP-Masquerading einen
# Firewall zu bauen
# OS: SuSE-Linux 5.3
# Autor: Joerg Henner
#
# This is the best method: turn on Source Address Verification
# and get spoof protection on all current and future interfaces.
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
echo -n "Setting up IP spoofing protection..."
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done
echo "done."
else
echo PROBLEMS SETTING UP IP SPOOFING PROTECTION. BE WORRIED.
echo "CONTROL-D will exit from this shell and continue system startup."
echo
# Start a single user shell on the console
/sbin/sulogin $CONSOLE
fi
echo "Setting up forwarding/firewalling/masquerading protection..."
echo 1 > /proc/sys/net/ipv4/ip_forward
case "$1" in
start)
# load all masquerading modules
( cd /lib/modules/$(uname -r)/ipv4 && for i in ip_masq_*.o ; do
modprobe $i ; done )
#
echo -n "Setting up Firewall..."
#
# Wir verbieten jedes Forwarding
# (Policy)
#
ipchains -P input DENY
ipchains -P forward DENY
ipchains -P output DENY
#
# Ein Flush auf alle Kommandos (chains)
#
ipchains -F input
ipchains -F forward
ipchains -F output
#
# Das ist jetzt der ultimative Firewall. Nichts kann rein
# und nichts kann raus. Einige Dienste wollen wir allerdings
# doch erlauben.
#
# Wir akzeptieren alles vom internen netz
#
ipchains -P input ACCEPT
ipchains -P forward MASQ
ipchains -P output ACCEPT
#
# Wir sperren local-loopback-device
#
ipchains -A input -s 127.0.0.1 -p icmp -j DENY
ipchains -A input -d 127.0.0.1 -p icmp -j DENY
#
# Alles f�r den port 12345 von ausserhalb soll
# abgewiesen werden
#
ipchains -A input -p tcp -s 0/0 12345:12345 -j DENY -b
ipchains -A input -p udp -s 0/0 12345:12345 -j DENY -b
ipchains -A input -p icmp -s 0/0 12345:12345 -j DENY
#
# icmp packets within fragments SPERREN
#
ipchains -A input -p icmp -s 0/0 -f -j DENY
#
# icmp packets from source NOT within LAN SPERREN
#
ipchains -A input -p icmp -s ! 195.180.228.224/29 -d
195.180.228.224/29 -j DENY
#
# Alles vom internen netz soll maskeriert werden
# (und reverse)
#
ipchains -A forward -s 195.180.228.224/29 -b
#
echo "done."
#
;;
stop)
echo -n "Shutting down Firewall..."
#
# Ein Flush auf alle Kommandos (chains)
#
ipchains -F input
ipchains -F forward
ipchains -F output
#
# Wir verbieten jedes Forwarding
# (Policy)
#
ipchains -P input DENY
ipchains -P forward DENY
ipchains -P output DENY
#
# Das ist jetzt der ultimative Firewall. Nichts kann rein
# und nichts kann raus. Einige Dienste wollen wir allerdings
# doch erlauben.
#
# unload all masquerading modules
( cd /lib/modules/$(uname -r)/ipv4 && for i in ip_masq_*.o ; do rmmod
$i ; done )
#
echo "done."
#
;;
esac
#
# Das wars f�rs Erste.