Как настроить 2 интерфейса без потери интернет-соединения?

Вопрос или проблема

Я использую 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, а также учесть приоритет маршрутов.

Вот шаги, которые нужно выполнить:

  1. Редактирование конфигурации сетевых интерфейсов:

    Откройте файл /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, так как это может вызвать конфликты с маршрутизацией.

  2. Настройка DNS:

    Рекомендуется добавить DNS-серверы для обеспечения доступа к Интернету. Вы можете отредактировать файл /etc/resolv.conf:

    sudo nano /etc/resolv.conf

    Добавьте следующие строки:

    nameserver 192.168.1.254
    nameserver 8.8.8.8

    Это укажет системе, что при разрешении имен обращаться сначала к локальному DNS, а затем к публичному DNS от Google.

  3. Проверка конфигурации маршрутов:

    После перезагрузки системы важно убедиться, что маршрут по умолчанию указывает именно на eth0. Для этого используйте команду:

    ip route

    Убедитесь, что строка с маршрутом по умолчанию выглядит примерно так:

    default via <IP-адрес вашего роутера> dev eth0

    Если eth1 также имеет маршрут по умолчанию, это может вызывать конфликты. В этом случае вам нужно будет удалить или изменить конфигурацию маршрутов.

  4. Перезагрузка сетевых интерфейсов:

    После внесения всех изменений, перезагрузите интерфейсы командой:

    sudo ifdown eth0 && sudo ifup eth0
    sudo ifdown eth1 && sudo ifup eth1
  5. Проверка подключения к Интернету:

    После перезагрузки интерфейсов выполните пинг до внешнего адреса:

    ping -I eth0 8.8.8.8

    Если пинг успешен, значит интернет-соединение настроено верно.

Если после выполнения всех шагов у вас все еще есть проблемы с соединением, проверьте настройки DHCP на вашем маршрутизаторе и убедитесь, что он корректно выдает IP-адреса. Также проверьте физические соединения и настройки виртуальной сети в Hyper-V.

Эта инструкция должна помочь вам настроить оба интерфейса без потери интернет-соединения. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!

Оцените материал
Добавить комментарий

Капча загружается...