Linux замена сетевой карты
Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 - это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой - интерфейсы имеют имена вида enp2s0 (en -Ethernet, p - PCI, 2 - номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link .
Привязка интерфейса к карте
При наличии нескольких сетевых карт возникает вопрос о порядке их нумерации. В CentOS 6 эта задача возложена на подсистему обнаружения и конфигурации устройств - udev. В системах с systemd правила именования встроены в udev, но могот быть переопределены, как написано ниже.
Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка).
ifcfg
Классическая утилита конфигурации сетевых интерфейсов ifcfg
route
Настройка таблицы маршрутизации route
В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip
Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf
Для просмотра доступных сетевых интерфейсов используется команда ip link
ArchLinux использует для настройки сети systemd/netctl . Для конфигурации используются файлы профилей, которые хранятся в /etc/netctl/ . В данном каталоге есть подкаталог examples/ из которого можно копировать файлы с образцами профилей в /etc/netctl/ . Например:
Содержимое enp1s0-work после редактирования
Базовые команды netctl
Просмотр доступных интерфейсов - ifcfg -a
Файл конфигурации интерфейсов - /etc/network/interfaces . auto - говорит о том, что интерфейс надо конфигурировать при старте системы.
После смены настроек в /etc/network/interfaces , необходимо отключить и снова включить интерфейс.
Общие настройки сети
Файл /etc/sysconfig/network используется стартовыми скриптами и содержит ключевые параметры - нужна ли сеть, нужно ли конфигурировать IP v6, имя компьютера. Сюда можно вписать шлюз по умолчанию, но CentOS 6 ориентируется на динамическое подкючение к сетям через WiFi и вписывает его в конфигурацию подходящего интерфейса.
Конфигурация интерфейса
Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0
Интерфейс, получающий адрес по DHCP
Дополнительный IP адрес на интерфейсе eth1
Инициализация VLAN на eth1
Настройка DNS
Файл /etc/resolv.conf
Ручная настройка имен хостов файл /etc/hosts
Настройка брандмауэра
Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall
Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.
После ручного изменения правил их можно сохранить командой service iptables save
Здравствуйте , у меня такая проблемма:У меня есть старый комп.(486) На нем установил линукс RH7.2 , поставил сетевую карту , но он ее не видит , на карте лампочки мигают и при мигании аплинка на хабе на карте тоже лампочка мигает ( значит рабртает) , как ее можно добавить а то при инсталяции она не добавилась и при загрузке не определяеется и при загрузе тоже netconfig не помогает ( ничего не добавляется) . заранее спасибо.
bloodman
необходимо собрать ядро с поддержкой вашей карты = затем выпоняется modprobe my_network_card.o = тоесть загружается модуль (драйвер) карточки = вся остальная настройка производится с помощью ifconfig или же записывается "навечно" в соответствующие конфигурационные файлы
ЗЫ. а какая у вас карта?
-------
Now I know that the LORD [is] greater than all gods: for in the thing wherein they dealt proudly [he was] above them. (Exodus 18:11)
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Intel EtherExpress 10
Собрать ядро на 486 процессоре?? оно будет 2 дня собираться. возможно ли без сборки нового ядра?
bloodman
могу поздравить = ядро можно собрать и на другой машине)
да = может драйвер уже есть в ядре = нужно его просто подгрузить
-------
Now I know that the LORD [is] greater than all gods: for in the thing wherein they dealt proudly [he was] above them. (Exodus 18:11)
другая машина у меня на на камне AMD Athlon , если я на нем буду собирать то оно соберется под него а не под интеовский камень (или можно указать под какую платформу собирать ?).
попробовал modprobe eepro
она выдала что: Device or resource is busy.
тоже самое с modprobe ne .
Конфигурация компьютера | |
Память: 8Гб | |
ОС: Linux x86_64 |
Вначале выдайте
service network stop
или
ifcongig eth0 down
У Вас видно какой-модуль поддержки этой карточки загрузился - устройство-то занято.
Кстати, можно посмотреть с помощью lsmod какой модуль занимает сетевую карту.
А как вы определили, что Linux не видит сетевую карту ?
-------
Поспешай не торопясь
ядро на атлоне соберется какое нужно) там есть опции архитектуры процессора
-------
Now I know that the LORD [is] greater than all gods: for in the thing wherein they dealt proudly [he was] above them. (Exodus 18:11)
Есть ли способ поменять местами сетевые интерфейсы ( eth1 <-> eth0 ) после установки системы.
Мой новый Debian 6.0 установил назначенную сетевую карту PCI как « eth0 », а интегрированное сетевое устройство материнских плат как « eth1 » по умолчанию. Проблема в том, что я хочу использовать встроенное устройство в качестве сетевого интерфейса по умолчанию ( eth0 ).
Я уже редактировал:
поменять местами имена и все вроде бы нормально, и сеть работает, но программы все еще пытаются использовать сетевую карту PCI (теперь это « eth1 ») в качестве интерфейса по умолчанию. Например, iftop теперь пытается использовать « eth1 » в качестве устройства по умолчанию, так как он использовал « eth0 » до обмена.
редактировать: я написал небольшое приложение для распечатки iflist, и устройство PCI ( eth1 ) появилось раньше, чем « eth0 ». Есть идеи как поменять порядок устройства.
редактировать: я нашел тему об этой же проблеме, и я попробовал все, что они предложили, и ни одно из решений не работает, за исключением замены имен «виртуально».
Я отвечаю на свой вопрос сейчас, потому что я наконец нашел решение этой проблемы.
Я обнаружил, что можно изменить порядок устройств, выгрузив драйверы, а затем загрузив их в правильном порядке.
Первый метод (брутфорс):
Таким образом, первый метод, который я придумал, был простым - перегрузить драйвер с помощью скрипта init.d.
Следующий скрипт init предназначен для Debian 6.0, но тот же принцип должен работать практически на любом дистрибутиве, использующем надлежащие скрипты init.d.
Затем скрипт должен быть добавлен в соответствующий каталог уровня запуска. Это легко сделать в Debian с помощью команды « update-rc.d ». Например: update-rc.d reorder-nics start S
Второй способ (лучше, я думаю):
Я также нашел более элегантный способ (по крайней мере, для систем Debian и Ubuntu).
Сначала убедитесь, что ядро не загружает драйверы NIC автоматически. Это может быть сделано путем создания файла черного списка в /etc/modprobe.d/ . Я создал файл с именем " disable-nics.conf ". Обратите внимание, что файлы /etc/modprobe.d/ должны иметь .conf суффикс. Кроме того, именование модулей /etc/modprobe.d/blacklist.conf не влияет на автозагрузку модулей ядром, поэтому вы должны создать свой собственный файл.
Затем запустите depmod -ae от имени пользователя root
Восстановите свое INITRD с « обновлением-initramfs -u »
И, наконец, добавьте имена драйверов в исправленном порядке в файл / etc / modules .
Изменения вступят в силу после следующей загрузки.
Перезагрузка не нужна, хотя; переключать устройства легко с помощью следующей команды (конечно, от имени root):
Первый шаг - вы вставляете сетевую карту в соответствующий слот и включаете компьютер. Чтобы проверить, как сетевая карта подключена в Linux Ubuntu, какие параметры ей назначены, необходимо:
- Через менеджер пакетов установить пакеты ethtool , lshw6 net-tools и pciutil :
- Для просмотра доступных сетевых плат используйте команду:
Эта команда определит, какие именно интерфейсы подсоединены к шине PCI. Если там есть Ваши устройства, значит всё в порядке, их драйвера присутствуют в ядре Linux.
- После этого можно просмотреть детальную информацию о каждой плате (интерфейсе). Для этого нужно подать команду:
Из предыдущего вывода можно узнать слот PCI латы, который в новом выводе будет обозначаться как bus info :
Найдя по номеру гнезда плату, можно будет определить:
- логический номер интерфейса: ( logocal name: ). Не факт, что он будет стандартным eth0 , eth1 и т.д.;
- мак адрес сетевой карты (физический) ( serial: );
- ip-адрес карты: ( configuration: . ip =x.x.x.x . )
Примечание: если карта не настроена, iр=адрес может и не отображаться. А вот имя интерфейса и мак адрес карты должны отображаться всегда!
Этих данных, плюс данных, полученных при планировании сети, вполне достаточно, чтобы дальше настраивать сетевые интерфейсы в ручном режиме, правкой файлов конфигураций или через программу webmin.
Какие существуют файлы конфигурации для настройки сетевых интерфейсов Ubuntu?
Для правильного функционирования сети необходимо внести изменения в следующие файлы конфигурации системы:
- /etc/network/interfaces
- /etc/resolv.conf
- /etc/hosts
- /etc/networks
Содержимое последних трёх файлов будет обсуждаться в разделах, посвящённых IP протоколам.
Примеры настройки файла /etc/network/interfaces
Ниже приводятся фрагменты настройки Ethernet карт с пояснениями.
Вначале нужно настроить закольцованный интерфейс, если по каким-то причинам он отсутствует:
Минимальные настройки для интерфейса eth0 по dhcp :
- address – ip адрес компьютера
- netmask – его сетевая маска
- gateway – основной шлюз сети
- broadcast – широковещательный адрес. Обычно заканчивается на .255, что означает все адреса компьютеров в сети
- dns-nameservers – адреса первичного и вторичного DNS серверов
Для Wi-fi карты типовые настройки будут следующими:
Значения параметров следующие:
- iface wlan0 inet dhcp - конфигурация для DHCP
- iface wlan0 - имя нашего интерфейса (wlan0, eth1, rausb0, ra0, и т.д.)
- wpa-driver - это wpa-driver для нашей карты ('wext' - общий драйвер для Linux, работающий с «ndiswrapper»). Рекомендуется оставить как есть.
- hostap = Host AP driver (Intersil Prism2/2.5/3) atmel = ATMEL AT76C5XXx (USB, PCMCIA) wext = Linux wireless extensions (generic) madwifi = Atheros
- wired = wpa_supplicant wired Ethernet driver
- wpa-ssid - имя нашей точки доступа (ESSID). Без кавычек.
- wpa-ap-scan - параметр вещания точкой доступа её имени. «1» = ESSID вещается всем. «2» = ESSID скрыт.
- wpa-proto - протокол «RSN» = WPA(2) «WPA» = WPA(1)
- wpa-pairwise и wpagroup - «CCMP» = AES-шифрователь (как часть стандарта WPA(2)) «TKIP» = TKIP-шифрователь (как часть стандарта WPA(1))
- wpa-key-mgmt - «WPA-PSK» = Аутентификация через ключевую фразу (см. 'Создание ключей') «WPA-EAP» = Аутентификация при помощи сервера аутентификаций.
- auto wlan0 - автоматическое включение wlan0 при загрузке/перезагрузке сети.
Как генерировать шестнадцатеричные ключи для Wi-fi?
Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII) в hex-ключ:
Результат будет примерно таким:
hex-ключ это все символы после " psk= ".
Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk .
Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так - перезагружаем машину.
Читайте также: