Лучший способ настроить Ubuntu 20.04 Dekstop Host и Ubuntu 20.04 Server Guest для доступа в Интернет, SSH и связи между хостом и гостем

ОБНОВЛЕНИЕ
В любом случае, если кто-нибудь наткнется на этот пост. Приведенное ниже решение действительно работает, голосование по этому вопросу без какой-либо обратной связи / конструктивной критики или выявления ошибок кажется неоправданным.

Цель

Мне нужен лучший способ настроить гостевой сервер ubuntu vbox6.1, чтобы иметь доступ в Интернет и включить хост рабочего стола ubuntu 20.04 для ssh в поле.

Прогресс / Исследования
Хотя использование двух комбинаций сетевых адаптеров с серверами VirtualBox для установления связи хост-гость и доступа в Интернет для VirtualBox является очень распространенным решением, эти распространенные методы имеют определенные оговорки.

комбинированный метод мостового адаптера и адаптера NAT — безусловно, самый простой и быстрый метод, но с оговоркой, что если вы используете killswitch с вашим брандмауэром / VPN UFW, то очень часто вам приходится настраивать параметры брандмауэра в зависимости от того, какой сеть Wi-Fi, к которой вы подключены, потому что адреса шлюза меняются (общая проблема для тех, кто использует статические IP-адреса на vbox). Если вы очень хорошо разбираетесь в правилах брандмауэра, то этот метод для вас.

Комбинированный метод адаптера NAT и адаптера только для хоста. Адаптер nat обеспечивает легкий доступ в Интернет внутри коробки, а адаптер только для хоста обеспечивает гостевую связь с хостом для таких приложений, как apache. Предупреждение здесь заключается в том, что некоторые приложения настраиваются на основе IP-адреса основного адаптера при установке ( это моя текущая проблема ), и поскольку IP-адрес NAT не может связаться с хостом, это создает проблему.

Решение, над которым я работаю и которое, возможно, немного сложно настроить изначально, заключается в настройке адаптера только для хоста для доступа в Интернет через основной сетевой адаптер хоста.

ЗНАЧЕНИЕ
ОДИН адаптер vboxnet0 только для хоста для обеспечения ssh, связи хост-гость и внешнего доступа в Интернет для любого количества vbox, которое вы хотите, со статическим или динамическим ips ... больше никаких головных болей с подключением vbox .

Вот плюсы и минусы, а также мой прогресс.

Шаг 1
Создайте хост-адаптер для вашей машины (vboxnet0) У моего есть IP-адрес 192.168.51.1

PRO:
у вас есть возможность включить DHCP-сервер, если вы планируете иметь несколько vbox на одном адаптере только для хоста

Шаг 2:
Создайте статическая конфигурация ip для вашего vbox (мой сервер Ubuntu 20.04). При желании вы можете пропустить этот шаг и просто использовать динамический IP-адрес

Я использую

network:
  version: 2
  renderer: networkd
  ethernets:
        enp0s3:
            addresses: ['192.168.51.47/24']
            gateway4: 192.168.51.1
            nameservers:
                addresses: [127.0.0.1, 192.168.51.1, 8.8.8.8]

Pro
Со статическим IP-адресом на вашем компьютере вы можете подключиться по SSH без использования второго адаптера NAT.

Третий шаг

Создайте простое минимальное правило брандмауэра UFW длягостевая связь

Это все, что требуется для настройки адаптера только для хоста для работы с UFW:

ufw allow allow in|out на vboxnet0

Pro

  • Используя этот метод, вы можете мгновенно создать хост -гостевая связь для нескольких виртуальных ящиков с использованием одного правила брандмауэра, пока каждый ящик находится в vboxnet0 (отлично, если вы планируете создать много виртуальных ящиков, которым требуется связь между хостом и гостем)

Шаг четвертый
Создайте постоянныйдоступ в Интернет для vboxnet0 путем совместного использования основного сетевого адаптера хост-компьютера с помощью MASQUERADE

Это моя текущая ПРОБЛЕМА. Я могу создать временный доступ в Интернет только для vboxnet0, потому что я недостаточно знаком с ip-таблицами и MASQUERADE.

В качестве временного решения я использую эти 4 команды внутри скрипта bash:

sudo iptables -A FORWARD -o wg0 -i vboxnet0 -s 192.168.51.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED, RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE

] Где wg0 — основной сетевой адаптер моей хост-машины.

На этом этапе вы сможете пропинговать 8.8.8.8 изнутри vbox, чтобы убедиться, что у него есть доступ в Интернет.

Я получил приведенные выше команды из:
https://help.ubuntu.com/community/Internet/ConnectionSharing

Может ли кто-нибудь закончить/доработать метод адаптера только для хоста для создания доступа в Интернет для одного или нескольких vbox?

Похоже, это может помочь многим пользователям Ubuntu. С помощью этого метода ваши виртуальные ящики становятся «переносимыми по сети» и имеют доступ к Интернету с минимальными усилиями после первоначальной настройки.

Единственными минусамиздесь являются: Сложная первоначальная настройка и виртуальные ящики недоступны для других компьютеров в вашей локальной сети, что незначительно, если вы просто занимаетесь локальной веб-разработкой.

-4
задан 20 January 2022 в 12:56

0 ответов

Другие вопросы по тегам:

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