Перенаправлення портів до VM за допомогою firewalld


1

Я шукав і не міг знайти нічого про те, як вирішити цю проблему. Я намагаюся налаштувати перенаправлення портів до VM (qemu) на сервері CentOS 7.

  • Прив'язавшись до перенесення на вхідні дані 8050 до 192.168.100.50:8080.
  • Пробували конфігурацію firewall і кілька днів шукали в Інтернеті.

Я не можу знайти когось, хто зміг вирішити його, не просто повернувшись до iptables.

Хост-ОС:

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

Який гіпервізор ви використовуєте? Qemu / KVM, Virtualbox тощо. Звучить, як ви використовуєте маршрутизований / nated проти налаштування мережного адаптера.
David

qemu (за допомогою virt-manager, так що не існує швидкого способу перемикання з nat на мостовий), але не змінюється на мостовий, значить мені потрібен інший зовнішній IP?
xzero121

Будь ласка, напишіть ifconfig (або ip address show ) як для вашого гостя, так і для вашого хоста vm.
David

Я додав їх до початкового повідомлення
xzero121

@ xzero121 Ви пишете "не змінюється на мостовий означає я потребую іншого зовнішнього IP?" & lt; - Мені незрозуміло, що ви маєте на увазі під "зовнішнім ip", але, можливо, якщо це мост, він отримує IP-адресу від маршрутизатора, як якщо б він був іншим комп'ютером у вашій мережі, то якщо ваша мережа 192.168.xy то VM буде теж. Так що це все ще за NAT реального маршрутизатора, це все ще / приватний діапазон IP, але гіпервізор не робить свій власний NAT.
barlop

Відповіді:


1

Я думаю, що відповідь на Serverfault відповість на ваше запитання:

У вашому випадку:

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


Я сподівався зрозуміти, як це зробити з firewalld, але, схоже, це може бути єдиний варіант.
xzero121

Перенаправлення в / bin / systemctl статус iptables.service iptables.service Завантажено: маскується (/ dev / null) Активний: неактивний (мертвий) 05 трав.
xzero121
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.