Консультация № 155684
24.12.2008, 22:30
0.00 руб.
26.12.2008, 17:05
0 8 1
[b]Здравствуйте, уважаемые эксперты![/b]
Имеется USB сетевая карта Trendnet TU2-ET100 и ОС Debian. (Хотя ОС не имеет значения - считайте любой Linux)
Проблема в том, что не удается сменить MAC-адрес сетевой карты.

Вот что я делаю:
# modprobe usbnet
# modprobe asix модуль для работы с данной сетевой картой
[b]dmesg |tail[/b] выдает, что сетевая карта успешно подключена. Допустим, [b]eth1[/b]
# ifconfig eth1 down
# ifconfig eth1 hw ether mac
# ifconfig eth1 up
После этих нехитрых манипуляций ifconfig eth1 показывает, что MAC карты изменен на нужный, но ping на шлюз перестает вообще идти. Если вернуть родной MAC сетевой карты, то шлюз пингуется.

MAC необходимо сменить, т.к. у провайдера привязка IP к MAC-у и по ней осуществляется выход в интернет...
Пробовал менять с помощью ip, но результат тот же.
В Windows MAC меняется и все работает...

Подскажите, пожалуйста, каким еще образом можно сменить MAC-адрес?
Если необходима какая-то еще информация, готов предоставить.

Заранее спасибо всем откликнувшимся!


[size=3]Вопрос решен[/size]
Необходимо было выполнить
# ifconfig eth1 promisc

Обсуждение

Неизвестный
25.12.2008, 08:38
общий
это ответ
Здравствуйте, Николай Владимирович / Н.В.!
А для чего менять MAC, если пинги ходят? Значит родной MAC этого интерфейса прописан у провайдера. Или поставлен на динамическое определение MAC. В таком случае просто подождать надо какое-то время, пока там ARP-таблица обновится.
Ну и свой ARP-кэш не мешает очистить. arp -d -a из-под root.
Неизвестный
25.12.2008, 08:39
общий
Попробуйте еще перезапустить dhcp-клиента.
А еще была программа macchanger.
Неизвестный
25.12.2008, 09:37
общий
Владимир Медведев,
у меня dhcp вообще выключен. IP статический...
Программу посмотрю... Но, думаю, она не поможет - МАС у меня и так меняется на нужный, вроде... По крайней мере ifconfig и ip выдают установленный мной...
Может, можно сменить где-то на уровне загрузки драйвера?


Valman,
Вы вопрос перечитайте внимательно... Списка МАСов всех устройств у провайдера нет и быть не может - только список привязок МАС к IP. В ХР же работает.
Кэш arp чистить смысла нет, т.к. проверяется это все также и на ОС, запущенных с LiveCD.
Неизвестный
25.12.2008, 10:05
общий
Ну, тогда я совсем не понял вопроса. Лично у нас, если провайдер выставляет привязки к макам, пинг на ихний шлюз не проходит, если мак отличается от того, что прописан у них. В Вашем случае, Вы утверждаете, что
Если вернуть родной MAC сетевой карты, то шлюз пингуется.
Или вы пингуете не шлюз провайдера?
Списка МАСов всех устройств и не надо. Достаточно выключить привязку к МАС именно для Вашего IP.
Неизвестный
25.12.2008, 11:13
общий
А какое именно оборудование используется? Это просто провод Ethernet до провайдера или есть еще что-то? Модем, роутер и т.п.
Маршрутизация в route правильно настроена после смены MAC?
Еще мне кажется что поменять МАК можно в /etc/sysconfig/network-scripts/ifcfg-eth0, параметр "MACADDR="
Неизвестный
25.12.2008, 21:11
общий
Valman
Ну, тогда я совсем не понял вопроса. Лично у нас, если провайдер выставляет привязки к макам, пинг на ихний шлюз не проходит, если мак отличается от того, что прописан у них. В Вашем случае, Вы утверждаете, что
© Цитата:
Если вернуть родной MAC сетевой карты, то шлюз пингуется.
Или вы пингуете не шлюз провайдера?
Моему провайдеру без разницы, какой у кого MAC в локалке, а вот выход в интернет осуществляется именно по MAC-у.
Отличить шлюз провайдера от "еще чего-то" я, поверьте, могу.
Списка МАСов всех устройств и не надо. Достаточно выключить привязку к МАС именно для Вашего IP.
Из вышенаписанного понятно, почему это невозможно.

Владимир Медведев
Никакого оборудования нет... Все прописано правильно.
Самое непонятное следующее: после смены MAC-адреса, как я уже сказал, шлюз не пингуется (Destination host unreachable), но route его находит!
Естественно, интернет недоступен (проверял на пингом DNS - возвращает Destination host unreachable)
Неизвестный
25.12.2008, 21:12
общий
Вообще, видимо, проблема в драйвере... Т.к. в windows таких проблем нет.
Неизвестный
26.12.2008, 17:02
общий
[size=4]Вопрос решен[/size]
Необходимо было выполнить
# ifconfig eth1 promisc
Форма ответа