• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

iptables, SUSE 9.0, ping

bindert

Newbie
Hi
ich wollt mit iptables eine Firewall aufbauen, bekomm aber mit folgendem "vorläufigen" Script
die Fehlermeldung:
"ping: sendmsg: Operation not permitted"
sobald ich irgendwas anpingen will.

<firewall>
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

iptables -t nat --policy PREROUTING DROP
iptables -t nat --policy OUTPUT DROP
iptables -t nat --policy POSTROUTING DROP
iptables -t mangle --policy PREROUTING DROP
iptables -t mangle --policy OUTPUT DROP
iptables --delete-chain
iptables -t nat --delete-chain
iptables -t mangle --delete-chain

iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -j ACCEPT

exit 0

kann mir jemand sagen, wo mein Fehler liegt?
P.S.:
OS ist SUSE 9.0 PRO
bevor ich das skript ausführ,
beende ich die laufende firewall mit
"SuSEfirewall2 stop"
( komisch ist, das im yast runlevelmanager die
firewall noch läuft und auch unstoppbar ist.}
beim überrpüfen "mit iptables -v -L" scheint alles ok zu sein
 

wenf

Hacker
nö sehe keinen fehler

# Default Policity
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X

kannst du alle deine Regeln weiter zusammendassen

warum zuerst Policy DROP
und dann alles ACCEPT ?

da muß ein anderer fehler vorliegen

iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -j ACCEPT

erlaubt ALLES
deswegen glaube ich, dass du noch andere Filterregeln irgendwo aktiviet hast
 
OP
B

bindert

Newbie
| warum zuerst Policy DROP
| und dann alles ACCEPT ?
mein skript ist eigentlich länger, aber zur Fehlersuche
hab ichs zerstückelt, und wollt die einzelnen Abschnitte
testen.

| deswegen glaube ich, dass du noch andere Filterregeln irgendwo aktiviet hast

sowas vermut ich auch, jedoch werden mir nach eingabe von
"iptables -v -L" keine anderen Regeln angezeigt
 

wenf

Hacker
zerstückelt - aha

mir gefallen deine Postrouting und Prerouting DROPs nicht


dann mach sie doch anders

alles verbieten -> policy drop - OK

und dann alle regeln weg
und nur regeln einbauen welch du nun realisieren willst
diese dann testen und wenn diese funktionieren zum nächsten Protokoll,bzw problemstellung weitergehen

als erste Regel würde ich alles auf lo erlauben

iptalbes -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

ping 127.0.0.1 sollte dann gehen

dann kannst du weitergehen und das ICMP - Protokoll/Meldungen auf den anderen Interfaces erlauben

iptables -A INPUT -p icmp -i eth0 -j ACCEPT
iptables -A OUTPUT -p icmp -o eth0 -j ACCEPT

nun sollte ping und pong durchkommen (am eth0-Interface)

und dann immer so weiter .... bis die firewall alles kann was du benötigst
 

maxpowers

Member
Hi :D

eine Frage an Wenf wieso gleich das gesamte ICMP erlauben - damit erlaubst du auch son Mist wie "Routerannouncement" ... eigentlich reicht es doch Echo requests zu empfangen und Echo reply's zu senden ...
 
OP
B

bindert

Newbie
danke
lag an den policys für die nat und mangle chains, aber ist es verantwortbar
hier die policy ACCEPT zu lassen und sich auf die filter chains allein zu
verlassen?
wenn ich die filterregeln in die nat und mangle chains übernehm, ist das
ineffizient und verletzt die trennung zwischen routing und filtern

ps
das alles auf lo erlaubt ist und die regeln für icmp hatte ich schon
eingebaut, aber zum fehlersuchen weggelassen.
 
Oben