Shell Script beim Booten

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
MaxRitter
Beiträge: 8
Registriert: 11.02.2021 17:54:11

Shell Script beim Booten

Beitrag von MaxRitter » 11.02.2021 18:27:07

Erst mal ein Hallo in die Runde! :D

Nach nun gut 13 Jahren bester Arbeit ist mein Linuxblech endgültig out of Date. Vieles soll neu.

Die letzten Jahre erkenne ich Debian kaum wieder, vieles verschlimmbessert. :roll:
Will eigentlich nur, das noch vor dem Login ein Script mit ebtable & iptable Regeln ausgeführt wird.
Das jetzige Debian weigert sich trotz stundenlanger Recherche die rules zu fressen.
Früher war mal "update-rc.d firewall defaults". Läuft. Fertig.

Letzter versuch war:

Code: Alles auswählen

crontab -e
@reboot /tmp/firewall_rules.sh
Hat wer einen Tipp zum Autostart beim Booten?

System = Debian 10 ohne gui.

rhHeini
Beiträge: 2702
Registriert: 20.04.2006 20:44:10

Re: Shell Script beim Booten

Beitrag von rhHeini » 11.02.2021 18:38:07

Wenn mich nicht alles täuscht hast Du mit einem Skript in /tmp schlechte Karten. Das Verzeichnis wird beim Boot geputzt.

Versuchs mal das Skript irgendwo in /etc in einem passenden Verzeichnis oder besser in /usr/local/bin oder /usr/local/sbin unterzubringen.

Rolf

MaxRitter
Beiträge: 8
Registriert: 11.02.2021 17:54:11

Re: Shell Script beim Booten

Beitrag von MaxRitter » 11.02.2021 18:59:52

Hallo Rolf.
Crontab angepasst auf @reboot /usr/local/sbin/firewall_rules.sh

Keine Besserung.

/usr/local/sbin/firewall_rules.sh auf der Konsole funktioniert sofort....

rhHeini
Beiträge: 2702
Registriert: 20.04.2006 20:44:10

Re: Shell Script beim Booten

Beitrag von rhHeini » 11.02.2021 19:03:31

Owner root, ausführbar, komplette Pfade vor allen Befehlen?

Rolf

MaxRitter
Beiträge: 8
Registriert: 11.02.2021 17:54:11

Re: Shell Script beim Booten

Beitrag von MaxRitter » 11.02.2021 19:06:20

-rwxr-xr-x 1 root root 214 Feb 11 18:54 firewall_rules.sh

Code: Alles auswählen

#!/bin/bash

ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 443 -j redirect --redirect-target ACCEPT
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 443 -j REDIRECT --to-port 8443 

rhHeini
Beiträge: 2702
Registriert: 20.04.2006 20:44:10

Re: Shell Script beim Booten

Beitrag von rhHeini » 11.02.2021 19:11:22

Schreib mal /usr/sbin vor eb/iptables davor. KOMPLETTER PFAD!

Begründung: cron macht eine neue Shell auf, die Pfade müssen entweder im Skript explizit deklariert werden oder vollständig vor jedem Befehl davor stehen.

Rolf

MaxRitter
Beiträge: 8
Registriert: 11.02.2021 17:54:11

Re: Shell Script beim Booten

Beitrag von MaxRitter » 11.02.2021 19:53:12

That's it! :THX:

Script angepasst:
#!/bin/bash

/usr/sbin/ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 443 -j redirect --redirect-target ACCEPT
/usr/sbin/iptables -t nat -A PREROUTING -i br0 -p tcp --dport 443 -j REDIRECT --to-port 8443
Nach Reboot:
# iptables -t nat -v -L PREROUTING -n --line-number
spuckt aus:
Chain PREROUTING (policy ACCEPT 35 packets, 2315 bytes)
num pkts bytes target prot opt in out source destination
1 4 208 REDIRECT tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 redir ports 8443
Regeln werden nun sauber beim Boot gesetzt und verbiegen brav alle Zugriffe auf Port 443 zu localport 8443 ohne weiteres zutun.

Top & dickes Danke Rolf!

Antworten