Routing will nicht

legolas

Renowned Member
Dec 16, 2010
41
2
73
Servus,

ich habe meinem Server eine zweite IP gegönnt. Die zweite IP soll ein Mailserver werden. Laut dem was mir das Interface des Providers sagt sollte ich dies in die /etc/network/interfaces eintragen:
Code:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 152.54.82.136/22
        gateway 152.54.82.1

auto eth1
iface eth1 inet static
        address 152.54.172.70/32

auto vmbr0
iface vmbr0 inet static
        address 10.10.10.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address 10.10.20.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
    
# Regeln für eth0

post-up   iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eth0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eth0 -j MASQUERADE
post-up   iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80  -j DNAT --to-destination 10.10.10.100:80
post-down iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 80  -j DNAT --to-destination 10.10.10.100:80
post-up   iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 10.10.10.100:443
post-down iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 10.10.10.100:443
post-up   iptables -A FORWARD -p tcp -d 10.10.10.100 --dport 80 -j ACCEPT
post-down iptables -D FORWARD -p tcp -d 10.10.10.100 --dport 80 -j ACCEPT
post-up   iptables -A FORWARD -p tcp -d 10.10.10.100 --dport 443 -j ACCEPT
post-down iptables -D FORWARD -p tcp -d 10.10.10.100 --dport 443 -j ACCEPT
post-up   iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1
        
# Alles was auf eth1 reinkommt → VM 10.10.20.200

post-up iptables -t nat -A PREROUTING -i eth1 -j DNAT --to-destination 10.10.20.200
post-down iptables -t nat -D PREROUTING -i eth1 -j DNAT --to-destination 10.10.20.200

# Rückweg

post-up iptables -t nat -A POSTROUTING -s 10.10.20.200 -o eth1 -j SNAT --to-source 152.54.172.70
post-down iptables -t nat -D POSTROUTING -s 10.10.20.200 -o eth1 -j SNAT --to-source 152.54.172.70

# Forwarding hin und zurück

post-up iptables -A FORWARD -i eth1 -d 10.10.20.200 -j ACCEPT
post-up iptables -A FORWARD -s 10.10.20.200 -o eth1 -j ACCEPT

post-down iptables -D FORWARD -i eth1 -d 10.10.20.200 -j ACCEPT
post-down iptables -D FORWARD -s 10.10.20.200 -o eth1 -j ACCEPT

# Proxmox Connection Tracking Fix

post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1

Alles mit eth0 und vmbr0 zu tun hat funktioniert. eth1 und vmbr1 leider nicht, sieht hier jemand meinen Fehler?

Danke
SW
 
Der Server ist ein s. g. Root Server bei Netcup, also in Wirklichkeit ein virtualisierter "Rootserver". Von eth0 auf eth1 kann ich pingen aber von extern kann ich eth1 nicht erreichen. Laut dem Admin Interface von Netcup ist die zusätzliche IP (eth1) dem Server richtig zugewiesen
 
Last edited:
hmm, sieht das ein
Code:
ip a
auch so?
hast du ev. firewall aktiviert und die kann nix mit der IP oder dem interface anfangen?
 
Stimmt, kaum stoppt man die Firewall kann man die 2. IP anpingen. Danke, da muss ich die FW noch richtig einstellen. Was aber immer noch nicht geht ist das die VM 10.10.20.200 rauskommt
 
Stimmt, kaum stoppt man die Firewall kann man die 2. IP anpingen. Danke, da muss ich die FW noch richtig einstellen. Was aber immer noch nicht geht ist das die VM 10.10.20.200 rauskommt
Wie sollte sie auch das ist eine Punkt zu. Verbindung schau dir mal bitte die Netzwerkmaske an, da gibt es auch kein Gateway oder kein Routing müsste man genauer sagen und da stimmt was von den Angaben des Providers nicht. Im Allgemeinen kann man sagen du solltest SNAT hat und DNAT verwenden. Was der Unterschied ist schaust, du bitte im Handbuch nach.
 
Last edited:
Da fällt mir gerade noch ein passendes Bild dazu ein. Eth0 in deinem Fall hat eine Straßenanbindung in die Welt, also die Insel an sich hat ein Abgang in die Welt. Eth1 hingegend ist nur die Insel alleine, mit einer Hausnummer könnte man sagen, und da kommt man nicht hin und da kommt man nicht weg und das führt natürlich zu dem Verhalten, was du als Fehler betrachtest.
 
In dem Interface vom Provider steht:
Code:
eth0 IP 1: 152.54.82.136/22    Gateway: 152.54.82.1
eth1 IP 2: 152.54.172.70/32    Gateway: 152.54.82.136
Wenn ich in der Interfaces bei dem eth1 das Gateway eintrage dann meckert Proxmox das das Gateway schon existiert
 
