router

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
Benutzeravatar
sko
Beiträge: 71
Registriert: 10.07.2002 08:49:57
Wohnort: Wien
Kontaktdaten:

router

Beitrag von sko » 27.09.2002 16:42:23

hi leute,

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 

Benutzeravatar
glatzor
Beiträge: 1769
Registriert: 03.02.2002 19:01:46
Wohnort: Vierkirchen bei München

Beitrag von glatzor » 27.09.2002 16:53:48

Ich habe noch nie etwas mit einem Kabelmodem zu tun gehabt, aber ist eth0 auch wirklich Deine externe Schnittstelle?

Bei pppoe sind es die ppp*-Interfaces.

Benutzeravatar
sko
Beiträge: 71
Registriert: 10.07.2002 08:49:57
Wohnort: Wien
Kontaktdaten:

Beitrag von sko » 27.09.2002 16:57:37

ja ist sie wirklich, hat eine öffentliche ip und ich kann in das öff. netz pingen[/code]

Benutzeravatar
glatzor
Beiträge: 1769
Registriert: 03.02.2002 19:01:46
Wohnort: Vierkirchen bei München

Beitrag von glatzor » 27.09.2002 17:08:32

Es fehlt eine Regel um Verkehr vom Router an die externe Netzschnittstelle zu erlauben. Sollte wohl eigentlich irgendwo bei 3.4 stehen.

Benutzeravatar
sko
Beiträge: 71
Registriert: 10.07.2002 08:49:57
Wohnort: Wien
Kontaktdaten:

Beitrag von sko » 27.09.2002 17:21:21

ah ja, kannst du mir mir vieleicht die regel posten?
was diese dinge betrifft bin ich eine absolute niete!! :oops:

mfg sko

Benutzeravatar
Ilúvatar
Beiträge: 103
Registriert: 04.08.2002 13:03:33
Wohnort: Winterthur (CH)
Kontaktdaten:

Beitrag von Ilúvatar » 30.09.2002 11:27:50

ping: sendto: operation not permitted
genau das hatte ich auch schonmal... 8) bei mir lags daran das bei mir /proc/sys/net/ipv4/icmp_echo_ignore_all = 1 war...

probier mal das hier:

Code: Alles auswählen

 echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
dann solltest du wieder pingen können
Put a Brain in the White House

Antworten