Netzwerkverbindung für VMs

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
GregorS
Beiträge: 2616
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Netzwerkverbindung für VMs

Beitrag von GregorS » 19.11.2019 20:06:53

Hallo zusammen!

Nach einem Ausflug zu Slackware bin ich dabei, mich in Debian 10 hineinzuwurschteln.

Nun erzeugt ein Script, das noch aus vor-systemd-Zeit stammt, nur „Kommando nicht gefunden“-Fehlermeldungen. Da ich mich noch nicht die Spur mit den neuen Gegebenheiten befasst habe, benötige ich Hilfe. Es wäre schön, wenn jemand mein Script so schreiben könnte, dass es funktioniert und ich meine z. T. über 10 Jahre alten VMs reaktivieren kann.

Das Original:

Code: Alles auswählen

#!/bin/sh

ip tuntap add mode tap; ifconfig -a tap0 192.168.1.50
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.0.0/24 -j MASQUERADE 

# eof
Nunja ... kann vielleicht noch jemand einen „systemd-Primer“ empfehlen?

TIA

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Netzwerkverbindung für VMs

Beitrag von jph » 19.11.2019 20:33:00

Was sind denn das für VMs? VirtualBox? LXC-Container? Bei denen kommt man ohne solches Gewurschtel :) aus

Benutzeravatar
GregorS
Beiträge: 2616
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Netzwerkverbindung für VMs

Beitrag von GregorS » 19.11.2019 20:35:12

jph hat geschrieben: ↑ zum Beitrag ↑
19.11.2019 20:33:00
Was sind denn das für VMs? VirtualBox? LXC-Container? Bei denen kommt man ohne solches Gewurschtel :) aus
qemu.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: Netzwerkverbindung für VMs

Beitrag von unitra » 20.11.2019 16:56:09

Wo erzeugt das Skript die Fehlermeldungen? Vermutlich bei dem ifconfig, aber die Fehlermeldung zu sehen wäre hilfreich.
GregorS hat geschrieben: ↑ zum Beitrag ↑
19.11.2019 20:06:53
...
Nun erzeugt ein Script, das noch aus vor-systemd-Zeit stammt, nur „Kommando nicht gefunden“-Fehlermeldungen.
...
Das Original:

Code: Alles auswählen

#!/bin/sh

ip tuntap add mode tap; ifconfig -a tap0 192.168.1.50
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.0.0/24 -j MASQUERADE 

# eof

guennid

Re: Netzwerkverbindung für VMs

Beitrag von guennid » 21.11.2019 15:37:59

GregorS hat geschrieben:Nach einem Ausflug zu Slackware
Warum blieb's beim „Ausflug“?

Grüße, Günther

Benutzeravatar
GregorS
Beiträge: 2616
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Netzwerkverbindung für VMs

Beitrag von GregorS » 21.11.2019 17:24:13

Hallo!

Die Fehlermeldungen:

Code: Alles auswählen

root@mimi:~# /etc/init.d/tapup 
/etc/init.d/tapup: 3: /etc/init.d/tapup: ifconfig: not found
/etc/init.d/tapup: 4: /etc/init.d/tapup: sysctl: not found
/etc/init.d/tapup: 5: /etc/init.d/tapup: iptables: not found
/etc/init.d/tapup: 6: /etc/init.d/tapup: iptables: not found
Beim Ausflug bleibt's wohl, weil die fehlende Verwaltung der Abhängigkeiten nervt und ich zu vieles selbst besorgen und kompilieren muss. Die Zeiten, als ich es interessant fand, mich hauptsächlich mit dem System selbst zu beschäftigen, sind vorbei. Ich will mich nicht mehr um das System kümmern müssen, sondern mit dessen Unterstützung produktiv sein.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

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

Re: Netzwerkverbindung für VMs

Beitrag von MSfree » 21.11.2019 17:33:27

GregorS hat geschrieben: ↑ zum Beitrag ↑
21.11.2019 17:24:13
Die Fehlermeldungen:

Code: Alles auswählen

root@mimi:~# /etc/init.d/tapup 
/etc/init.d/tapup: 3: /etc/init.d/tapup: ifconfig: not found
...
Das hat mit Abhängigkeiten gar nichts zu tun. Dein Skript findet die Programme nicht, weil es nicht in /sbin nach Programmen sucht. Das sollte aber nach 11 Jahren Linux eigentlich längst bekannt sein. Das ist selbst unter DOS 1.0 bis Win10 nicht anders.

Schreib halt /sbin/ifconfig und /sbin/iptables in dein Skript rein.

guennid

Re: Netzwerkverbindung für VMs

Beitrag von guennid » 21.11.2019 17:49:06

Zu GregorS:
Danke für die Auskunft!

Benutzeravatar
GregorS
Beiträge: 2616
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Netzwerkverbindung für VMs

Beitrag von GregorS » 21.11.2019 18:25:31

MSfree hat geschrieben: ↑ zum Beitrag ↑
21.11.2019 17:33:27
Schreib halt /sbin/ifconfig und /sbin/iptables in dein Skript rein.
Danke für den Hinweis. Dass sich /sbin nicht standardmäßig im Suchpfad befindet, ist eine der Neuerungen, an die ich mich wohl oder übel gewöhnen muss.

Jetzt fehlt mir nur noch die Info, wie ich das Weiterleiten von Netzwerkpaketen aktivieren kann.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Netzwerkverbindung für VMs

Beitrag von JTH » 21.11.2019 18:35:12

GregorS hat geschrieben: ↑ zum Beitrag ↑
21.11.2019 18:25:31
Dass sich /sbin nicht standardmäßig im Suchpfad befindet, ist eine der Neuerungen, an die ich mich wohl oder übel gewöhnen muss.
Das war allerdings auch schon „früher“ eher Glück, dass das funktioniert hat. Nen Initscript setzt üblicherweise seinen eigenen PATH und verlässt sich nicht auf die aufrufende Umgebung:

Code: Alles auswählen

$ grep -nr PATH /etc/init.d
/etc/init.d/alsa-utils:26:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[…]
/etc/init.d/x11-common:14:PATH=/usr/bin:/usr/sbin:/bin:/sbin

Wenn du ein Initscript als

Code: Alles auswählen

# /etc/init.d/foobar start
o.ä. aufrufst, kannst du dich nämlich eigentlich nie darauf verlassen, dass der aufrufende Benutzer/root gerade seine PATH-Variable richtig gesetzt hat. Sollte man zumindest nicht.
Manchmal bekannt als Just (another) Terminal Hacker.

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

Re: Netzwerkverbindung für VMs

Beitrag von MSfree » 21.11.2019 19:33:54

GregorS hat geschrieben: ↑ zum Beitrag ↑
21.11.2019 18:25:31
Jetzt fehlt mir nur noch die Info, wie ich das Weiterleiten von Netzwerkpaketen aktivieren kann.
Genauso, wie du es oben in deinem Skript mit sysctl machst. Allerdings wird das ebenfalls nicht gefunden wegen fehlendem Suchpfad. Fehlerbehebung: siehe mein Post oben.

Oder durch schreibst:

Code: Alles auswählen

PATH=/sbin:$PATH
in dein Shellscript.

Alternativ kann man die Kernelvariable ip_forward auch ganz schnöde mit

Code: Alles auswählen

echo "1" > /proc/sys/net/ipv4/ip_forward
setzen.

Antworten