hallo erstmal,
Linux Newbie
OS: Suse Linux 8.2 als Gateway. IP:192.168.100.99 Subet:255.255.255.0
T-Online dynamische IP-Zuweisung
externes interface: ppp0
internes Interface: eth1
Im Netzwerk befindet sich ein Windows XP Rechner mit Apache(IP:192.168.100.98).
Dieser soll von aussen erreichbar sein. Ich habe also die susefirewall
deaktiviert, ein Skript zur Erstellung der nötigen iptables heruntergeladen und
ein wenig modifiziert, und schließlich über den runlevel-editor für runlevel
2,3,5 aktiviert. Jedoch will das mit dem externen Zugriff auf dem Apache
einfach nicht klappen. Hier ist das script:
#/bin/sh
########################################################
Skript: Firewall-Skript fuer DSL-Router
########################################################
Author: [email protected]
Datum : 16.02.2003
Status: funktiostuechtiges Beispiel
########################################################
Dieses Skript darf und soll von jedem kopiert
und veraendert werden.
Fuer Anregungen aller Art bin ich jederzeit dankbar.
########################################################
#— Forwarding aktivieren —
echo -n ‚.‘
echo 1 >> /proc/sys/net/ipv4/ip_forward
echo 1 >> /proc/sys/net/ipv4/ip_dynaddr
#— Netfilter-Module laden —
echo -n ‚.‘
modprobe ip_tables
echo -n ‚.‘
modprobe iptable_filter
modprobe iptable_nat
echo -n ‚.‘
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
echo -n ‚.‘
modprobe ip_nat_ftp
modprobe ip_nat_irc
echo -n ‚.‘
modprobe ipt_unclean
modprobe ipt_state
modprobe ipt_tcpmss
echo -n ‚.‘
modprobe ipt_MASQUERADE
modprobe ipt_TCPMSS
modprobe ipt_LOG
#— alte Regeln löschen —
echo -n ‚.‘
iptables -t filter -F
iptables -t nat -F
#— Default Policy setzen —
echo -n ‚.‘
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
#— Masquerading aktivieren —
echo -n ‚.‘
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/16 -j MASQUERADE
#— MSS der Pakete ins I-Net an die MTU von DSL (=1492) anpassen —
echo -n ‚.‘
iptables -A FORWARD -o ppp0 -p TCP --tcp-flags SYN,RST SYN -j TCPMSS
–clamp-mss-to-pmtu
#---- Massnahmen gegen Angriffsversuche ergreifen
----------------------------->
echo -n ‚.‘
#-- ungewöhnliche/defekte Pakete verwerfen –
forwarding
#iptables -A FORWARD -m unclean -j DROP
local input
#iptables -A INPUT -m unclean -j DROP
#-- Pakete aus I-Net mit privaten (gefaelschten) Absenderadressen verwerfen –
prerouting
#iptables -t nat -A PREROUTING -i ppp0 -s 192.168.0.0/16 -j DROP
#iptables -t nat -A PREROUTING -i ppp0 -s 10.0.0.0/8 -j DROP
#iptables -t nat -A PREROUTING -i ppp0 -s 172.16.0.0/12 -j DROP
#iptables -t nat -A PREROUTING -i ppp0 -s 127.0.0.0/8 -j DROP
forwarding
#iptables -A FORWARD -i ppp0 -s 192.168.0.0/16 -j DROP
#iptables -A FORWARD -i ppp0 -s 10.0.0.0/8 -j DROP
#iptables -A FORWARD -i ppp0 -s 172.16.0.0/12 -j DROP
#iptables -A FORWARD -i ppp0 -s 127.0.0.0/8 -j DROP
local input
#iptables -A INPUT -i ppp0 -s 192.168.0.0/16 -j DROP
#iptables -A INPUT -i ppp0 -s 10.0.0.0/8 -j DROP
#iptables -A INPUT -i ppp0 -s 172.16.0.0/12 -j DROP
#iptables -A INPUT -i ppp0 -s 127.0.0.0/8 -j DROP
#---- Destination-NAT aktivieren
---------------------------------------------->
echo -n ‚.‘
#-- Apache Verbindungen nach 192.168.100.98 leiten –
iptables -t nat -A PREROUTING -i ppp0 -p TCP --dport 80 -j DNAT
–to-destination 192.168.100.98
#---- bestimmte Verbindungen aus I-Net erlauben
-------------------------------->
echo -n ‚.‘
#-- HTTP –
iptables -A INPUT -p TCP --dport 80 -j ACCEPT
#-- SSH –
#iptables -A INPUT -i ppp0 -p TCP --dport 22 -j ACCEPT
#-- FTP (mit offenen Ports für „passive mode“) –
#iptables -A INPUT -i ppp0 -p TCP --dport 21 -j ACCEPT
#iptables -A INPUT -i ppp0 -p TCP --dport 49152:65534 -j ACCEPT
#-- Ping –
iptables -A INPUT -i ppp0 -p ICMP --icmp-type ping -j ACCEPT
#-- Destination-NAT für lokales Netzwerk erlauben –
iptables -A FORWARD -i ppp0 -d 192.168.0.0/16 -j ACCEPT
#---- alle uebrigen Verbindungen aus I-Net abweisen
--------------------------->
echo -n ‚.‘
forwarding
iptables -A FORWARD -i ppp0 -m state --state NEW,INVALID -j LOG
iptables -A FORWARD -i ppp0 -m state --state NEW,INVALID -j DROP
local input
iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j LOG
iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP
#---- Ende Firewall-Skript
---------------------------------------------------->
echo -n ‚.‘
Ich danke schon mal für jede Hilfe.