Прив. Инет у меня подрубается с помощью wpa_supplicant+dchpcd. Пользуюсь вот этой инструкцией http://chehov.multinex.ru/uslugi/linux Все как бы работает, но если комп перезапустить, то dhcp не срабатывает. Приходиться открывать консоль и самому писать dhcpcd -d eth1. Это ни есть гуд (( Как решить это?
У меня две сетевых карты, на одной статика, а на инете dhcp
Как привязать eth0 к конкретной сетевой?
Вы сами ответили на свой вопрос.
HINT: /etc/rc.local
Это не помогает.... Я сразу туда записал строчку с wpa-supplicant
Проблема решилась. Весь касяк был в том, что для нужной сетевухи выдавалось имя по разному. Могло быть eth0 а после перезапуска eth1. Пришлось силами udev привязать название интерфейса жестко.
Создать файл /etc/udev/10-udev.rules и добавить две строчки (т.к. у меня 2 сетевухи)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:04:75:e2:e8:64", NAME="eth0"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:03:ad:45:26:78", NAME="eth1"Потом отрубил в /etc/rc.conf карточку eth1 (эта та которая должна получить IP по DHCP)
В /etc/rc.local добавил
wpa_supplicant -Dwired -c /etc/wpa_supplicant.conf -i eth1 -B
sleep 3
dhcpcd -d eth1
exit 0 Ну и все прописал в файле /etc/wpa_supplicant.conf
ap_scan=0
network={
key_mgmt=IEEE8021X
eap=MD5
identity="ЛОГИН"
password="ПАРОЛЬ"
}В итоге имею поднятое инетовское соединение.
ААААА!!! Не работает это все!! Просто совпало а я губу развесил.. Вопрос остается открытым. Как привязать сетевой определенный номер?
Как привязать сетевой определенный номер? У меня две сетевухи, так вот надо что бы первая всегда получала eth0, а вторая eth1. Нужно это для поднятия wpa_supplicant + dhcpcd. Скрипт в /etc/rc.local привязан к сетевой с номером eth1. После перезапуска имя может смениться и скрипт не срабатывает.
В /etc/rc.local
wpa_supplicant -Dwired -c /etc/wpa_supplicant.conf -i eth1 -B
sleep 3
dhcpcd -d eth1
exit 0У меня archlinux. В /etc/rc.conf прописано что eth0 статика, а eth1 получает по dhcp, но при запуске демон network выдает FAIL.
Пробовал средствами udev путем добавления двух строк в файл (ничего не правил, тупо вставил где понравилось) и ноль эффекта.
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:04:75:e2:e8:64", NAME="eth0"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:03:ad:45:26:78", NAME="eth1"После перезапуска имя может смениться и скрипт не срабатывает.
Уверен, что проблема именно в этом?
Уверен, что проблема именно в этом?
Да... ifconfig это показывает. eth0 может быть и первая и вторая карточка, это видно по MAC.
Как это лучше сделать, может я велосипед изобретаю?
xlin, даблпостинг запрещен, темы объедены.
xlin, даблпостинг запрещен, темы объедены.
Сорри. Просто меня задолбала эта канитель ((
А драйвера на сетевые карты у тебя в ядре или модулями?
Интерфейсы назначаются ядром. И если у тебя на самом деле разные интерфейсы назначаются разным устройствам, то получается, что после каждой перезагрузки порядок определения сетевых карт ядром произвольный (один раз сетевуху1 нашла первой, в другой раз почему-то сначала обнаружилась сетевуха2). А это вообще возможно?
один раз сетевуху1 нашла первой, в другой раз почему-то сначала обнаружилась сетевуха2). А это вообще возможно?
Если действие грибов еще не кончилось то возможно. Сначала не понял в чем касяк, но проанализировал и понял что сетевухи могут определяться по разному. Их как то надо привязать. Каждую к конкретному интерфейсу.
Как проверить в ядре или модулем? Я дрова не ставил, тогда скорее всего все в ядре.
Приходится открывать консоль и самому писать dhcpcd -d eth1...
Но ведь если после этого все работает, то нифига интерфейсы не меняются местами, иначе пришлось бы писать dhcpcd -d eth0. Или я чего-то не понимаю? wink .
Как проверить в ядре или модулем? Я дрова не ставил, тогда скорее всего все в ядре.
Покажи вывод lspci -k.
Мой /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1f:d0:8e:7b:af", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:4c:d0:25:fb", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
Покажи вывод lspci -k.
Сейчас не могу показать вывод, комп занят. Чуть позже.
Но ведь если после этого все работает, то нифига интерфейсы не меняются местами, иначе пришлось бы писать dhcpcd -d eth0. Или я чего-то не понимаю?
Совершенно верно.... приходиться писать вместо eth1 - eth0
А в твоем etc/udev/rules.d/70-persistent-net.rules, больше ничего нет? Кроме этих двух строчек? В моем, если не изменяет память кучу всего написано.
А в твоем etc/udev/rules.d/70-persistent-net.rules, больше ничего нет? Кроме этих двух строчек? В моем, если не изменяет память кучу всего написано.
Все. Остальное - только комментарии.
mycetophylax, А какой дистр? Не генту случаем?Просто именно такого файла у меня нет... Пробовал создавать свой, но толку ноль. Позже попробую сделать по твоему подобию.
mycetophylax, А какой дистр? Не генту случаем?
Gentoo wink
Просто именно такого файла у меня нет... Пробовал создавать свой, но толку ноль. Позже попробую сделать по твоему подобию.
Смотри значение RULES_FILE в файле /lib/udev/write_net_rules.
02:07.0 Ethernet controller: D-Link System Inc RTL8139 Ethernet (rev 10)
Subsystem: D-Link System Inc DFE-538TX 10/100 Ethernet Adapter
Kernel driver in use: 8139too
Kernel modules: 8139too
02:08.0 Ethernet controller: Intel Corporation 82801DB PRO/100 VE (LOM) Ethernet Controller (rev 82)
Subsystem: Fujitsu Technology Solutions Device 1001
Kernel driver in use: e100
Kernel modules: e100Вот такое у меня выдает? Это значит в ядре?
В /lib/udev/write_net_rules вот такая строчка
RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules'Такого файла нет в системе, попробую его создать и протестить.