Portweiterleitung an VM über Firewalld

1720
xzero121

Ich habe gesucht und konnte nichts finden, wie ich dieses Problem lösen kann. Ich versuche, die Portweiterleitung an eine VM (Qemu) auf einem CentOS 7-Server einzurichten.

  • Verbindung, um etwas weiterzuleiten, das auf 8050 an 192.168.100.50:8080 eingeht.
  • Versuchte Firewall-Config und suchte mehrere Tage lang im ganzen Web.

Ich kann niemanden finden, der das Problem lösen konnte, ohne nur auf iptables zurückzugreifen.

Host-Betriebssystem:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether f0:4d:a2:09:c9:87 brd ff:ff:ff:ff:ff:ff inet XXX.XXX.49.99/29 brd XXX.XXX.49.103 scope global em1 valid_lft forever preferred_lft forever inet6 :::f24d:a2ff:fe09:c987/64 scope link valid_lft forever preferred_lft forever 6: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN link/ether 52:54:00:b8:57:fb brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 7: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500 link/ether 52:54:00:b8:57:fb brd ff:ff:ff:ff:ff:ff 21: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 52:54:00:35:6f:b2 brd ff:ff:ff:ff:ff:ff inet 192.168.100.1/24 brd 192.168.100.255 scope global virbr1 valid_lft forever preferred_lft forever 22: virbr1-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr1 state DOWN qlen 500 link/ether 52:54:00:35:6f:b2 brd ff:ff:ff:ff:ff:ff 34: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr1 state UNKNOWN qlen 500 link/ether fe:54:00:32:25:24 brd ff:ff:ff:ff:ff:ff inet6 fe80::fc54:ff:fe32:2524/64 scope link valid_lft forever preferred_lft forever 35: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr1 state UNKNOWN qlen 500 link/ether fe:54:00:6c:bf:44 brd ff:ff:ff:ff:ff:ff inet6 fe80::fc54:ff:fe6c:bf44/64 scope link valid_lft forever preferred_lft forever 

VM:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:6c:bf:44 brd ff:ff:ff:ff:ff:ff inet 192.168.100.50/24 brd 192.168.100.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe6c:bf44/64 scope link valid_lft forever preferred_lft forever 
1
Welchen Hypervisor verwenden Sie? Qemu / KVM, Virtualbox usw. Hört sich so an, als würden Sie ein geroutetes / vernetztes gegenüber einem überbrückten Netzwerkadapter verwenden. David vor 8 Jahren 0
qemu (mit virt-manager, so dass es keine schnelle Möglichkeit gibt, von nat zu überbrückt zu wechseln), aber nicht zu gebrückt bedeutet, dass ich eine andere externe IP-Adresse benötige? xzero121 vor 8 Jahren 0
Bitte posten Sie Ihre "ifconfig" (oder "ip address show") für Ihren Gast und Ihren VM-Host. David vor 8 Jahren 0
Ich habe diese dem ursprünglichen Beitrag hinzugefügt xzero121 vor 8 Jahren 0
@ xzero121 Sie schreiben: "Wird nicht in Bridged geändert, bedeutet das, dass ich eine andere externe IP-Adresse benötige?" <- Mir ist nicht klar, was Sie mit "externer IP" meinen, aber wenn es überbrückt ist, erhält die VM vom Router eine IP, als wäre dies ein anderer Computer in Ihrem Netzwerk. Wenn Ihr Netzwerk also 192.168.xy ist, dann ist dies die VM wird es auch sein. Es ist also immer noch hinter dem NAT Ihres realen Routers, es ist immer noch ein privater IP-Bereich, aber der Hypervisor führt kein eigenes NAT aus. barlop vor 8 Jahren 0
Das Host-Betriebssystem verfügt über eine externe IP-Adresse, es besteht eine Internetverbindung, kein NAT. es behandelt NAT für die VM. xzero121 vor 8 Jahren 0

1 Antwort auf die Frage

1
David

Ich denke, diese Antwort auf Serverfault wird Ihre Frage beantworten:

In Ihrem Fall:

iptables -t nat -I PREROUTING -p tcp -d XXX.XXX.49.99 --dport 8050 -j DNAT --to-destination 192.168.100.50:8080

iptables -I FORWARD -m state -d 192.168.100.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT

Ich hatte gehofft, herauszufinden, wie man dies mit firewalld macht, aber es sieht so aus, als wäre dies die einzige Option. xzero121 vor 8 Jahren 0
Umleitung auf / bin / systemctl status iptables.service iptables.service Geladen: maskiert (/ dev / null) Aktiv: inaktiv (tot) May 05 16:33:33 virtHost systemd [1]: IPv4-Firewall mit iptables gestoppt. xzero121 vor 8 Jahren 0