172 похожих чатов

Есть роутер (создаёт NAT) через который я выхожу в интернет.

Есть мой ПК с Gentoo и iptables. На своём ПК есть виртуальные машины, соединенные в виртуальную есть с мостом в Gentoo virbr0. На роутере открыт порт из интернета на Gentoo.
1. Как мне теперь пробросить порт с гипервизора в ВМ через мост virbr0?
2. Я успел натворить какую-то фигню с iptables, в которой сам разобраться не могу. Как мне вернуть стандартные правила (те, которые были после того, как libvirt уже добавил свои правила)?

25 ответов

20 просмотров
serfcity--fsanitize=undefined,address Автор вопроса

Да. Мой_внешний_ip -(роутер)-> Мой_локальный_ip -(QEMU/KVM)-> ip_виртуальной_машины_в_виртуальной_сети

Могу ошибаться, но с сетевым мостом машина ж уже как часть локальной сети? Либо это путаница в терминах VirtualBox'а

Шаг 1) NAT'ить порт на компьютере Шаг 2) NAT'ить порт на роутере

Maxim Leo
Могу ошибаться, но с сетевым мостом машина ж уже к...

там мост для всех виртуальных машин, и на него навешен dhcp-сервер+маскарад

serfcity--fsanitize=undefined,address Автор вопроса
Maxim Leo
Могу ошибаться, но с сетевым мостом машина ж уже к...

Виртуалка имеет IP вида 192.168.122.*, в качестве шлюза и DNS 192.168.122.1, маска /24 В то время как IP гипервизора в ЛС 192.168.3.*, с шлюзом и DNS 192.168.3.1 и маской /24

serfcity -fsanitize=undefined,address
Виртуалка имеет IP вида 192.168.122.*, в качестве ...

А трассировку ты пробовал до машины? Где- то падает?

serfcity--fsanitize=undefined,address Автор вопроса
Clown Zeppeli
Шаг 1) NAT'ить порт на компьютере Шаг 2) NAT'ить п...

Спасибо КЭП. Я об этом и задаю вопрос )

serfcity -fsanitize=undefined,address
Спасибо КЭП. Я об этом и задаю вопрос )

Ну так а в чём вопрос? Берёшь свой любимый файрволл и пишешь правила

Clown Zeppeli
Ну так а в чём вопрос? Берёшь свой любимый файрвол...

Пчел не может разобраться, как у него пакет идёт

serfcity--fsanitize=undefined,address Автор вопроса

Я вот так делал: http://linux.yaroslavl.ru/docs/conf/dnat.html

Maxim Leo
Могу ошибаться, но с сетевым мостом машина ж уже к...

у бокса есть мост и nat. При использовании моста виртуалка доступна из локалки. Как-то так.

serfcity--fsanitize=undefined,address Автор вопроса

Конкретно я делал то, что там написано (единственное "но", в последней команде ошибка, там -A не хватает). А что конкретно я имею? Из интернета до гипервизора можно достучаться (запустил простенький netcat сервер), а до ВМ — нет.

serfcity--fsanitize=undefined,address Автор вопроса
Radjah
у бокса есть мост и nat. При использовании моста в...

Это у VirtualBox. У меня libvirt + virt-manager на QEMU / KVM

Radjah
у бокса есть мост и nat. При использовании моста в...

Так и есть. По мосту она цепляется на роутер ЛС, и отдельно форвардить ничо не надо. А по словам человека - у него как раз нат, и в гуй вб даже есть форвардинг

serfcity -fsanitize=undefined,address
Это у VirtualBox. У меня libvirt + virt-manager на...

дык сути не меняет. Либо есть мост с локалкой, либо отдельный мост для виртуалок. Во втором случае как раз надо маскарады мутить всякие.

serfcity--fsanitize=undefined,address Автор вопроса

https://bpa.st/ZKEQ

Radjah
у бокса есть мост и nat. При использовании моста в...

я уверен что либвирт не может просто так ни с хуя настроить мост. это ж нужно на eth0 грохнуть dhcp-клиент, кинуть интерфейс в новый бридж, повесить dhcp-клиент на бридж. а либвирт сетью на компе в общем-то не рулит, это забота хотя бы того же NM

руками каждый ребут создаешь, средствами ОС? :)

Какой ещё чорный ящик? Поведение -j MASQ достаточно однозначно и от SNAT отличается только небольшым синтаксическим сахаром.

так хочется поспорить о принадлежности systemd-networkd и netplan к ОС, на фоне того что NM за часть ОС не считается

Ты просто гонишь. Недетерминированнлсти ьам примерно столько жэ (только адрес интэрфейса MASQ берёт из интэрфейса).

serfcity -fsanitize=undefined,address
https://bpa.st/ZKEQ

Во втором правиле по-моему my_ip должно быть. И ещё — добавил бы ты RELATED, ESTABLISHED -j ACCEPT от греха.

У него динамический IP, видимо, и это подставляется. (Кстати, вощможно, неправильно, да).

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта