Script führt sich nicht aus

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
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: 10721
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.

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:48:04

das ist die interfaces conf

Code: Alles auswählen

# The loopback network interface
auto lo
iface lo inet loopback
#test
#WAN
allow-hotplug enp0s25
iface enp0s25 inet static
        address 40.4.200.252
        netmask 255.255.255.0
        gateway 40.4.200.254

#LAN
allow-hotplug enp16s0
iface enp16s0 inet static
        address 10.5.200.254
        netmask 255.255.255.0
        post-up ip route change default via 40.4.200.254 dev enp0s25
        post-up ip route change 40.4.200.0/24 via 40.4.200.252 dev enp0s25
        post-up ip route change 10.5.200.0/24 via 10.5.200.254 dev enp16s0

ren22

Re: Script führt sich nicht aus

Beitrag von ren22 » 16.02.2018 14:58:15

"https://imgur.com/a/2gh6w"

bin mir jetzt aber nicht ganz sicher ob nicht router0 auch eine zweite IP (LAN Netzwerkkarte)braucht die dann wäre: 10.5.200.1 .. das müsstest du mal selber ausprobieren .. wie gesagt ich bin kein routing profi ...
Zuletzt geändert von ren22 am 16.02.2018 15:02:25, 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:59:06

dhcp.conf subnetteil

Code: Alles auswählen

subnet 10.5.200.0 netmask 255.255.255.0 {
        option domain-name-servers 10.5.200.254;
        option broadcast-address 10.5.200.255;
        option subnet-mask 255.255.255.0;
        option routers 10.5.200.254;
        range 10.5.200.100 10.5.200.200;

host ubuntu { hardware ethernet 08:00:07:26:c0:a5; fixed-address 10.5.200.10; }
}

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

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 15:01:47

der Router im anderen Netzwerk kann ich nichts verändern.
Wüsste jetzt auch nicht wie man 2 gateways einrichten kann.
ich mache mal ein Post bei Netzwerk aber vielen Dank für die Hilfe ren22 und MSfree

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

Re: Script führt sich nicht aus

Beitrag von Nils96 » 16.02.2018 15:27:37

viewtopic.php?f=30&t=168713
hier weitergeführt

Antworten