Что такое устройство, интерфейс и соединение при использовании nmcli? Какая разница?
Каковы зависимости и отношения между устройством, интерфейсом и соединением в утилите nmcli cmdline под linux?
Следующие вопросы задаются в контексте nmcli и сетей в linux:
Какие могут быть только в отношении 1:1, а какие могут быть в отношении 1: много?
В случае 1: много, могут ли многие быть активными одновременно?
Сетевая карта (ник) такая же, как устройство?
Является ли IP-адрес, например, 10.0.0.1 экземпляром интерфейса или соединения?
Может ли одна сетевая карта иметь несколько активных IP-адресов одновременно?
Могут ли несколько сетевых карт (на одном сервере) использовать один и тот же IP-адрес?
1 ответ
"Сетевое устройство" (в контексте компьютера) обычно относится к части аппаратного обеспечения - сетевой интерфейсной плате (NIC). Когда-то, когда динозавры бродили по Интернету и многие люди все еще пользовались модемами, сетевые карты действительно имели только один интерфейс, но в настоящее время сетевые адаптеры с несколькими интерфейсами распространены. Сетевая карта может иметь несколько активных IP-адресов (как и интерфейс), а несколько сетевых карт могут иметь один и тот же IP-адрес. В настоящее время в мире существует бесчисленное множество сетевых адаптеров и / или интерфейсов с IP-адресом 192.168.1.1.
Интерфейс, в этом контексте, является дырой, в которую вы подключаете сетевой кабель (часто называемый портом, но его не следует путать с портом [программного обеспечения]). Для многих целей и задач разные сетевые интерфейсы на одном и том же устройстве /NIC могут рассматриваться как разные устройства - они часто независимы, почти всегда могут настраиваться независимо (и по-разному) и воспринимаются вашим программным обеспечением как разные устройства, даже если они приходят на одной карте. Например, компьютер, на котором я это печатаю, имеет двухпортовый сетевой адаптер, один из которых был зажжен молниеносным ударом пару лет назад. Другой интерфейс все еще работает просто отлично, хотя. Смотрите изображение ниже, чтобы понять взаимосвязь устройства и интерфейса.
Сетевое подключение... это гораздо более двусмысленный термин. В контексте аппаратного обеспечения это будет означать физическое соединение между интерфейсом на компьютере и интерфейсом на втором сетевом устройстве (коммутаторе, маршрутизаторе, другом компьютере и т. Д.) Посредством какого-либо сетевого кабеля. Однако это неопределенный термин, поэтому он может означать только кабель, только соединение на одном конце, соединение на обоих концах или охватывать весь объект, интерфейс, кабель и другой интерфейс. Он может даже расширяться дальше, чем - как в "проверке вашего подключения к Интернету", что будет охватывать компьютер, маршрутизатор, как минимум пару кабелей и, возможно, больше.
С точки зрения программного обеспечения, "соединение" обычно означает сетевой сеанс (например, сеансы SSH или FTP между двумя компьютерами), но часто используется также для ссылки на протоколы без сохранения состояния, такие как http. Даже при том, что нет никакого реального сеанса, люди часто говорят о "связи" с веб-сайтом, например.
Тем не менее, насколько nmcli
Что касается, соединение является эквивалентом " профиля " для интерфейса, который объединяет все соответствующие конфигурации для этого интерфейса. Давайте представим, что вам нужно временно подключить ваш сервер к другой сети и иметь только 1 интерфейс. Давайте предположим, что этот интерфейс называется ens33, и все его настройки хранятся в соединении с именем primary. Таким образом, необходимо изменить определенные настройки интерфейса (возможно, статический IP-адрес и шлюз для этой новой сети), чтобы новое соединение работало вообще. Вы можете удалить существующие настройки, и в этом случае вам придется записать их снова - или просто создать новое соединение для этого интерфейса (назовем это тестированием). Теперь вы можете хранить оба набора настроек отдельно и изменять все настройки одновременно, переключая соединения с помощью:
# nmcli con down primary; nmcli con up testing
Что касается взаимосвязей, 1 NIC (устройство) может иметь несколько интерфейсов, и каждый интерфейс может иметь несколько подключений (соответствующие настройки хранятся в файле /etc/sysconfig/network-scripts/ifcfg-<interfaceName>
).