Вопрос или проблема
Настройка на данный момент включает в себя один ноутбук с Windows 10 Home, имеющий доступ к интернету через Wi-Fi от роутера, к которому у меня нет административного доступа (следовательно, без возможности настройки DHCP). Windows машина подключена к коммутатору, который соединен с кластером Ubuntu Hadoop с постоянными статическими IP, которые я не могу изменить. Моя цель — соединить интернет с кластером Ubuntu, чтобы я мог делать apt-get. Текущая проблема связана с маршрутизацией. Интернет идет с 192.168.43.114 на подсети 255.255.255.255, в то время как Hadoop кластер находится на 192.168.2.x с подсетью 255.255.255.0. Я пробовал route add DESTINATION MASK SUBNET GATEWAY
, но безрезультатно. Способна ли Windows сделать это или у меня фундаментально неверное представление?
Windows может подключаться к обеим сетям одновременно через ICSharing, редактируя regedit HKLM\System\CurrentControlSet\services\SharedAccess\Parameters и изменяя его на 19.168.2.200. Однако, кластера без доступа в интернет.
IPv4 Маршрутная таблица
===========================================================================
Активные маршруты:
Назначение сети Маска сети Шлюз Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.2.255 192.168.2.244 281
0.0.0.0 0.0.0.0 192.168.43.1 192.168.43.114 55
127.0.0.0 255.0.0.0 На связи 127.0.0.1 331
127.0.0.1 255.255.255.255 На связи 127.0.0.1 331
127.255.255.255 255.255.255.255 На связи 127.0.0.1 331
192.168.2.0 255.255.255.0 На связи 192.168.2.244 281
192.168.2.244 255.255.255.255 На связи 192.168.2.244 281
192.168.2.244 255.255.255.255 На связи 192.168.43.114 56
192.168.2.255 255.255.255.255 На связи 192.168.2.244 281
192.168.43.0 255.255.255.0 На связи 192.168.43.114 311
192.168.43.114 255.255.255.255 На связи 192.168.43.114 311
192.168.43.255 255.255.255.255 На связи 192.168.43.114 311
192.168.56.0 255.255.255.0 На связи 192.168.56.1 281
192.168.56.1 255.255.255.255 На связи 192.168.56.1 281
192.168.56.255 255.255.255.255 На связи 192.168.56.1 281
224.0.0.0 240.0.0.0 На связи 127.0.0.1 331
224.0.0.0 240.0.0.0 На связи 192.168.56.1 281
224.0.0.0 240.0.0.0 На связи 192.168.2.244 281
224.0.0.0 240.0.0.0 На связи 192.168.43.114 311
255.255.255.255 255.255.255.255 На связи 127.0.0.1 331
255.255.255.255 255.255.255.255 На связи 192.168.56.1 281
255.255.255.255 255.255.255.255 На связи 192.168.2.244 281
255.255.255.255 255.255.255.255 На связи 192.168.43.114 311
===========================================================================
Чтобы соединить интернет с кластером Ubuntu, находящимся в другой подсети через Windows машину, мне пришлось сделать следующее:
- Найти подсеть кластера Ubuntu
-
Назначить неиспользуемый адрес данной подсети мосту Windows, отредактировав следующие два regex (на Windows 10):
- HKEY_LOCAL_MACHINE > SYSTEM >CurrentControlSet > Services > SharedAccess > Parameters > ScopeAddress & ScopeAddressBackup
-
Открыть Центр управления сетями и общим доступом > Изменить параметры адаптера > Кликнуть правой кнопкой мыши на адаптер, получающий интернет > свойства > вкладка “Общий доступ” > Установить флажок “Разрешить другим пользователям сети подключаться через интернет-соединение этого компьютера” > выбрать адаптер к кластеру > нажать ок
-
На машинах Ubuntu выполните следующее:
- выключите основной адаптер через
sudo ifdown eno1
(ifconfig для поиска) -
Настройте статические IP c шлюзом для назначенного IP моста. (пример /etc/network/interfaces ниже):
# Этот файл описывает доступные на вашей системе сетевые интерфейсы # и как их активировать. Для получения дополнительной информации см. interfaces(5). # Интерфейс сетевой петли auto lo iface lo inet loopback # Основной сетевой интерфейс auto em1 iface em1 inet static address 192.168.2.5 netmask 255.255.255.0 gateway 192.168.2.200 dns-nameserver 192.168.2.200
-
Отредактируйте /etc/resolv.conf для совпадения с dns-nameserver
- Включите адаптер обратно через
sudo ifup eno1
- выключите основной адаптер через
Ответ или решение
Чтобы осуществить подключение интернета с ноутбука на Windows 10 к кластеру Ubuntu Hadoop, работающему на разных подсетях, необходимо следовать четкому алгоритму действий. Разберем пошагово, как это сделать:
1. Определение подсети и назначение IP-адреса
Сначала необходимо определить подсеть кластера Ubuntu и назначить неиспользуемый IP-адрес этой подсети для Windows, который будет служить мостом. Для этого на Windows 10 откройте редактор реестра и перейдите по пути:
HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > SharedAccess > Parameters
Измените значения для ScopeAddress
и ScopeAddressBackup
, присвоив им свободный адрес из подсети кластера, например, 192.168.2.200.
2. Настройка общего доступа к Интернету через Windows
Перейдите в "Центр управления сетями и общим доступом" на Windows, выберите "Изменение параметров адаптера". Щелкните правой кнопкой мыши по адаптеру, который получает Интернет, выберите "Свойства". Перейдите на вкладку "Доступ" и отметьте пункт "Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера". Затем выберите адаптер, который подключен к кластеру, и сохраните изменения.
3. Конфигурация на Ubuntu
На каждом узле кластера Ubuntu необходимо скорректировать сетевые настройки:
-
Выключите основной сетевой адаптер с помощью команды:
sudo ifdown <ваш_адаптер>
Используйте
ifconfig
для определения названия адаптера. -
Настройте статические IP-адреса, указав шлюз, который соответствует назначенному IP моста на Windows. Этот IP адрес будет служить как gateway и dns-nameserver. Создайте или измените файл
/etc/network/interfaces
следующим образом:# The primary network interface auto em1 iface em1 inet static address 192.168.2.x netmask 255.255.255.0 gateway 192.168.2.200 dns-nameservers 192.168.2.200
-
Обновите файл
/etc/resolv.conf
, добавив туда актуальный DNS-сервер:nameserver 192.168.2.200
-
Включите адаптер обратно:
sudo ifup <ваш_адаптер>
Эти настройки позволят вашему кластеру Ubuntu получать доступ в Интернет через Windows, используя присвоенный ему адрес как шлюз. Следуя этому алгоритму, вы сможете эффективно организовать подключение, избегая административных трудностей и сохраняя архитектуру сети в пределах существующих ограничений.