verwende leider selten iptables NAT, aber die hier, so wie auch @news scheibt, wird vmtl. nicht klappen, weil deine packerl richtung internet nicht übers eth1 rausgehen
Code:
iptables -t nat -A POSTROUTING -s 10.10.20.200 -o eth1 -j SNAT --to-source 152.54.172.70

kannst ja mal ohne interface versuchen, oder via eth0
 
So jetzt hab ich das mal so eingetragen:
Code:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 152.53.84.136/22
        gateway 152.53.84.1

auto eth1
iface eth1 inet static
        address 152.53.173.70/32
        gateway 152.53.84.136

auto vmbr0
iface vmbr0 inet static
        address 10.10.10.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address 10.10.20.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        
# Regeln für eth0
post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
post-up   iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eth0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eth0 -j MASQUERADE
post-up   iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80  -j DNAT --to-destination 10.10.10.100:80
post-down iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 80  -j DNAT --to-destination 10.10.10.100:80
post-up   iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 10.10.10.100:443
post-down iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 10.10.10.100:443
post-up   iptables -A FORWARD -p tcp -d 10.10.10.100 --dport 80 -j ACCEPT
post-down iptables -D FORWARD -p tcp -d 10.10.10.100 --dport 80 -j ACCEPT
post-up   iptables -A FORWARD -p tcp -d 10.10.10.100 --dport 443 -j ACCEPT
post-down iptables -D FORWARD -p tcp -d 10.10.10.100 --dport 443 -j ACCEPT
post-up   iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1

# VMBR1

post-up   iptables -t nat -A POSTROUTING -s 10.10.20.0/24 -o eth1 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s 10.10.20.0/24 -o eth1 -j MASQUERADE

post-up   iptables -A FORWARD -i vmbr1 -o eth1 -j ACCEPT
post-up   iptables -A FORWARD -i eth1 -o vmbr1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

post-down iptables -D FORWARD -i vmbr1 -o eth1 -j ACCEPT
post-down iptables -D FORWARD -i eth1 -o vmbr1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Die offizielle IP ist von extern anpingbar. Ich habe einen CT erstellt 10.10.20.200/24 GW 10.10.20.1, DNS 9.9.9.9

Ziel ist erst mal das man von dem CT aus rauskommt und antworten erhält. Geht aber nicht
 
Wie machst Du das dann?
hab unter anderem eine virtuelle pfsense laufen...

und bei dem hier, wenn ales nix hilft, würd ich wahrscheinlich irgendwann mit tcpdump anfangen zu schauen,welche packerl auf welchem inteface mit welchen IPs daherkommen ;-)
 
@legolas
mache dir bitte klar, das Du auch einen virtualisiern "Rechner" nutzt.

Dein Provider im virtualisiertem Backend-Netzwerk etwas eingerichtet hast, dass Du nun auf deiner Proxmox VE Seite auch abbilden must, so das alles zusammen funktionierten kann.

Ich gehe nicht davon aus, dass es wirklich eine virtualisierte eth1 gibt.

Präsentierte "Fakten" #1:
Code:
auto eth0
iface eth0 inet static
        address 152.54.82.136/22
        gateway 152.54.82.1

auto eth1
iface eth1 inet static
        address 152.54.172.70/32

Eine weitere Nachricht #8:
Code:
eth0 IP 1: 152.54.82.136/22    Gateway: 152.54.82.1
eth1 IP 2: 152.54.172.70/32    Gateway: 152.54.82.136

So sieht es aus eth1 exisert nicht virtualisiert.
Die 2te IPv4 152.54.172.70/32 muss über die IPv4 152.54.82.136/32 gerouted werden.
Und ist somit Teil des Datentransfers IPv4 I/O von eth0, das auch auf Provider Seite vors. virtualisiert ist.
Du bist ja im Forum parallel aktiv und dort kann man Dir nicht helfen?/!

Wie ich immer Schreibe Hilfe zur Selbsthilfe.

Deinen Provider direkt fragen.

Tipp: dein IPv4 Routing von der IPv4 152.54.172.70/32 muss über die IPv4 152.54.82.136/32 laufen, das ist hier dein Defaultgateway!

Fragen wie diese tauchen auch immer wieder im Zusamenhang mit dem Anbieter Hetzner auf, hier finden sich auch eine Quelle von Misswissen, aber die Fakten definiert dann dein zuständiger Provider.
Das alles zu verstehen und umzusetzen liegt bei Dir.

Wir Helfenden sind alle nur Zaungäste, die nur einen seher kleinen Teil der Fakten immer wieder nur in Teilen zu sehen erhalten.
 
Last edited: