Kernel-Update 2.2 => 2.4: Masquerading funktioniert nicht mehr
Ich habe gestern ein Kernelupdate von 2.2.19 auf 2.4.16 gemacht. (Nach der Anleitung im hier FAQ). Seither funktioniert mein masquerading-skript nicht mehr:
-----------------------------------------
#! /bin/sh
# Skript zum Starten von IP-Masquerading
# Die Werte der naechsten 3 Variablen muessen an das Netzwerk angepasst werden:
NET=192.168.10.0 # Adresse des lokalen, nicht offiziellen Netzwerkes
MASK=255.255.255.0 # Netzwerkmaske dieses Netzes
IFACE=ppp0 # Netzwerkinterface ueber das die Verbindung zum Provider besteht.
# Falls das Kernel IP-Masquerade nicht unterstuetzt wird das Script hier sofort verlassen.
test -f /proc/net/ip_masquerade || exit 0;
IPC=/sbin/ipchains
case "$1" in
start )
echo -n "Schalte Masquerading ein ... "
echo "1" > /proc/sys/net/ipv4/ip_forward # Aktivierung der Paketweiterleitung
echo "7" > /proc/sys/net/ipv4/ip_dynaddr # Bei dynamischen Adressen
$IPC -M -S 7200 10 160 # Festlegung der Timeout-Werte
$IPC -P forward DENY # Aktivierung der Masquerade
$IPC -A forward -s $NET/$MASK -i $IFACE -j MASQ
modprobe ip_masq_ftp # Module laden
echo "fertig."
;;
stop )
echo -n "Schalte Masquerade ab ... "
echo "0" > /proc/sys/net/ipv4/ip_forward # Deaktivierung der Paketweiterleitung
echo "0" > /proc/sys/net/ipv4/ip_dynaddr # Deaktivierung der dynamischen Adressen
$IPC -P forward ACCEPT # Deaktivierung der Masquerade
$IPC -D forward -s $NET/$MASK -i $IFACE -j MASQ
modprobe -r ip_masq_ftp # Module entladen
echo "fertig."
;;
restart )
$0 stop;
$0 start;
;;
* )
echo "Verwendung: $0 (start|stop|restart)"
;;
esac
exit 0;
--------------------------------------
Erstes Problem ist, das /proc/net/ip_masquerade nicht mehr funktioniert. Das kann man natürlich einfach löschen, das löst aber das Problem nicht.
Das nächste ist, das ipchains ja soweit ich weiß durch iptables ersetzt wurde. iptables kommt aber mit der syntax anscheinend nicht zurecht.
ip_masq_ftp habe ich durch ip_nat_ftp ersetzt (ip_masq_ftp finde ich nicht in /lib/modules/2.4.16/)
Was muss ich noch ändern, damit das masquerading wieder funktioniert?