
Я пытаюсь создать соединение onlink между хостом Windows и гостевой виртуальной машиной Linux в VirtualBox с помощью сетевого адаптера bridged. IP на гостевой машине 10.xxx IP на хосте 192.xxx Я делаю следующее:
- На хосте
route add 10.x.x.x mask 255.255.255.255 0.0.0.0
.
Результат: Я не могу выполнить ping 10.xxx на хосте. (неожиданно)
- На гостевой системе
sudo ip route add 192.x.x.x via 10.x.x.1 dev enp0s9 onlink
. (Шлюз установлен для интерфейса, но шлюз поддельный и не существует в сети. Мне нужно было указать шлюз, потому чтоip
он не хочет подключаться без существующего шлюза (Error: Invalid flags for nexthop - PERVASIVE and ONLINK can not be set.
это ошибка, которую я получаю, если использую 0.0.0.0)).
Результат: Я не могу выполнить ping 10.xxx на хосте. (неожиданно)
- В гостевом режиме я удаляю предыдущую запись и вместо этого делаю
sudo ip route add 192.168.2.6 via 0.0.0.0 dev enp0s9
Результат: несмотря на то ip route
, что отображается новая запись, не имеющая onlink, я могу выполнить ping 10.xxx на хосте. (неожиданно)
Если после 3 я удалю запись, созданную в 1, и попробую выполнить пинг 10.xxx, пинг не пройдет.
Зачем мне вообще нужно делать маршрут на гостевой машине? Почему я не могу пинговать с хоста с 2? Я думал, что onlink должен обходить шлюз. Почему 3 работает?
После всего этого я не могу пропинговать 192.xxx с гостевой машины (меня это устраивает, но это не имеет смысла), но программное обеспечение, которое я запускаю на гостевой машине, может установить соединение с хостом (что мне и нужно, но я не совсем понимаю, почему и как).