Script führt sich nicht aus

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Script führt sich nicht aus

Beitrag von Meillo » 14.02.2018 14:49:34

MSfree hat geschrieben: ↑ zum Beitrag ↑
14.02.2018 14:36:03
Was gibt

Code: Alles auswählen

systemctl status rc-local.service
aus?
Uff ... mit Systemd habe ich natuerlich nicht gerechnet ... da vergeht mir nun auch der Spass. 8O
Use ed once in a while!

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 14.02.2018 14:51:43

@Meilo
Das alles ist ja nur Teil meines IHK Projekt(Fachinformatiker für Systemintegration)... nur wenn ich das nicht bis zum 19.2 gelöst bekomme muss ich mir spontan ein neues projekt überlegen welches ich ohne Probleme schnell hinbekomme.

Benutzeravatar
MSfree
Beiträge: 10747
Registriert: 25.09.2007 19:59:30

Re: Script führt sich nicht aus

Beitrag von MSfree » 14.02.2018 14:53:23

Nils96 hat geschrieben: ↑ zum Beitrag ↑
14.02.2018 14:43:31

Code: Alles auswählen

root@debian:/home/nils# ls -l /etc/rc.local
-rw-r--r-- 1 root root 369 Feb 14 14:16 /etc/rc.local
Die ist nicht ausführbar!

Code: Alles auswählen

chmod +x /etc/rc.local
sollte das ändern.
nachdem ich das inactive gesehen habe ich

Code: Alles auswählen

systemctl enable rc-local.service

probiert dabei kam das raus
Was möglicherweise daran liegt, daß bei dir /etc/rc.local nicht ausführbar ist. Also nach dem chmod nochmal enablen.

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 14.02.2018 14:58:00

So ! Das funktioniert jetzt, wenn ich pings von Netwzerk A zu Netzwerk B zulassen will muss ich ja das selbe für enp16s0 machen oder ?
DANKE DANKE DANKE !

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Script führt sich nicht aus

Beitrag von Meillo » 14.02.2018 15:05:57

Nils96 hat geschrieben: ↑ zum Beitrag ↑
14.02.2018 14:51:43
@Meilo
Das alles ist ja nur Teil meines IHK Projekt(Fachinformatiker für Systemintegration)... nur wenn ich das nicht bis zum 19.2 gelöst bekomme muss ich mir spontan ein neues projekt überlegen welches ich ohne Probleme schnell hinbekomme.
Keine Sorge, dir wird ja sowohl schnell als auch zielfuehrend geholfen ...
Use ed once in a while!

Benutzeravatar
MSfree
Beiträge: 10747
Registriert: 25.09.2007 19:59:30

Re: Script führt sich nicht aus

Beitrag von MSfree » 14.02.2018 15:12:53

Nunja, jetzt weißt du zumindest, wie man Befehle in die rc.local einbaut und diese auch zum Laufen bringt.

Dein Routingproblem ist damit aber eigentlich nicht gelöst. Um Netzwerkverbindungen vno A nach B und auch zurück von B nach A zu realisieren, ist NAT-Routing nicht das richtige Mittel. Da sollte man Routing ohne NAT einsetzen. Natürlich könnte man NAT in beide Richtungen einrichten, NAT verursacht aber einen nicht ganz unerheblichen Overhead im Netzwerk und bei GBit-LAN dürfte auch die CPU ordentlich zu tun bekommen.

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 14.02.2018 15:20:44

MSfree ja das ist es ja da die IP ja verschleiert wird weiss der PXE Server nicht wohin der die Pakete zurückschicken kann.
Kennst du dich da aus oder sollte ich ein neues Thema eröffnen ? also dann das routing ohne NAT ? :) trotzdem vielen vielen dank an euch beide !

Benutzeravatar
MSfree
Beiträge: 10747
Registriert: 25.09.2007 19:59:30

Re: Script führt sich nicht aus

Beitrag von MSfree » 14.02.2018 15:30:25

Nils96 hat geschrieben: ↑ zum Beitrag ↑
14.02.2018 15:20:44
MSfree ja das ist es ja da die IP ja verschleiert wird weiss der PXE Server nicht wohin der die Pakete zurückschicken kann.
Wohin die Pakete zurück gehen, weiß aber die Software, die sich um NAT kümmert. Dem PXE-Server (eigentlich wohl eher ein bootp-Server mit tftp) ist das ziemich egal.
Kennst du dich da aus oder sollte ich ein neues Thema eröffnen ?
Vielleicht kannst du einfach mal ein wenig skizzieren, wie das Netzwerk überhaupt aufgebaut bzw. in Subnetze unterteilt ist. So, wie ich das im Moment sehe, weiß ich gar nicht, warum du für PXE überhaupt einen Router brauchst, einen PXE-Server kannst du auch so ins Netz hängen.

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 14.02.2018 15:37:24

