Чтоб сетевой интерфейс можно было настроить он должен быть определен и активирован операционной системой. Другими словами, нужно загрузить в оперативную память модуль(и) ядра отвечающие за взаимодействие с Вашей(ми) сетевой(ми) картой(ми). Определить соответствие модулей сетевым картам можно из документации к ядру или с помощью инструментов способных просканировать шину PCI и на основе полученных от устройств идентификаторов «порекомендовать» нужные модули. Например, используя pciscan:
Я оставил только строку информирующую о сетевой карте и её модуле. Видно, что рекомендуемый модуль 8139too. А сама карта поддерживается и должна работать после загрузке этого модуля в память. Пороверить, наличие модуля в памяти можно, как известно, командой lsmod.
Ну, здесь вроде всё в порядке. Да и как бы оно иначе работало? ;-) Если модуль не загружен, его нужно загрузить. Это можно сделать командой insmod, но удобней это делать через modprobe <module_name> который, в большинстве случаев, сам разберется чего ещё не хватает...
Осталось «увековечить» ситуацию. Чтоб при перезагрузках всё подгружалось автоматом. Для этого нужно иметь записи соответствующего типа в файле /etc/modules.conf. Например:
Можно заняться собственно настройкой. (Возможности тонкой настройки модуля можно узнать по команде modinfo <module_name>.)
Традиционно сетевой интерфейс настраивается через команды ifconfig и route из набора net-tools. Для того, чтоб эта и другие команды настройки отработали, ОС должна «видеть» сетевую карту, т.е. должен быть загружен соответствующий модуль ядра. (См. выше.) Информацию про все запущенные интерфейсы можна получить по команде:
В этом случае, карта актива но не настроена. Переданные и принятые байтики остались от периода работы. :) А теперь как это выглядит для работающей сетевушки.
Информацию про другие сетевые интерфейсы я убрал, чтоб не нагружать листинги. Присвоение адреса и остальных параметров нужных для корректной работы сетевой карты в сети тоже выполняется через ifconfig.
Из всех параметров, обязательным есть только адрес карты в сети идущий сразу за указанием самого интерфейса (eth0). Даже команду up можно не писать, она применится автоматически, если прямо не указано иное. Остальные параметры команда попытается угадать сама. Корректно у нее это получится только в простейшем случае. Поэтому, чтоб избежать недоразумений, особенно в сегментированных сетях, лучше не лениться набрать её целиком и сразу проверить результат.
Отключается интерфейс такой же командой только с down вместо up. С этого момента Вы можете пинговать свой интерфейс и «рядом стоящие» машины по IP адресам. Для полноценной работы в сети, нужно ещё настроить маршрутизацию и связь с DNS.
Вообще-то, по третьей ссылке, почти в самом начале документа, Вы увидите фразу: «Широко известные команды, такие как route и ifconfig — фактически являются довольно тонкой оберткой вокруг очень мощной инфраструктуры iproute2.» Может тогда уже и пользоваться сразу оригиналом? Лично я уже так и делаю. :) Есть и ещё один момент. Вроде, официально объявлено, что «обертки» считаются устаревшими и далее официально поддерживаться не будут, или скоро не будут. Нужно правда учесть, что сценарии начальной загрузки от Red Hat построены именно на использовании «оберток». А учитывая вес и влияние этой фирмы во всём сообществе Linux трудно поверить в последнее пока сама Red Hat будет ими пользоваться. Но, всё может измениться в любой момент...
Потому, лучше сразу привыкнуть к ip и товарищи из iproute2. Увидеть список активных интерфейсов можно по команде ip link list.
Под номером 5 идёт распознанный но не активированный интерфейс. Остальные активны, о чём говорит флаг UP в угловых скобках после названия интерфейса. Команда ip address list сообщит о присвоенных адресах.
Как видите, сетевой адрес отсутствует. Чтоб настроить карту, нужно «поднять» интерфейс и присвоить ему адрес. ifconfig делает это за один раз. В ip это две разные команды. ip link «подымает» и «опускает» интерфейс. ip address назначает интерфейсам адреса и «отбирает» их.
Теперь, как видите, тут всё «как у людей». Можно присваивать адрес.
Адрес присвоен. Можно «общаться» с картой и ближайшими соседями по IP адресам. Всё как и раньше. Только команды стало две. Зато адресов можно одному «линку» надавать на сколько фантазии хватит практически не меняя команды. Только расставлять метки — каждому адресу свою (параметр label команды ip address). Например, так:
Как видно, у одного интерфейса появилось два адреса. И теперь через него доступны две сети.
Чем-то удобней, чем-то нет. В общем, «шило на мыло», но зато по современному... :)
* man ifconfig, man ip, man rpm, man apt-get
* NET-3-HOWTO на русском
* Перевод Linux Advanced Routing & Traffic Control HOWTO