Один хост, дві віртуальні машини, які не можуть пінг один одного. Як вирішити


10

У нас віртуальні машини працюють в KVMсередовищі. Один ми налаштовуємо як сервер розробників, який працює Apacheтощо, а інший - як Windowsсередовище розробки.

Дві середовища налаштовані та працюють нормально. Однак вони не можуть пінгувати один одного. Мені цікаво, чи є чітке рішення цього.

Це те, що відбувається.

Від господаря:

  Cannot ping either of 2 VM's (one `Linux`, one `Windows`)

Від будь-якого з віртуальних машин:

  Cannot ping host
  Cannot ping each other

Від інших мережевих машин (наприклад, мого ноутбука з мережі моєї компанії)

  Successfully ping host at 192.168.0.64
  Successfully ping VM1 (Linux) 192.168.0.43
  Successfully ping VM2 (Windows) 192.168.0.84

4
Чи маєте ви більше інформації про конфігурацію мережі ваших віртуальних машин? Ви цілком впевнені, що коли інші ваші мережеві машини пингують ваші відеомагнітофони, вони не пингують якусь іншу випадкову машину в мережі? (наприклад, чи можете ви реально потрапити на сервер apache за допомогою браузера?).
GregHNZ

Я думаю, що це може бути твій міст. Iptables ядра заблокують вашу машину спілкуватися з самим собою, якщо ви не: echo "1"> / proc / sys / net / ipv4 / ip_forward; Можливо, все одно.
mikeserv

Яку команду ви використовуєте для завантаження VM?
приєднатися

Чи є у вас інші машини в тій самій мережі (яка не проживає в одному хості)? Чи здатні ці машини пінг цих машин?
Sree

1
Чи використовуєте ви macvtap ( wiki.libvirt.org/page/… ) інтерфейс для гостя?
nkms

Відповіді:


1

Досить очевидно, що машини спілкуються в режимі мосту, оскільки ви можете пінг-хост, і обидва віз-машини з-поза середовища KVM.

Ваша проблема полягає в захисті від спуфінгу в ядрі, який скидає пакети з призначенням, відмінним від IP-адреси хоста.

Під час виконання виконайте це в командному рядку хост-сервера:

 sudo sysctl -w net.ipv4.conf.default.rp_filter=0
 sudo sysctl -w net.ipv4.conf.all.rp_filter=0

Щоб пережити завантаження, додайте наступні рядки до /etc/sysctl.conf:

 net.ipv4.conf.default.rp_filter=0
 net.ipv4.conf.all.rp_filter=0

З коментарів до /etc/sysctl.conf(трохи змінених):

rp_filter: вмикає захист від підробки (фільтр із зворотним контуром).

Перевірка адреси джерела у всіх інтерфейсах, щоб запобігти деяким атакам підробляння


Я знаю, питання старе ...
Rui F Ribeiro

0

Як правило, тип з'єднання повинен бути NAT, наскільки я знаю. Таким чином, в налаштуваннях, натиснувши правою кнопкою миші на конкретний VM, ви можете змінити тип мережі.

PS: приховати комп'ютер від ping в локальній мережі, я думаю, що це неможливо. Але це варто подивитися.


Можна приховати комп’ютери від пінгерів ICMP. Ви або відключите функціональність у ядрі, або створите правила брандмауера, щоб заблокувати його. У мене господарі Xen і bhyve в мостовому режимі, і вони працюють добре.
Rui F Ribeiro
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.