ich will meinen woody-hobel als router einsetzen
folgende config:
2 netzwerkkarten
---> eth0 externes netz (kabelmodem mit öffentlicher ip)
---> eth1 internes netz mit interner ip
dhcp-server funzt (internes netz)
bind-server funzt (internes netz)
kann vom router ins internet pingen
kann von den internen clients den router pingen (mit namensauflösung)
kann vom router die clients pingen (mit namensauflösung)
habe folgendes firewall script hier aus der liste, aber sobald sich es starte kann ich vom router nicht mehr ins internet pingen, nach intern pingen funzt
fehlermeldung ist:
ping: sendto: operation not permitted
wo liegt mei fehler???
bin für ratschläge dankbar!
Code: Alles auswählen
#!/bin/sh
# ***************************
# ***************************
# * *
# * 1. SETZEN VON VARIABLEN *
# * *
# ***************************
# ***************************
# 1.1. Netzwerkvariablen
# Schnittstelle zum lokalen Netzwerk
IFACE_INT=eth1
# Internetschnittstelle
IFACE_EXT=eth0
# Loopback device
IFACE_LO=lo
# Interner Netzwerkbereich
NET_INT=192.168.100.0/255.255.255.0
function StopFirewall() {
# **********************************
# **********************************
# * *
# * 2. HERUNTERFAHREN DER FIREWALL *
# * *
# **********************************
# **********************************
# Ausschalten des Routing
echo "0" > /proc/sys/net/ipv4/ip_forward
# Default-Policies: Alles rein und raus, kein Forwarding mehr
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Löschen aller Regeln
iptables -F
iptables -t nat -F
# Löschen aller zusätzlichen Ketten
iptables -X
iptables -t nat -X
}
function StartFirewall() {
# ***************************
# ***************************
# * *
# * 3. Starten der Firewall *
# * *
# ***************************
# ***************************
echo "Debug: setting up firewall"
# 3.1 Allgemeines
# Default-Policies setzen - alles fliegt raus
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Einschalten von ip-Forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "Debug: ip_forward"
# Wegen moeglicher Netzwerkprobleme zwecks MTU
# 3.1.1. Eigene Kette zum gleichzeitigen Protokollieren und Rausschmeissen
echo "Debug: create own chain"
# Eigene Kette erstellen
# **********************
iptables -N dude_drop
# Protokollieren
#TCP-Packete
iptables -A dude_drop -p TCP -j LOG -m limit --limit 5/minute \
--log-prefix "TCP-Packet dropped: "
#UDP-Packete
iptables -A dude_drop -p UDP -j LOG -m limit --limit 5/minute \
--log-prefix "UDP-Packet dropped: "
#ICMP-Packete
iptables -A dude_drop -p ICMP -j LOG -m limit --limit 5/minute \
--log-prefix "ICMP-Packet dropped: "
# Raussschmeissen
# ***************
iptables -A dude_drop -j DROP
echo "Debug: Setting up rules"
# 3.2. Regeln fuer eingehende Pakete
# 3.2.1. Vom internen Netzwerk
# Alles erlauben
iptables -A INPUT -i $IFACE_INT -s $NET_INT -j ACCEPT
# 3.2.2. Vom Loopback
# Alles erlauben
iptables -A INPUT -i $IFACE_LO -j ACCEPT
# 3.2.3. Vom Internet
# Kein externer Verbindungsaufbau
iptables -A INPUT -p TCP ! --syn -m state --state NEW -j dude_drop
# Keine externen Verbindungen mit privaten Adressen
iptables -A INPUT -i $IFACE_EXT -s 10.0.0.0/8 -j dude_drop
iptables -A INPUT -i $IFACE_EXT -s 172.16.0.0/12 -j dude_drop
iptables -A INPUT -i $IFACE_EXT -s 192.168.0.0/24 -j dude_drop
# Erlauben von bereits initialisierten TCP-Verbindungen
iptables -A INPUT -i $IFACE_EXT -p TCP -m state \
--state ESTABLISHED,RELATED -j ACCEPT
# Erlauben von bereits initialisierten UDP-Verbindungen von Zeitservern
iptables -A INPUT -i $IFACE_EXT -p UDP -m state \
--state ESTABLISHED,RELATED --sport 123 -j ACCEPT
# Erlauben der notwendigsten ICMP-Pakete
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 0 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 3 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 5 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 11 -j ACCEPT
# 3.3. Regeln fuers Forwarding
# 3.3.1. Lokal -> Internet
# Erlauben von Telnet, SSH, FTP, SMTP, POP3, SHTML Verbindungen
iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -p TCP -m multiport \
--dport 20,21,22,25,80,110,443 -j ACCEPT
# Erlauben von Highport-Verbindungen
iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -p TCP \
--dport 1024:65000 -j ACCEPT
# ICQ-Verbindungen
iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -p UDP \
--dport 4000 -j ACCEPT
# 3.3.2. Internet -> Lokales
# Nur UDP-Verkehr über bereits bestehende ICQ-Verbindungen erlauben
iptables -A FORWARD -i $IFACE_EXT -o $IFACE_INT -p UDP -m state \
--state ESTABLISHED,RELATED --sport 4000 -j ACCEPT
# Nur TCP-Verkehr über bereits bestehende Verbindungen erlauben
iptables -A FORWARD -i $IFACE_EXT -o $IFACE_INT -p TCP -m state \
--state ESTABLISHED,RELATED -j ACCEPT
# 3.4. Regeln für ausgehende Pakete
# 3.4.1. Ins lokale Netzwerk
# Alles erlauben
iptables -A OUTPUT -o $IFACE_INT -j ACCEPT
# 3.4.2. Ans Loopback
# Alles erlauben
iptables -A OUTPUT -o $IFACE_LO -j ACCEPT
# 3.5. Routing
# Masquerading
iptables -A POSTROUTING -o $IFACE_EXT -t nat -j MASQUERADE
# Direkte Verbindungen für ICQ zu mir umleiten
iptables -t nat -A PREROUTING -i $IFACE_EXT -p TCP \
--dport 6000:6010 -j DNAT --to 192.168.100.1
# 3.6. Mitprotokollieren
iptables -A OUTPUT -j LOG --log-prefix "Nicht raus: "
iptables -A FORWARD -j LOG --log-prefix "Nicht durch: "
iptables -A INPUT -j LOG --log-prefix "Nicht rein: "
}
# **********************
# **********************
# * *
# * START-STOP-SKRIPT *
# * *
# **********************
# **********************
case "$1" in
start)
echo -n "Starting firewall: iptables"
StartFirewall
;;
stop)
echo "Stopping firewall: iptables"
StopFirewall
echo "."
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/firewall {start|stop|restart" \
"|force-reload}"
exit 1
;;
esac