Я использую хост Debian с интерфейсами eth0 и wlan0 (я называю эти хосты:eth0 и host:wlan0 для ясности), оба настроены на DHCP как нормальный, и все работает отлично. То, что я пытаюсь здесь определить, - это лучший способ интеграции дополнительной виртуальной машины в качестве более приоритетного маршрута во внешний мир - я объясню, что я имею в виду.
То, что я хочу сделать, - это выбрать запустить мое гостевое устройство virtualbox, и когда оно будет активным, оно станет моим интернет-маршрутизатором с хоста на виртуальную машину, через внутреннюю маршрутизацию на виртуальной машине и из виртуальной машины на NAT-маршрут в Интернет.
Когда виртуальный гость не запущен, этот маршрут к виртуальному гостевому устройству отсутствует, поэтому маршрутизируйте трафик на обычное устройство / интерфейс ...
Немного углубляясь, у меня на гостевой виртуальной машине virtualbox работает 2 виртуальные сетевые карты eth0 и eth1 (я называю эти guest:eth0 и guest:eth1).
Первый из них, guest:eth0, настроен на использование сетевого интерфейса «NAT» виртуальной коробки - что фактически означает, что он получит маршрут от моего активного хоста:eth0 или host:wlan0 - в зависимости от того, что активно. Это работает очень хорошо - я могу подключиться к Интернету через гостя:eth0 через стиль NAT виртуальной сети.
Второй гостевой интерфейс, guest:eth1, определен как статический (не маршрутизируемый) адрес 10.152.152.10/18 с намерением, чтобы это позволило хосту установить маршрутизацию к известной конечной точке (то есть маршруту в виртуальное гостевое устройство, которое затем внутренне маршрутизирует из гостя:eth0 к Интернету).
Что касается гостя:eth1, я решил использовать опцию VirtualBox Host-Only-Networking, которая при настройке с адресом 10.152.152.11/18 добавляет новый интерфейс host:vboxnet0 к моему хосту и таким образом делает маршрут к моему доступен виртуальный гость (с учетом интерфейса host:vboxnet0 и интерфейса guest:eth1 находятся в одной теме 10.152.152.x/18.
Задержка дыхания, хотя я не уверен в правильной конфигурации маршрутизации или стиле конфигурации, я счастлив, что через различные перестановки маршрутизации:
- Мой хост может получить доступ к Интернету через DHCP на хосте eth0 и хосте wlan0
- Мой гость может получить доступ к гостю в интернете:eth1 через виртуальную коробку NAT
- Мой хост может подключиться к моему гостю через хост:vboxnet0
Итак, проблема.
Когда мой host:vboxnet0interface «жив» в результате того, что я запускаю свою виртуальную машину, я получаю 2 шлюза по умолчанию. Изучая это, я знаю, что мне могут понадобиться 2 iptables - и прописать 2 шлюза по умолчанию в разных таблицах маршрутизации с разными метриками .... но я пока не нашел единого стиля конфигурации маршрутизации, который помог бы мне предварительно Определите статические правила, которые обслуживают оба стиля маршрутизации:
- Когда виртуальный гость не запущен (и интерфейс vboxnet0 недоступен), то наступают счастливые дни, обычная работа на DHCP-хосте:eth0 и хосте:wlan1
- Когда моя виртуальная машина работает, а vboxnet0 активен, это единственный путь от моего хоста к Интернету.
Я доказал все ссылки - но просто нужно руководство по лучшему шаблону маршрутизации, чтобы теперь сосредоточиться, если это имеет смысл. Я надеялся, что перед тем, как вывести дампы iptables/ifconfig/ip, можно будет получить руководство от ниндзя по маршрутизации в Linux по шаблону, о котором мне нужно подумать?
Я потратил несколько недель, исследуя / экспериментируя с этим, и я думаю, что я добился хороших результатов, но мне нужно немного опыта здесь, так как у меня заканчиваются соответствующие советы в Интернете и немного кружусь?
Спасибо заранее.