Есть мой ПК с Gentoo и iptables. На своём ПК есть виртуальные машины, соединенные в виртуальную есть с мостом в Gentoo virbr0. На роутере открыт порт из интернета на Gentoo.
1. Как мне теперь пробросить порт с гипервизора в ВМ через мост virbr0?
2. Я успел натворить какую-то фигню с iptables, в которой сам разобраться не могу. Как мне вернуть стандартные правила (те, которые были после того, как libvirt уже добавил свои правила)?
Да. Мой_внешний_ip -(роутер)-> Мой_локальный_ip -(QEMU/KVM)-> ip_виртуальной_машины_в_виртуальной_сети
Могу ошибаться, но с сетевым мостом машина ж уже как часть локальной сети? Либо это путаница в терминах VirtualBox'а
Шаг 1) NAT'ить порт на компьютере Шаг 2) NAT'ить порт на роутере
там мост для всех виртуальных машин, и на него навешен dhcp-сервер+маскарад
Виртуалка имеет IP вида 192.168.122.*, в качестве шлюза и DNS 192.168.122.1, маска /24 В то время как IP гипервизора в ЛС 192.168.3.*, с шлюзом и DNS 192.168.3.1 и маской /24
А трассировку ты пробовал до машины? Где- то падает?
Спасибо КЭП. Я об этом и задаю вопрос )
Ну так а в чём вопрос? Берёшь свой любимый файрволл и пишешь правила
Пчел не может разобраться, как у него пакет идёт
Я вот так делал: http://linux.yaroslavl.ru/docs/conf/dnat.html
А можно по-подробнее?
у бокса есть мост и nat. При использовании моста виртуалка доступна из локалки. Как-то так.
А это вроде называется Virtual Network adapter
Конкретно я делал то, что там написано (единственное "но", в последней команде ошибка, там -A не хватает). А что конкретно я имею? Из интернета до гипервизора можно достучаться (запустил простенький netcat сервер), а до ВМ — нет.
Это у VirtualBox. У меня libvirt + virt-manager на QEMU / KVM
Так и есть. По мосту она цепляется на роутер ЛС, и отдельно форвардить ничо не надо. А по словам человека - у него как раз нат, и в гуй вб даже есть форвардинг
дык сути не меняет. Либо есть мост с локалкой, либо отдельный мост для виртуалок. Во втором случае как раз надо маскарады мутить всякие.
https://bpa.st/ZKEQ
я уверен что либвирт не может просто так ни с хуя настроить мост. это ж нужно на eth0 грохнуть dhcp-клиент, кинуть интерфейс в новый бридж, повесить dhcp-клиент на бридж. а либвирт сетью на компе в общем-то не рулит, это забота хотя бы того же NM
руками каждый ребут создаешь, средствами ОС? :)
Какой ещё чорный ящик? Поведение -j MASQ достаточно однозначно и от SNAT отличается только небольшым синтаксическим сахаром.
так хочется поспорить о принадлежности systemd-networkd и netplan к ОС, на фоне того что NM за часть ОС не считается
Ты просто гонишь. Недетерминированнлсти ьам примерно столько жэ (только адрес интэрфейса MASQ берёт из интэрфейса).
Во втором правиле по-моему my_ip должно быть. И ещё — добавил бы ты RELATED, ESTABLISHED -j ACCEPT от греха.
У него динамический IP, видимо, и это подставляется. (Кстати, вощможно, неправильно, да).
Обсуждают сегодня