Shorewall und MASQ

Hallo!

Ich hoffe mal, ich poste das in das richtige Forum. Es geht um folgendes:

Ich sperre beim Start von Shorewall einzelnen Rechnern den Zugang ins Internet per MASQ.

Jetzt möchte ich während der Laufzeit einzelnen Rechner den Zugang freigeben.

Mein Problem jetzt:

Ich blicke in den Scripts von Shorewall nicht ganz durch um die richtige Syntax herhaus zu finden, mit der ich den iptables-Eintrag wieder lösche bzw. wieder setze.

Hier ein iptables -L -n -t nat :

iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
ppp\_masq all -- 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain masq1 (1 references)
target prot opt source destination
RETURN all -- 192.168.20.101 0.0.0.0/0
RETURN all -- 192.168.20.102 0.0.0.0/0
RETURN all -- 192.168.20.103 0.0.0.0/0
RETURN all -- 192.168.20.104 0.0.0.0/0
RETURN all -- 192.168.20.105 0.0.0.0/0
RETURN all -- 192.168.20.106 0.0.0.0/0
MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0

Chain ppp\_masq (1 references)
target prot opt source destination
masq1 all -- 192.168.20.0/24 0.0.0.0/0

Ich hoffe das reicht für euch um daraus den richtigen Befehl zu basteln.

Danke

Klaus

Hallo!

Hi,

Ich hoffe mal, ich poste das in das richtige Forum.

Forum vielleicht schon, aber Unix & Linux waere vielleicht etwas besser gewesen. Aber hier ist auch OK.

Ich sperre beim Start von Shorewall einzelnen Rechnern den
Zugang ins Internet per MASQ.

Ich kenne Shorewall ueberhaupt nicht. Mit dem „MASQ“ sperrst Du uebrigens nicht, Du erlaubst. Aber bestimmte Rechner sind vom masquerading ausgenommen und kommen daher nicht ins Internet.

Ich blicke in den Scripts von Shorewall nicht ganz durch um
die richtige Syntax herhaus zu finden, mit der ich den
iptables-Eintrag wieder lösche bzw. wieder setze.

Hat Shorewall keine manpages installiert?

 $ man iptables

http://iptables-tutorial.frozentux.net/

> iptables -L -n -t nat

Bitte demnaechst noch mit -v. Die Option --line-numbers koennte Dir auch demnaechst nutzen.

> Chain masq1 (1 references)  
> target prot opt source destination  
> RETURN all -- 192.168.20.101 0.0.0.0/0  
> RETURN all -- 192.168.20.102 0.0.0.0/0  
> RETURN all -- 192.168.20.103 0.0.0.0/0  
> RETURN all -- 192.168.20.104 0.0.0.0/0  
> RETURN all -- 192.168.20.105 0.0.0.0/0  
> RETURN all -- 192.168.20.106 0.0.0.0/0  
> MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0

Das Target RETURN verlaesst die aktuelle Kette und springt zur naechsthoheren zurueck. Damit erreichen diese Pakete niemals das Target MASQUERADE und koennen (sollten) wegen der RFC1918-Adressen nicht ins Internet geroutet werden.

 # iptables -t nat -D masq1 4

loescht aus der Kette masq1 der Tabelle nat die vierte Regel.

 # iptables -t nat -D masq1 -j RETURN -s 192.168.20.103

loescht die entsprechende Regel. Dabei die Ausgabe von

 # iptables -t nat -nvL masq1

ansehen, evtl. muss mit -o noch ein Interface oder Quell und Zielport angegeben werden. Es muss genau die zu loeschende Regel eingegeben werden.

HTH,
Gruss vom Frank.

Hallo!

Hat Shorewall keine manpages installiert?

$ man
iptables

nur für die Config, da geht aber nicht draus hervor wie der die Regeln setzt.

iptables -t nat -D masq1 4

loescht aus der
Kette masq1 der Tabelle nat die vierte Regel.

iptables -t nat -D masq1 -j RETURN -s 192.168.20.103

loescht die entsprechende Regel. Dabei die Ausgabe von

iptables -t nat -nvL masq1

ansehen, evtl. muss mit -o
noch ein Interface oder Quell und Zielport angegeben werden.
Es muss genau die zu loeschende Regel eingegeben werden.

Das ist es ja eben, ein

iptables -t nat -D masq1 -j RETURN -s 192.168.20.103

habe ich versucht, in allen möglichen Kombinationen, aber der scheints nicht zu sein, über die Position zu löschen, wird problematisch, wenn ich das scriptgesteuert machen will, dann muss ich immer erst nach der richtigen Zeile „suchen“.

Werde das mal mit dem -v probieren und mal ein -o einbauen, mal schauen, was er dann sagt.

Würde dir ein Auszug aus iptables-save weiterhelfen?

Klaus

Hallo!

Hi,

nur für die Config, da geht aber nicht draus hervor wie der
die Regeln setzt.

Dann gibt’s die Doku auf jedem anderen Linux-OS.

Das ist es ja eben, ein

> iptables -t nat -D masq1 -j RETURN -s 192.168.20.103

habe ich versucht, in allen möglichen
Kombinationen, aber der scheints nicht zu sein,

Gab es bei allen moeglichen Kombinationen evtl. auch eine Fehlermeldung, die Du gnaedigerweise zitieren koenntest?

Würde dir ein Auszug aus iptables-save weiterhelfen?

Ja, aber ich will ihn trotzdem nicht sehen. Es wuerde helfen, wenn Du die Doku liest, zu der ich Dir einen Link gegeben hab.

Gruss vom Frank.