Befehl Bash speichern

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
zebulon58
Beiträge: 158
Registriert: 22.04.2012 16:04:47

Befehl Bash speichern

Beitrag von zebulon58 » 18.06.2014 20:09:09

Ich habe im der Bash folgende Eingabe gemacht, scheinbar funktioniert das - aber am nächsten Tag ist es wieder weg :facepalm:
Also - wie speicher ich das so, das es "bleibt" (habt Geduld mit mit - erstens schon 55 J. u, zweitens Debian Anfänger..)

Code: Alles auswählen

rp58@zebulon58:~$ su
Passwort: 
root@zebulon58:/home/rp58# iptables -A INPUT -i eth0 -j LOG --log-prefix "DROP - "
root@zebulon58:/home/rp58# iptables -A INPUT -p tcp --syn -i eth0 -j DROP
root@zebulon58:/home/rp58# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN
LOG        all  --  anywhere             anywhere             LOG level warning prefix "DROP - "
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
root@zebulon58:/home/rp58# 
OpenSuse 13.2 auf PC Eigenbau (AMD Athlon(tm) 7750 Dual-Core Processor 2x 2.7 GHz Prozessor / RAM 3,4 GiB / GeForce 8800 GT) OpenSuse 13.2 auf Laptop Fujitsu Siemens (CPU Intel Core Duo T2050 / 1.6 GHz / RAM 1 GB ( 2 x 512 MB )

Benutzeravatar
Dogge
Beiträge: 1899
Registriert: 13.09.2010 11:07:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Befehl Bash speichern

Beitrag von Dogge » 18.06.2014 20:16:52

Debian Testing + Gnome | Linux-Anfänger seit 04/2003
http://files.mdosch.de/2014-07/0xE13D657D.asc

DeletedUserReAsG

Re: Befehl Bash speichern

Beitrag von DeletedUserReAsG » 18.06.2014 20:27:14

Ich würde es via iptables-save in eine Datei speichern, und die mit iptables-restore in einem Startscript laden.

zebulon58
Beiträge: 158
Registriert: 22.04.2012 16:04:47

Re: Befehl Bash speichern

Beitrag von zebulon58 » 18.06.2014 20:37:22

niemand hat geschrieben:Ich würde es via iptables-save in eine Datei speichern, und die mit iptables-restore in einem Startscript laden.
Danke an euch Beide, aber ganz ehrlich ?

"Ich versteh nur Bahnhof" :roll:

S.h. ich muß wohl noch sehr viel lernen u. das ist nicht eure Aufgabe. Wenn ich dann mal halbwegs weiß wie ich z.B. ein "Startscript" erstelle, melde ich mich mit der Ursprungsfrage zurück...

Mann, Mann - mir wird jetzt erst bewußt wie erschreckend wenig man (auch nach Jahren) von Linux versteht, wenn man immer in der bequemen "KlickiBunti" Welt von Suse oder Ubuntu bleibt.
Da klappt vieles viel leichter als bei Debian (wenn auch nicht unb. dauerhaft u. verläßlich), aber man lernt dabei eigtl. genau so wenig wie ein Windows User - es ist halt nur "anders und billiger".
Also, ich werde mich nach u. nach in meine 2 "schlauen Bücher" reinarbeiten - und dann s.o. :THX:

Aber versucht habe ich zumindest "iptables-save" (und selbst das zunächst falsch als "iptables -save" eingegeben :facepalm: ), aber das hier ist wohl nicht wie geplant (ich wurde auch nicht nach Speicherort gefragt..)

Code: Alles auswählen

rp58@zebulon58:~$ su
Passwort: 
root@zebulon58:/home/rp58# iptables -A INPUT -i eth0 -j LOG --log-prefix "DROP - "
root@zebulon58:/home/rp58# iptables -A INPUT -p tcp --syn -i eth0 -j DROP
root@zebulon58:/home/rp58# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN
LOG        all  --  anywhere             anywhere             LOG level warning prefix "DROP - "
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
root@zebulon58:/home/rp58# iptables save
Bad argument `save'
Try `iptables -h' or 'iptables --help' for more information.
root@zebulon58:/home/rp58# iptables-save
# Generated by iptables-save v1.4.14 on Wed Jun 18 20:39:06 2014
*filter
:INPUT ACCEPT [7805:6493733]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6993:900982]
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A INPUT -i eth0 -j LOG --log-prefix "DROP - "
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
COMMIT
# Completed on Wed Jun 18 20:39:06 2014
root@zebulon58:/home/rp58# 
OpenSuse 13.2 auf PC Eigenbau (AMD Athlon(tm) 7750 Dual-Core Processor 2x 2.7 GHz Prozessor / RAM 3,4 GiB / GeForce 8800 GT) OpenSuse 13.2 auf Laptop Fujitsu Siemens (CPU Intel Core Duo T2050 / 1.6 GHz / RAM 1 GB ( 2 x 512 MB )

DeletedUserReAsG

Re: Befehl Bash speichern

Beitrag von DeletedUserReAsG » 18.06.2014 20:46:10

Aber versucht habe ich zumindest "iptables-save", aber das hier ist wohl nicht wie geplant (ich wurde auch nicht nach Speicherort gefragt..)
Das ist schon korrekt so. Wenn du die Ausgabe in einer Datei haben willst, musst du die Ausgabe in eine Datei umleiten: iptables-save > datei_in_die_es_soll – mit iptables-restore datei_in_die_es_soll wird’s dann wieder geladen.

zebulon58
Beiträge: 158
Registriert: 22.04.2012 16:04:47

Re: Befehl Bash speichern

Beitrag von zebulon58 » 18.06.2014 20:51:57

niemand hat geschrieben:
Aber versucht habe ich zumindest "iptables-save", aber das hier ist wohl nicht wie geplant (ich wurde auch nicht nach Speicherort gefragt..)
Das ist schon korrekt so. Wenn du die Ausgabe in einer Datei haben willst, ..
Keine Ahnung "ob ich das will", muß ich es in Datei speichern ?

Oder geht das nicht irgendwie als dauerhafter Befehl ohne "speichern/restore", wobei ich "restore" jetzt so verstehe (ich hoffe ich mnache mich jetzt nicht komplett "zum Affen"), dass ich es quasi jeden Tag beim Hochfahren des Systems wieder neu laden ("restore") müßte ?

Anders gefragt - wenn ich aus obiger Bash einfach via "File/Quit" wieder rausgehe, ist es dann (wie gehabt) wieder weg (also beim nächstem Systemstart wieder auf Null ?
OpenSuse 13.2 auf PC Eigenbau (AMD Athlon(tm) 7750 Dual-Core Processor 2x 2.7 GHz Prozessor / RAM 3,4 GiB / GeForce 8800 GT) OpenSuse 13.2 auf Laptop Fujitsu Siemens (CPU Intel Core Duo T2050 / 1.6 GHz / RAM 1 GB ( 2 x 512 MB )

DeletedUserReAsG

Re: Befehl Bash speichern

Beitrag von DeletedUserReAsG » 18.06.2014 21:03:49

Wenn du deinen Regelsatz speichern willst, musst du ihn speichern, ja. Und wenn du’s beim Hochfahren wieder eingelesen haben willst, musst du ihn auch wieder einlesen. Weil: sonst weiß dein iptables ja gar nicht mehr, welche Regeln du dir vor dem letzten Reboot so ausgetüftelt hast.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: Befehl Bash speichern

Beitrag von peschmae » 18.06.2014 21:08:42

Das hast du schon richtig verstanden. Iptables ist halt ein Dings was im Kernel steckt, und so Kernel-Module können nun mal "von selber" keine Konfiguration speichern. D.h. das muss von aussen irgendwie zugeführt werden. Wieso da Debian nicht schon irgend einen komfortablen Mechanismus mit ein paar fertigen Scripts eingebaut hat mit drin hat ist mir auch nicht ganz klar (liegt wohl daran, dass es schon viele "grössere" Lösungen gibt, die die Iptables-Regeln aus was anderem generieren und auch gleich noch das laden übernehmen), aber so muss man das halt von Hand machen.

Beschrieben z.B. hier: https://wiki.debian.org/iptables

Also Regeln speichern z.B. iptables-save > /etc/iptables.up.rules
und um sie beim starten der Netzwerkverbindungen automatisch laden zu lassen ein Script mit Namen /etc/network/if-pre-up.d/iptables

Code: Alles auswählen

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.up.rules
das ausserdem ausführbar sein muss chmod +x /etc/network/if-pre-up.d/iptables.

Ich mach das selber bei mir ganz ähnlich (aber aus Gewohnheit nicht mittels iptables-save/restore sondern mittels einer Serie von iptables-Aufrufen)

Ganz allgemein: das hat jetzt nicht soo viel mit bash oder nicht-bash zu tun. Befehle auf der Bash werden immer nur einmal ausgeführt - dann wenn du sie eintippst. Ob die Auswirkungen davon permanent sind oder nicht kommt drauf an was der entsprechende Befehl genau macht...

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

zebulon58
Beiträge: 158
Registriert: 22.04.2012 16:04:47

Re: Befehl Bash speichern

Beitrag von zebulon58 » 18.06.2014 21:15:52

peschmae hat geschrieben:Das hast du schon richtig verstanden. Iptables ist halt ein Dings was im Kernel steckt, und so Kernel-Module können nun mal "von selber" keine Konfiguration speichern. D.h. das muss von aussen irgendwie zugeführt werden. Wieso da Debian nicht schon irgend einen komfortablen Mechanismus mit ein paar fertigen Scripts eingebaut hat mit drin hat ist mir auch nicht ganz klar (liegt wohl daran, dass es schon viele "grössere" Lösungen gibt, die die Iptables-Regeln aus was anderem generieren und auch gleich noch das laden übernehmen), aber so muss man das halt von Hand machen...
MfG Peschmä
Ich habe das alles jetzt 3 x gelesen, aber ehrlich gesagt immer noch nicht im Detail gefressen - das liegt schlicht an meinem mangelndem Basiswissen -und das muß ich mir, wie bereits geschrieben, erst mal anlesen.
Ich bin aber sicher das mir dann deine Beschreibung weiter helfen wird, aber jetzt bin ich damit einfach noch überfordert....

Insofern erst mal vielen Dank an dich/euch - aber ich klink mich jetzt hier aus. Soll ich trotzdem auf "Gelöst" setzen ?
OpenSuse 13.2 auf PC Eigenbau (AMD Athlon(tm) 7750 Dual-Core Processor 2x 2.7 GHz Prozessor / RAM 3,4 GiB / GeForce 8800 GT) OpenSuse 13.2 auf Laptop Fujitsu Siemens (CPU Intel Core Duo T2050 / 1.6 GHz / RAM 1 GB ( 2 x 512 MB )

inne
Beiträge: 3293
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Befehl Bash speichern

Beitrag von inne » 18.06.2014 21:23:21

peschmae hat geschrieben:Ob die Auswirkungen davon permanent sind oder nicht kommt drauf an was der entsprechende Befehl genau macht...
Für iptables gibt es dann Debianiptables-persistent. Ist das installiert, bleiben die Regeln über einen Neustart hinweg bestehen. Das ist aber IMO sehr schwer handzuhaben, gerade auch für einen Anfänger...

Evtl. zusätzlich zu Debianiptables-persistent ein Script anlegen bspw. /root/bin/setup-iptables.sh und das immer bearbeiten und ausführen um das Regelwerk anzupassen:

Code: Alles auswählen

# cat /root/bin/setup-iptables.sh
#!/bin/sh

# policy setzen
iptables -P INPUT       DROP
iptables -P OUTPUT      DROP
iptables -P FORWARD     DROP

# alle Regeln löschen
iptables -F
iptables -F -t nat
iptables -X

# neue/eigene Regeln anführen
# ...
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
# ...

# regeln speichern
service iptables-persistent save
Edit: Mit Jessie/testing scheint sich bei Debianiptables-persistent auch einiges geändert zu haben. Das kennt nun Plugins...
Zuletzt geändert von Anonymous am 27.01.2015 20:23:59, insgesamt 6-mal geändert.

DeletedUserReAsG

Re: Befehl Bash speichern

Beitrag von DeletedUserReAsG » 18.06.2014 21:30:54

Die (meiner bescheidenen Meinung nach) einfachste Variante wäre wohl, die Regeln in genau so, wie man sie in einer Shell eintippeln würde, in der /etc/rc.local zu speichern. Oder halt das von inne gezeigte Script aus der rc.local heraus aufzurufen.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: Befehl Bash speichern

Beitrag von peschmae » 19.06.2014 15:19:25

inne hat geschrieben: Für iptables gibt es dann Debianiptables-persistent. Ist das installiert, bleiben die Regeln über einen Neustart hinweg bestehen. Das ist aber IMO sehr schwer handzuhaben, gerade auch für einen Anfänger...
Stimmt, das hatte ich mal gesehen. Finde ich aber auch nicht so toll ;)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Antworten