iptables kein internet auf localhost

#0
05.08.2004, 14:16
...neu hier

Beiträge: 2
#1 Hallo !
Habe iptables soweit am laufen, dass alle Rechner im LAN ins Internet können.

Leider kann ich mit dem Rechner selbst, auf dem iptables läuft, nicht mehr ins internet, es erscheint immer die Fehlermeldung "unknown host". Ein DNS-Problem kann ich aussschliessen, ein direkter Aufruf über die IP-Adresse schlägt ebenso fehl...

Da fehlt sicher was in meinem skript, vielleicht kann mir hier jmd. weiterhelfen ?

Danke !

Grüssle
Stefan
Seitenanfang Seitenende
05.08.2004, 17:44
Member
Avatar Xeper

Beiträge: 5291
#2 Davon kann man ausgehen das du OUTPUT Policy wohl auf DROP etc. hast.
Aber besser ist es wenn du mal dein script hier anhängst oder es über eine url verfügbar machst. Ansonsten gebe es da wohl ne menge Möglichkeiten.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
06.08.2004, 09:00
...neu hier

Themenstarter

Beiträge: 2
#3 #!/bin/bash
# chkconfig: 345 90 10

# description: Starts and Stops Firewall for a NAT Router
#
#Variablen

LAN_INTERFACE="eth0"
WAN_INTERFACE="ppp0"
LAN_IP="192.168.0.30"
LAN_RANGE="192.168.0.0/24"
LAN_BCAST="192.168.0.255"
IPTABLES="/sbin/iptables"

#Regeln loeschen
$IPTABLES -F
$IPTABLES -X

#Default Policy
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

# Allow all on localhost
$IPTABLES -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT

#Loopback freigeben
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

#SSH fuer Verwaltung aus dem Lan freigeben
$IPTABLES -A INPUT -p tcp --dport 22 -i
$LAN_INTERFACE -s
$LAN_RANGE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport 22 -o
$LAN_INTERFACE -d
$LAN_RANGE -m state --state ESTABLISHED,RELATED -j ACCEPT

#Masquerading fuer alles ausgehenden Verbindungen
$IPTABLES -t nat -A POSTROUTING -o $WAN_INTERFACE -j MASQUERADE

#IP-Spoofing loggen und verhindern
$IPTABLES -A FORWARD -s
$LAN_RANGE -i
$WAN_INTERFACE -j LOG --log-level 6 --log-prefix "FIREWALL:spoofing"
$IPTABLES -A FORWARD -s
$LAN_RANGE -i
$WAN_INTERFACE -j DROP

#begrenztes Forwarding erlauben
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i !
$WAN_INTERFACE -m state --state NEW -j ACCEPT

#Samba/Windows Broadcasts verwerfen (ueberfluten sonst die Logfiles)

# $IPTABLES -A INPUT -p udp --ddort 137:138 -i
$LAN_INTERFACE -j DROP

#e-donkey pakete droppen bevor geloggt wird (ueberfluten sonst die Logfiles)
$IPTABLES -A INPUT -p tcp --dport 4662 -i
$WAN_INTERFACE -j DROP

#Alles loggen was bis hier hin durchgekommen ist, bevor es verworfen wird
$IPTABLES -A INPUT -j LOG --log-level 6 --log-prefix "FIREWALL:input"
$IPTABLES -A FORWARD -j LOG --log-level 6 --log-prefix "FIREWALL:forward"
$IPTABLES -A OUTPUT -j LOG --log-level 6 --log-prefix "FIREWALL:output"

echo

#IP Forwarding aktivieren
echo -n $"IP-Forwarding aktivieren..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo
exit 0

#end of file
Seitenanfang Seitenende
06.08.2004, 11:26
Member
Avatar Xeper

Beiträge: 5291
#4

Zitat

# Allow all on localhost
$IPTABLES -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT

#Loopback freigeben
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
Das ist schon mal doppeltgemoppelt - Das erste "Allow all on localhost" kannst du löschen.

Zitat

#Masquerading fuer alles ausgehenden Verbindungen
$IPTABLES -t nat -A POSTROUTING -o $WAN_INTERFACE -j MASQUERADE
Fehlt da nicht noch -s $LAN_RANGE?

Ansonsten ist deine OUTPUT DROP Policy definitv der Fehler. Ich sehe ja auch keine Regel die begrenzt das OUTPUT überschreibt, ich sehe auch keine DNS Regeln damit localhost einen nameserver erreichen kann - OUTPUT DROP halte sowieso für quatsch, es sei denn du hast Angst vor dir selbst ;)
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende