Назад | Перейти на главную страницу

Что считается устройством, интерфейсом и соединением при использовании nmcli? Какая разница?

Каковы зависимости и отношения между устройством, интерфейсом и подключением в утилите nmcli cmdline под Linux?

Следующие ниже вопросы задаются в контексте nmcli и сетей в Linux:

Что может быть только в соотношении 1: 1, а какое может быть в соотношении 1: много?

В случае 1: many, могут ли многие быть активными одновременно?

Сетевая карта (nic) - это то же самое, что и устройство?

IP-адрес, например, 10.0.0.1, является экземпляром интерфейса или соединения?

Может ли одна сетевая карта иметь несколько активных IP-адресов одновременно?

Могут ли несколько сетевых карт (на одном сервере) использовать один и тот же IP-адрес, это объединение в сеть?

«Сетевое устройство» (в контексте компьютера) обычно относится к части оборудования - сетевой карте (NIC). Когда-то, когда динозавры бродили по Интернету, а многие люди все еще использовали модемы, сетевые адаптеры действительно имели только один интерфейс, но в настоящее время сетевые адаптеры с несколькими интерфейсами являются обычным явлением. Сетевая карта может иметь несколько активных IP-адресов (как и интерфейс), и несколько сетевых карт могут иметь один и тот же IP-адрес. Несомненно, сейчас в мире существует бесчисленное множество сетевых адаптеров и / или интерфейсов с IP-адресом 192.168.1.1.

Интерфейс в этом контексте - это отверстие, в которое вы вставляете сетевой кабель (часто называемое портом, но не путать с [программным] портом). Для многих целей и задач разные сетевые интерфейсы на одном устройстве / сетевой карте могут рассматриваться как разные устройства - они часто независимы, почти всегда могут быть настроены независимо (и по-разному) и рассматриваются вашим программным обеспечением как разные устройства, даже если они приходят по одной карте. Например, компьютер, на котором я это печатаю, имеет двухпортовый сетевой адаптер, один из которых сгорел от удара молнии пару лет назад. Однако другой интерфейс по-прежнему работает нормально. См. Изображение ниже, чтобы понять взаимосвязь устройства и интерфейса.

Сетевое соединение ... это гораздо более неоднозначный термин. В контексте оборудования это будет относиться к физическому соединению между интерфейсом на компьютере и интерфейсом на втором сетевом устройстве (коммутатор, маршрутизатор, другой компьютер и т. Д.) С помощью какого-либо сетевого кабеля. Однако это расплывчатый термин, поэтому он может означать только кабель, только соединение на одном конце, соединение на обоих концах или охватывать все это, интерфейс, кабель и другой интерфейс. Он может даже простираться дальше, чем - например, «проверьте подключение к Интернету», который будет охватывать компьютер, маршрутизатор, по крайней мере, пару кабелей и, возможно, многое другое.

С точки зрения программного обеспечения, «соединение» обычно означает сетевой сеанс (например, сеансы SSH или FTP между двумя компьютерами), но часто также используется для обозначения протоколов без сохранения состояния, таких как http. Даже если фактического сеанса нет, люди часто говорят, например, о «соединении» с веб-сайтом.


Однако насколько nmcli обеспокоен, соединение эквивалентно 'профиль'для интерфейса, который объединяет всю соответствующую конфигурацию для этого интерфейса. Представьте, что вам нужно временно подключите свой сервер к другой сети и получите только 1 интерфейс. Предположим, этот интерфейс называется ens33, и вся его конфигурация хранится в соединении с именем первичный. Таким образом, необходимо изменить определенные настройки интерфейса (возможно, статический IP-адрес и шлюз для этой новой сети), чтобы новое соединение вообще работало. Вы мог удалите существующие настройки, и в этом случае вам придется записать их снова или просто создать новое соединение для этого интерфейса (назовем его тестирование). Теперь вы можете хранить оба набора настроек отдельно и изменять все настройки сразу, переключая соединения с помощью:

# nmcli con down primary; nmcli con up testing

Что касается отношений, 1 сетевая карта (устройство) может иметь несколько интерфейсов, и каждый интерфейс может иметь несколько подключений (связанные настройки, хранящиеся в файле /etc/sysconfig/network-scripts/ifcfg-<interfaceName>).