Вопрос или проблема
Я использую Hyper-V для своей лаборатории на Linux.
У меня есть сервер Ubuntu 16.04, который содержит 2 сетевых интерфейса, отображаемых в системе как 2 интерфейса.
eth0: настроен для получения IP-адреса от DHCP-сервера (мой маршрутизатор D-Link обеспечивает доступ в интернет).
eth1: настроен с статическим IP для моей внутренней сети.
Это файл /etc/network/interfaces
, который я редактировал:
# Основной сетевой интерфейс
auto eth0
iface eth0 inet dhcp
# Внутренний сетевой интерфейс
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.254
dns-nameservers 192.168.1.254
После того как я закончил редактировать конфигурационный файл и перезагрузил систему, я потерял доступ в интернет.
Даже если я попробую выполнить ping на 8.8.8.8 с eth0 (с помощью ping -I eth0 8.8.8.8
), это не сработает.
Когда я удаляю внутренний сетевой интерфейс из конфигурационного файла и перезагружаю, мое интернет-соединение восстанавливается.
Что я делаю не так? Как настроить мою машину так, чтобы устройство eth0 использовалось только для доступа в интернет, а eth1 – для моей внутренней сети?
Я не уверен в этом, наткнулся на это, когда читал другие связанные настройки eth0.
ip route с двумя статическими шлюзами
Может, это поможет вам.
Можете сказать версию сервера Ubuntu? Если вы уверены, что получаете параметры от DHCP на eth0, вы можете попробовать прочитать вывод команды:
ifconfig /a
Просто для уверенности я бы сделал:
sudo nano /etc/network/interfaces
Добавьте ниже в файл interfaces
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.254
И затем выполните:
sudo nano /etc/resolv.conf
И добавьте:
nameserver 192.168.1.254
nameserver 8.8.8.8
В конце выполните:
sudo apt-get update && sudo apt-get install hv-kvp-daemon-init linux-tools-virtual linux-cloud-tools-virtual
Или вы можете прочитать здесь:
https://help.ubuntu.com/community/NetworkManager#Using_NetworkManager_on_the_command_line
И введите nmcli help
Ответ или решение
Для настройки двух сетевых интерфейсов на Ubuntu Server 16.04 без потери интернет-соединения необходимо правильно сконфигурировать файл /etc/network/interfaces
, а также учесть приоритет маршрутов.
Вот шаги, которые нужно выполнить:
-
Редактирование конфигурации сетевых интерфейсов:
Откройте файл
/etc/network/interfaces
с помощью текстового редактора, например,nano
:sudo nano /etc/network/interfaces
Убедитесь, что у вас следующий конфигурационный файл:
# Основной сетевой интерфейс auto eth0 iface eth0 inet dhcp # Внутренний сетевой интерфейс auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0
Обратите внимание, что интерфейс
eth1
не должен иметь указания наgateway
, так как это может вызвать конфликты с маршрутизацией. -
Настройка DNS:
Рекомендуется добавить DNS-серверы для обеспечения доступа к Интернету. Вы можете отредактировать файл
/etc/resolv.conf
:sudo nano /etc/resolv.conf
Добавьте следующие строки:
nameserver 192.168.1.254 nameserver 8.8.8.8
Это укажет системе, что при разрешении имен обращаться сначала к локальному DNS, а затем к публичному DNS от Google.
-
Проверка конфигурации маршрутов:
После перезагрузки системы важно убедиться, что маршрут по умолчанию указывает именно на
eth0
. Для этого используйте команду:ip route
Убедитесь, что строка с маршрутом по умолчанию выглядит примерно так:
default via <IP-адрес вашего роутера> dev eth0
Если
eth1
также имеет маршрут по умолчанию, это может вызывать конфликты. В этом случае вам нужно будет удалить или изменить конфигурацию маршрутов. -
Перезагрузка сетевых интерфейсов:
После внесения всех изменений, перезагрузите интерфейсы командой:
sudo ifdown eth0 && sudo ifup eth0 sudo ifdown eth1 && sudo ifup eth1
-
Проверка подключения к Интернету:
После перезагрузки интерфейсов выполните пинг до внешнего адреса:
ping -I eth0 8.8.8.8
Если пинг успешен, значит интернет-соединение настроено верно.
Если после выполнения всех шагов у вас все еще есть проблемы с соединением, проверьте настройки DHCP на вашем маршрутизаторе и убедитесь, что он корректно выдает IP-адреса. Также проверьте физические соединения и настройки виртуальной сети в Hyper-V.
Эта инструкция должна помочь вам настроить оба интерфейса без потери интернет-соединения. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!