Hinweis: Dieser Artikel bezieht sich ausschließlich auf dedizierte Server mit einem Proxmox-Host-System.
VM und CT werden im nachfolgenden vServer genannt.
Inhaltsverzeichnis
Erklärung
Es gibt zwei Arten, Internetzugriff auf einer VM oder einem CT einzurichten. Hier ist die Einrichtung einer zusätzlichen IP die einfachste und empfehlenswerteste Methode.
- zusätzliche IP
- NAT
1. zusätzliche IP
Um eine zusätzliche IP auf dem vServer einrichten zu können, gehen Sie wie folgt vor:
1.1. zusätzliche IP bestellen
1.2. IP auf Virtualisierung umstellen
1.3. Einrichtung der IP auf dem vServer
1.1. zusätzliche IP bestellen
Sie können eine zusätzliche IP-Adresse über das zentrale Kundenmanagement (ZKM) bestellen. Hierzu navigieren Sie zu "Dedicated Root-Server".
Wählen Sie nun den entsprechenden Serververtrag aus. Sie können nun über den Button "IP-Adresse hinzufügen" zusätzliche IP-Adressen bestellen.
Über den Schieberegler können Sie die Anzahl der benötigten IP-Adressen einstellen. Ihnen wird vor Bestellung der IP-Adressen der Preis angezeigt. Über den Button "IP-Adresse bestellen" werden die zusätzlichen IP-Adressen kostenpflichtig bestellt.
Hinweis: Sollten Sie mehr zusätzliche IP-Adressen benötigen, als Sie auswählen können, wenden Sie sich bitte an den Support.
1.2. IP auf Virtualisierung umstellen
Um die zusätzliche IP auf dem vServer einrichten zu können, muss diese im ZKM auf "Virtualisierung" umgestellt werden. Hierzu navigieren Sie in den Serververtrag und wählen dort die Konfiguration der IP-Adressen über den Button "Konfiguration" aus.
Stellen Sie nun für die zusätzliche IP-Adresse die Konfiguration von "Host-Route" auf "Virtualisierung" ein und speichern die Einstellung über den Button "Änderungen übernehmen".
Hinweis: Sollte die Konfiguration bereits auf Virtualisierung eingestellt sein, ändern Sie dies auf "Host-Route", speichern die Einstellung und ändern die Konfiguration wieder auf Virtualisierung.
1.3. Einrichtung der IP auf dem vServer
Debian / Ubuntu < 20.04
Wichtig:
Bitte geben Sie hier das richtige Netzwerkinterface an. Im Beispiel verwenden wir hier das Netzwerkinterface "eth0". Das Netzwerkinterface Ihres Servers kann anders benannt sein.
Die nachfolgenden Einstellungen werden direkt in dem vServer vorgenommen. Nutzen Sie hierzu die Konsole über Proxmox, um sich mit dem vServer zu verbinden.
Das aktuell verwendete default Netzwerkinterface können Sie mittels folgenden Befehl auslesen:
ip r s | grep default
default via 192.168.178.1 dev eth0 proto static metric 100
eth0 -> Netzwerkinterface, dies kann bei Ihrem Server variieren. Verwenden Sie im nachfolgenden Ihr Netzwerkinterface.
Öffnen Sie nun die Netzwerkkonfigurations-Datei. In der Regel wird diese unter "/etc/network/interfaces" gespeichert. Die Netzwerkkonfiguration muss wie folgt aussehen:
auto eth0
iface eth0 inet static
address <zusätzliche IP-Adresse>
netmask 255.255.255.255
gateway <Gateway des Hostsystems>
pointopoint <Gateway des Hostsystems>
Nachdem die Einstellungen vorgenommen wurden, wird der Netzwerkdienst neugestartet.
service networking restart
CentOS
Wichtig:
Bitte geben Sie hier das richtige Netzwerkinterface an. Im Beispiel verwenden wir hier das Netzwerkinterface "eth0". Das Netzwerkinterface Ihres Servers kann anders benannt sein.
Die nachfolgenden Einstellungen werden direkt in dem vServer vorgenommen. Nutzen Sie hierzu die Konsole über Proxmox, um sich mit dem vServer zu verbinden.
Das aktuell verwendete default Netzwerkinterface können Sie mittels folgenden Befehl auslesen:
ip r s | grep default
default via 192.168.178.1 dev eth0 proto static metric 100
eth0 -> Netzwerkinterface, dies kann bei Ihrem Server variieren. Verwenden Sie im nachfolgenden Ihr Netzwerkinterface.
Rufen Sie nun die Datei "/etc/sysconfig/network-scripts/ifcfg-<Netzwerkinterface>:0 auf.
Beispiel: /etc/sysconfig/network-scripts/ifcfg-eth0:0
Die Netzwerkkonfiguration muss wie folgt aussehen:
TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=static
NAME=eth0
ONBOOT=yes
IPADDR=<zustätzliche IP-Adresse>
GATEWAY=<Gateway des Hostsystems>
Nun wird der Netzwerkdienst neugestartet:
/etc/init.d/network/restart
Windows
Sie können die Netzwerkeinstellungen in Windows über die grafische Oberfläche vornehmen. Hierzu navigieren Sie zu: Eigenschaften der Netzwerkkarte -> Internetprotokoll, Version 4 (TCP/IPv4) -> Eigenschaften
Hier können Sie nun die IP-Einstellungen grafisch vornehmen.
Alternativ kann dies auch über die CMD (Windows Taste +r, in die Suche "cmd" eingeben) durchgeführt werden.
In der CMD führen Sie den folgenden Befehl aus, um die Netzwerkeinstellungen zu setzen.
netsh interface ipv4 set address name="Ethernet" static <zusätzliche IP-Adresse> 255.255.255.255 <Gateway des Hostsystems>
Um die DNS-Server einzustellen, können die folgenden Befehle verwendet werden:
netsh interface ip set dns "LAN-Verbindung" static 62.141.32.5
netsh interface ip set dns "LAN-Verbindung" static 62.141.32.4
Hinweis: Die Befehle und Konfigurationen auf den Betriebssystemen wurde unter Debian 8, CentOS 7, sowie Windows 2012 R2 Standart getestet.
2. NAT
2.1 interne Bridge erstellen
Um NAT zu verwenden, muss zusätzlich der zuvor erstellten Bridge, eine weitere interne Bridge angelget werden. Hierzu wird die Datei "/etc/network/interfaces" entsprechend angepasst. (Auf dem Proxmox-Host)
Beispiel: /etc/network/interfaces
auto vmbr1
iface vmbr1 inet static
address <private IP-Adresse>
netmask <Netzmaske des IP-Netzes>
bridge-ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
Diese Bridge wird von den vServern verwendet, um eine Verbindung zum Hostsystem zu erhalten.
Wenn Sie nun einen vServer anlegen, muss die Bridge (vmbr1) angegeben werden.
Zu guter letzt werden die benötigten Portfreigaben für den vServer auf dem Hostsystem konfiguriert.
Beispiel: Der vServer soll per SSH erreicht werden. Hier läuft der SSH Dienst auf dem vServer über den Standardport 22. Wir ändern nun die Weiterleitung über den Port 1024.
Dazu wird die Datei "/etc/network/interfaces" des Hostsystems (Proxmox-Host) bearbeitet und folgende Zeilen am Ende eingefügt:
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 1024 -j DNAT --to <private IP-Adresse des vServers>:22
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 1024 -j DNAT --to <private IP-Adresse des vServers>:22
Hinweis: In dieser Datei müssen alle Ports eingetragen werden, die weitergeleitet werden sollen.
Erklärung der beiden obenstehenden Befehle:
-i vmbr0 = Das Interface mit der Haupt-IP, worüber der vServer erreichbar sein soll.
-p tcp = Das Protokoll, welches verwendet werden soll.
--dport 1024 = Der Port welcher vom Hostsystem "empfangen" wird.
--<private IP-Adresse des vServers>:22 = Zu welcher internen IP dies weitergeleitet werden soll. Nach dem ":", kommt der Port, auf welchem der Dienst erreichbar ist.
Als Beispiel sollte die interne Bridge auf dem Hostsystem nun wie folgt aussehen:
auto vmbr1
iface vmbr1 inet static
address <private IP-Adresse>
netmask <Netzmaske des IP-Netzes>
bridge-ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 1024 -j DNAT --to <private IP-Adresse des vServers>:22
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 1024 -j DNAT --to <private IP-Adresse des vServers>:22
Im Anschluss wird der Netzwerkdienst neugestartet.
Ergebnis
Als Ergebnis sollte man nun das Hostsystem über SSH über <Haupt-IP>:22 erreichen können und den vServer unter <Haupt-IP>:1024.