Рейтинг:0

Один интерфейс принимает все IP-адреса, а другой не использует ни одного

флаг cn

Я собрал свое первое кастомное ядро, и у меня есть несколько проблем с ним (см. этот другой пост).

я настроил с /etc/сеть/интерфейсы один ip-адрес на каждом физическом интерфейсе компьютера. Команда IP а показать IP-адреса на каждом интерфейсе.

debian@debian:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
    инет 127.0.0.1/8 область хоста lo
       valid_lft навсегда
    inet6 :: 1/128 узел области видимости
       valid_lft навсегда
2: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast состояние UP группа по умолчанию qlen 1000
    ссылка/эфир 64:70:02:11:67:a4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.5.1/24 brd 192.168.5.255 глобальная область охвата enp7s0
       valid_lft навсегда
    ссылка на область inet6 fe80::6670:2ff:fe11:67a4/64
       valid_lft навсегда
3: enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast состояние DOWN группа по умолчанию qlen 1000
    ссылка/эфир 00:1c:c0:94:71:d1 брд ff:ff:ff:ff:ff:ff
    inet 192.168.5.2/24 brd 192.168.5.255 глобальная область enp0s25
       valid_lft навсегда
    ссылка на область inet6 fe80::21c:c0ff:fe94:71d1/64
       valid_lft навсегда
debian@debian:~$
debian@debian:~$ cat /etc/network/interfaces
# Этот файл описывает сетевые интерфейсы, доступные в вашей системе
# и как их активировать. Для получения дополнительной информации см. интерфейсы(5).

источник /etc/network/interfaces.d/*

# петлевой сетевой интерфейс
авто вот
iFace Lo Inet Loopback

# Основной сетевой интерфейс
разрешить горячее подключение enp7s0
#iface enp7s0 инет dhcp
iface enp7s0 инет статический
адрес 192.168.5.1/24


разрешить горячее подключение enp0s25
#iface enp0s25 инет dhcp
iface enp0s25 инет статический
адрес 192.168.5.2/24


debian@debian:~$

enp0s25 = интерфейс Intel enp7s0 = интерфейс Realtek

Проблема в следующем:

  • Когда я подключаю кабель Ethernet к интерфейсу Intel (драйвер e1000e), я могу пропинговать оба IP-адреса (даже если другой интерфейс не работает).

  • Когда я подключаю кабель Ethernet к интерфейсу Realtek tp-link (драйвер r8169), я не могу пропинговать ни один из IP-адресов (включая связанный с ним IP-адрес). Интерфейс поднимается вверх при подключении к нему кабеля.

Я немного искал, и я не могу найти похожую проблему на мою. Знаете ли вы, почему существует разница между тем, что предлагает Linux, и тем, что на самом деле происходит с интерфейсами?

Изменить: проблема не связана с пользовательским ядром, она также появляется в версии ядра Debian 4.19 по умолчанию. Но они прекрасно работали с PfSense.

Редактировать 2: Текущая таблица маршрутов (может измениться после перезапуска сетевой службы и интерфейса Realtek перед интерфейсом Intel).

debian@debian:~$ IP-маршрут
192.168.5.0/24 dev enp0s25 прото-ссылка на область ядра src 192.168.5.2
192.168.5.0/24 dev enp7s0 ссылка на область ядра proto src 192.168.5.1
debian@debian:~$
флаг np
Он нормально работает с ядром Debian по умолчанию?
Nikita Kipriyanov avatar
флаг za
Итак, почему в посте нет содержимого файла interfaces и, возможно, вывода ipadr?
флаг cn
Я отредактировал пост, чтобы ответить на ваши вопросы.
A.B avatar
флаг cl
A.B
относится к [слабой модели хоста] (https://en.wikipedia.org/wiki/Host_model) и требует маршрутизации на основе политик при использовании нескольких сетевых адаптеров с IP-адресами в одной и той же IP-сети. ARP, вероятно, тоже задействован.
флаг cn
@AB Модель слабого хоста, похоже, принимает трафик, предназначенный для обоих интерфейсов, на обоих интерфейсах. Может ли он принять только один из интерфейсов (как в моем случае)? Может ли компьютер изменить модель хоста между ОС, которую вы внедряете?
A.B avatar
флаг cl
A.B
Меня смущает деталь: enp0s25=Intel. Это второй интерфейс? Потому что тогда «даже если второй интерфейс не работает» не имеет смысла (и как это понимать? административно установлен или что-то еще?). Можете ли вы отредактировать свой вопрос и уточнить, какой интерфейс Tp-Link, какой интерфейс Intel и какой первый интерфейс, какой второй интерфейс? Вы можете проверить свои наблюдения? За это время они могли измениться, но пока все в порядке, у меня будет доступное объяснение.
A.B avatar
флаг cl
A.B
Также вы можете добавить вывод этой команды? `IP-маршрут`.
флаг cn
@AB Я понимаю свой сценарий. Как вы сказали, таблица маршрутизации играет важную роль в моей проблеме. Linux отправляет ответ трафика через первый интерфейс таблицы маршрутизации, соответствующий месту назначения. В сочетании со слабой моделью хоста компьютер получает трафик на обоих интерфейсах, но отправляет ответ только на один (в зависимости от таблицы маршрутизации).
Nikita Kipriyanov avatar
флаг za
Вы помещаете две разные сетевые карты в одну и ту же локальную сеть. Да, Linux использует слабую модель хоста, и в этой модели неправильная настройка. Почему вы это сделали, чего вы пытались добиться? (В ожидании ответа избыточность достигается *иначе*.)
A.B avatar
флаг cl
A.B
Да, за исключением того, что только один интерфейс получает трафик от данного однорангового узла, даже не всегда такой же, как и для ответа (поток ARP...). Рядом тот же вопрос, что и у Никиты Киприянова: какая цель? (обратите внимание на https://xyproblem.info/)
флаг cn
Я буду использовать модуль PRP, включенный во время компиляции ядра. Протокол будет обрабатывать интерфейсы как в одной сети. Самостоятельное размещение интерфейсов в одной сети было ошибкой, поскольку служба не была включена, чтобы избежать этой проблемы.

Ответить или комментировать

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