iptables, Bad argument `lo'

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

iptables, Bad argument `lo'

Beitrag von feldmaus » 01.10.2012 22:58:35

Hi,

auf meinem Laptop mit LMDE und Kernel 3.5.3 habe ich seit einiger Zeit folgende Fehlermeldung:
Bad argument `lo'
Nun habe ich im Internet eine Lösung gefunden, in dem mein Zeile in meiner Firewall von
iptables -A INPUT -i ! lo -s 127.0.0.1 -j DROP
auf folgendes geändert wird
iptables -A INPUT -i '!lo' -s 127.0.0.1 -j DROP
Der Fehler erscheint auch nicht mehr. Weiß Jemand ob dies Rechtens ist, also wirklich funktioniert so wie ich das eingentlich wünsche, oder sieht iptables '!lo' als ein neues Interface an.

Grüße Markus

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: iptables, Bad argument `lo'

Beitrag von Cae » 01.10.2012 23:54:20

Was verändert

Code: Alles auswählen

-A INPUT ! -i lo -j # gegenüber
-A INPUT -i ! lo -j
– wie es in der Manpage steht?

Code: Alles auswählen

       [!] -i, --in-interface name
              Name of an interface via which a packet was received  (only  for
              packets  entering  the  INPUT,  FORWARD  and PREROUTING chains).
              When the "!" argument is used before  the  interface  name,  the
              sense  is  inverted.
Ich beziehe mich auf iptables 1.4.14 und Kernel 3.2.0-3, also Wheezy-Standard.

Wobei ich mich gerade frage, wie wörtlich die Beschreibung zu lesen ist, denn "before the interface name" bedeutet für mich eher ! lo und nicht ! -i lo. Auf der anderen Seite müsste es dann

Code: Alles auswählen

       -i, --in-interface [!] name
heißen. Prinzipiell ist ! ein spezielleres Zeichen in der Shell, es ruft das letzte (ähnlich lautende) Kommando erneut auf. Im Zweifel könnte man es alleine mit ' Ticks einschließen, um Expansionen zu verhindern. Kann auch sein, dass es schon wieder ein zsh-foo ist, die dash kennt das beispielsweise nur als "Pipeline".

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Re: iptables, Bad argument `lo'

Beitrag von feldmaus » 02.10.2012 17:59:13

Hi Cae,

Mir geht es speziell um das Einschließen von '!lo' mit den Ticks. den ohne den Ticks geht es gar nicht, was ich halt komisch finde. Solange das mit den Ticks wirklich funktioniert sollte es mir egal sein.

Grüße Markus

Benutzeravatar
r900
Beiträge: 1053
Registriert: 09.10.2011 20:06:11
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stockholm

Re: iptables, Bad argument `lo'

Beitrag von r900 » 02.10.2012 22:16:01

Also bei mir unter Squeeze (iptables v1.4.8 ) bekomme ich bei der Reihenfolge "-i ! lo" folgende Warnung angezeigt:

Code: Alles auswählen

Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
Sprich Ausrufezeichen nach der Option ist veraltet, es gehört jetzt vor die Option. Dann nehme ich mal an dass neuere Versionen von iptables die veraltete Syntax nicht mehr unterstützen und es deshalb

Code: Alles auswählen

~# iptables -A INPUT ! -i lo -s 127.0.0.1 -j DROP
heißen muss. Ob es mit deiner Syntax das richtige tut kannst du herausfinden mit

Code: Alles auswählen

~# iptables -L -v

Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Re: iptables, Bad argument `lo'

Beitrag von feldmaus » 04.10.2012 21:48:21

Cae hat geschrieben:Was verändert

Code: Alles auswählen

-A INPUT ! -i lo -j # gegenüber
-A INPUT -i ! lo -j
– wie es in der Manpage steht?
Danke Cae, da ich wohl zu blind. Das muss es gewesen sein.

Grüße Markus

Antworten