okay werde ich machen.
könnte vielleicht etwas dauern.Spätestens morgen ist es da!!!

ren22

Re: Script führt sich nicht aus

Beitrag von ren22 » 14.02.2018 17:28:39

unter /etc/iptables .. liegt eine Datei namens iptables.rules da stehen die Regeln für die iptables drin ... vllt wäre das eine Lösung für dich.

wenn ich mich recht erinnere habe ich damals iptables regeln erstellt, per Hand auf der Kommandozeile und mit sudo iptables-save die Regeln gespeichert, das speichern macht iptables-save automatisch in der der Datei /etc/iptables/rules.vN ... N=4 oder 6

Code: Alles auswählen

ls /etc/iptables/
flush-ip6tables.sh  flush-iptables.sh  ip6tables.rules  iptables.rules  rules.v4  rules.v6

@offtopic
IPV6 braucht doch kein NAT oder ?

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 09:22:17

Ja, also ich hatte davor ein Ubuntu Router auf dem wurden die Gateways trotz speichern immer wieder auf 0.0.0.0 gesetzt, meine Vorgesetzten wissen da auch nciht wieso.
Ich erstelle gerade den Plan dann wird es vielleicht deutlicher.

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 10:32:36

Hier mein Netzwerkplan

Da in dem Netzwerk 40.4.200.0 nicht mehr genügend Platz für die zu installierenden PC´s ist meine Aufgabe ein neues Netzwerk zu erstellen aus welchem Clients aus dem 10.5er Netzwerk booten sollen, indem sie den vorhandenen PXE server welcher sich auf einem SCCM in dem 40.4er Netwzerk befindet (SCCM IP:40.4.200.218.
Desshalb habe ich ein PC mit 2 Netzwerkkarten versehen und debian drauf gespielt. DHCP eingerichtet alles geht, außer eben das Routing zwischen den 2 Netzwerkkarten.
Von meinen Vorgesetzen wurde mir auch gesagt dass ich eine IP-Helper Adresse einrichten muss damit das alles funktioniert, damit werde ich mich aber erst befassen wenn das Routing mal steht :-(

Falls sich noch irgendwelche Fragen auf tuen werde ich sie so schnell wie möglich beantworten.

da die Größe nicht ermittelt werden konnte und bei anderen Anbietern immer etwas abgeschnitten wurde, hier der imgur link:

https://imgur.com/imXJnzw

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 10:45:18

@ren22 diese Datei besitze ich leider nicht muss ich diese dann erstellen ?
habe immer die Kernel iptable versucht zu ändern da wurde mir das Gateway aber immer wieder auf 0.0.0.0 gesetzt egal wie ich es verändert habe.
mit einer zweiten tabelle hat es nicht funktioniert.

ren22

Re: Script führt sich nicht aus

Beitrag von ren22 » 16.02.2018 11:06:19

den Gateway kannst du auch in der /etc/network/interfaces festlegen, für die jeweilige Netzwerkkarte, so mache ich das jedenfalls.

Code: Alles auswählen

man interfaces
Also ich hatte damals die iptables Regeln, einzeln per Hand auf der Kommandozeile geschrieben, welche Regeln Du brauchst
musst Du dir halt selber erarbeiten, ist ja je nach Konstellation immer unterschiedlich was man benötigt.

kleines Beispiel: um eingehende http/https Verbindungen zuzulassen, dass ist nur eine Regel... von vielen

Code: Alles auswählen

sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
schreib einfach alle deine IPTables Regeln nacheinander auf der Kommandozeilde, danach einfach

Code: Alles auswählen

sudo iptables-save
was dann die entsprechenden Dateien unter /etc/iptables erzeugt.

hhm ist schon lange her das ich das mal mit den iptables-save gemacht habe
tippe doch mal auf der der kommandozeile "

Code: Alles auswählen

sudo which iptables-save
" sollte dann /sbin/iptables-save ausgeben.. ansonsten

Code: Alles auswählen

sudo apt-get install iptables-persistent
und

Code: Alles auswählen

sudo systemctl enable iptables.service
sonst hier nochmal nachlesen
https://www.thomas-krenn.com/de/wiki/Ip ... _speichern

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 11:16:53

Das per Hand hab ich ja auch vor, https und so brauch ich ja nicht, ich brauch ja einfach nur routing... heißt die ports unterscheiden sich dann ja bei mir und deinem Beispiel. da es bei mir ja source ip/gateway anstatt Port ist.
Jetzt ist die frage, muss ich das dann bei beiden Interfaces machen ? ich will ja dass die beiden Schnittstellen miteinander kommunizieren.
Und das Netzwerk A zu Netzwerk B UND Netzwerk B zu Netzwerk A funktioniert.

wenn ich /sbin/iptables-save eingebe gibt er mir das auch aus :D

Werde mich da mal schlauer machen.

https://www.thomas-krenn.com/de/wiki/Zw ... nem_System

Hier beschreibt er ja wie es geht...
Nur bei dem Schritt "Konfiguration der neuen Routingtable" hat er eine IP mit 10.10.0.1 ist das ein Schreibfehler oder er meint die 10.10.0.10??? ich sehe sonst niegendwo die 10.10.0.1 Adresse.

2. Frage es reicht ja wenn ich das dann ins Interface mache und muss nicht das ganz unten angegebene Script verwenden, weil bei dem Script versteh ich nur Bahnhof.
Zuletzt geändert von Nils96 am 16.02.2018 11:24:32, insgesamt 3-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10747
Registriert: 25.09.2007 19:59:30

Re: Script führt sich nicht aus

Beitrag von MSfree » 16.02.2018 11:18:56

ren22 hat geschrieben: ↑ zum Beitrag ↑
16.02.2018 11:06:19
schreib einfach alle deine IPTables Regeln nacheinander auf der Kommandozeilde, danach einfach

Code: Alles auswählen

sudo iptables-save
was dann die entsprechenden Dateien unter /etc/iptables erzeugt.
Das würde mich sehr wundern, wenn es das täte. Laut man iptables-save und auch meiner eigenen Erfahrung macht iptables-save:
iptables-save and ip6tables-save are used to dump the contents of IP or IPv6 Table in easlly parseable format to STDOUT.
Da wird gar nichts unter /etc/iptables erzeugt. Das muß man schon selbst auf der Kommandozeile erzwingen:

Code: Alles auswählen

iptables-save > /etc/iptables/firewall.rules
Auch werden diese Regeln nicht beim Reboot wie von Geisterhand gelesen, dazu muß man dann schon

Code: Alles auswählen

iptables-restore < /etc/iptables/firewall.rules
aufrufen oder einen entsprechende systemd.service dafür schreiben.

ren22

Re: Script führt sich nicht aus

Beitrag von ren22 » 16.02.2018 11:21:51

Jetzt ist die frage, muss ich das dann bei beiden Interfaces machen ? ich will ja dass die beiden Schnittstellen miteinander kommunizieren.
nunja...der routing Experte bin ich nun auch nicht aber du müsstest schon dem jeweiligen interface sagen welchen gateway er benutzen soll. ist so als wenn Du zwei Personen hast und nur einer sagst gehe diesen weg, dann weiss die andere Person ja nicht welchen weg sie gehen soll ... also müsstest du auch der anderen person sagen welchen weg sie gehen soll = Person ist hier dann die Netzwerkkarte

ren22

Re: Script führt sich nicht aus

Beitrag von ren22 » 16.02.2018 11:41:05

@MSFRee

stimmt du hast recht... ich sagte ja, lange her das ich das gemacht hatte ... :facepalm:
ich habe nochmal geschaut und unter /etc/systemd/system/ liegt eine Datei names iptabes.service
mit folgenden Inhalt:

Code: Alles auswählen

[Unit]
Description=Packet Filtering Framework
DefaultDependencies=no
After=systemd-sysctl.service
Before=sysinit.target
[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore /etc/iptables/iptables.rules
ExecReload=/sbin/iptables-restore /etc/iptables/iptables.rules
ExecStop=/etc/iptables/flush-iptables.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
und unter /etc/iptables/flush-iptables.sh
cat /etc/iptables/flush-iptables.sh

Code: Alles auswählen

#!/bin/sh
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
nicht vergessen das flush-iptables.sh ausführbar zu machen ... sudo chmod +x flush-iptables.sh

ok bedeutet das nils96 die Regeln per Hand auf der Kommandozeile festlegt und diese wie MSFree geschrieben hat nach
/etc/iptabes/iptables.rules schreibt...

Code: Alles auswählen

sudo iptables-save > /etc/iptables/firewall.rules

ren22

Re: Script führt sich nicht aus

Beitrag von ren22 » 16.02.2018 11:59:36

Hier beschreibt er ja wie es geht...
Nur bei dem Schritt "Konfiguration der neuen Routingtable" hat er eine IP mit 10.10.0.1 ist das ein Schreibfehler oder er meint die 10.10.0.10??? ich sehe sonst niegendwo die 10.10.0.1 Adresse.
auf der Seite steht:
Ausgangslage
Wir gehen davon aus, dass wir 2 Interfaces haben, eth0 und eth1. Die beiden Netze, die verwendet werden sollen sind 192.168.0.0/24 und 10.10.0.0/24, jeweils die .1 soll das Gateway des jeweiligen Netzes sein

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 12:11:06

Sind Regeln dann das gleiche wie Routen ? denn ich muss ja Routen hinzufügen:
Wenn ich folgende kerneltabelle verwenden würde es ja funktionieren:
ip route add default via 40.4.200.254 dev enp0s25
ip route add 40.4.200.0/24 via 40.4.200.252 dev enp0s25
ip route add 10.5.200.0/24 via 10.5.200.254 dev enp16s0

aber damit würde ich ja nur sagen wenn 10.5.200.14 auf 40.4.200.218 will gehe über 40.4.200.252.Das es von 10.5.200.544 auf 40.4.200.252 geleitet wird muss ich ja auch noch sagen

oder muss ich noch irgendwas mit "ip rule add" machen?

@ren22 danke, tut mir leid. das ist dann ja schlecht weil bei meinem enp16s0 ja die adresse gleichzeitig das gateway ist.
oder müsste ich das dann so machen ?

Code: Alles auswählen

ip route add 10.5.200.0/24 dev enp0s25 table rt2
ip route add default via 10.5.200.254 dev enp0s25 table rt2
damit will ich ja sagen das Interface 10.5.200.254 über schnittstelle enp0s25 erreichbar ist

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 14:07:56

Vielleicht mal bei Netzwerk posten?

ren22

Re: Script führt sich nicht aus

Beitrag von ren22 » 16.02.2018 14:27:38

ein Router hat auch eine IP-Adresse was dann auch der Gateway wäre
der soll ja die Pakete durchlassen bzw. weiterreichen.

router-0 hat die IP 40.4.200.252 /gateway-0 (standard-gw: 40.4.200.254)
router-1 hat die IP 40.4.200.254 /gateway-1 (standard-gw: 40.4.200.252)

angenommen:
Server-PT hat die IP 40.4.200.10 (hier wäre der standard-gateway: 40.4.200.254)
PC-0 hat die IP 10.5.200.10 (hier wäre der standard-gateway: 10.5.200.1)
PC-1 hat die IP 10.5.200.20 (hier wäre der standard-gateway: 10.5.200.1)

dann müstest du PC-0 und PC-1 klar machen das der Gateway 10.5.200.1 ist für die beiden PC-0/1(standard-gateway)
Router-0 braucht dann einen Gateway 10.5.200.1 und einen zweiten Gateway 40.4.200.254 (standard-gateway)

sollte eigentlich so funktionieren, wenn ich jetzt keinen Denkfehler mal wieder haben sollte ...
Ich habe mir das so mit den GW's gemerk, dass es immer der nächste PC am anderen Ende ist.

Beispiel:
PC1---PC2---PC3 (jeder PC ist in einem anderem SUBnetz)
wenn PC1 mit PC3 reden will, muss er zu PC2 ansprechen und diesem mitteilen, sagmal PC3 das der Kaffee fertig ist, dann bekommt PC3 von PC2 eine Nachricht, "hallo PC3, "PC1 sagt der Kaffe ist fertig". Direkt 1 mit 3 kann so in der Konstellation nicht mit einander Kommunizieren.
Zuletzt geändert von ren22 am 16.02.2018 14:43:40, insgesamt 4-mal geändert.

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 14:32:15

meinst du 10.5.200.254 anstatt 10.5.200.254?

ren22

Re: Script führt sich nicht aus

Beitrag von ren22 » 16.02.2018 14:38:24

Nils96 hat geschrieben: ↑ zum Beitrag ↑
16.02.2018 14:32:15
meinst du 10.5.200.254 anstatt 10.5.200.254?
woot ?

Nils96
Beiträge: 49
Registriert: 14.02.2018 12:46:36

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 14:45:00

meinst du 10.5.200.254 anstatt 10.5.200.1 so :D
Zuletzt geändert von Nils96 am 16.02.2018 14:49:03, insgesamt 1-mal geändert.

Antworten