Автор Тема: Как да запазя променен МАС при рестартиране  (Прочетена 2030 пъти)

Teo

  • Напреднали
  • *****
  • Публикации: 169
    • Профил
Адреса се променя безпроблемно с командите
ifconfig eth0 down
ifconfig eth0 hw ether..........
ifconfig eth0 up
и интернета тръгва и се държи нормално до... знаете -следващия рестарт, след което пак трябва да влизам като роот и да пиша същото. Омръзна ми. Четох по форумите, че трябва да се направят промени в конфигурационните файлове, но посочените примери не ми влизаха в действие щото на описаните места при мен няма такива файлове. Питането ми по същество е какво и къде ( и как) трябва да се пипне, конкретно за Mandrake за да ми се зарежда системата с променения МАС адрес?
Активен

p3tzata_

  • Напреднали
  • *****
  • Публикации: 210
  • Distribution: Fedora
  • Window Manager: KDE
    • Профил
Аз съм на принпа, че ако не знам как се запазват настройките след испълняване на команди от сорта на ifconfig, route, vconfig и ....
Просто си ги добавям в скрипта за начално зареждане
Примерен код
/etc/rc.d/rc.local

И не си блъскам главата повече...



Активен

Никое ДОБРО не води до ДОБРО и никое ЗЛО не води до ЗЛО.

vladi4ko

  • Напреднали
  • *****
  • Публикации: 36
    • Профил
пробвай в
#/etc/rc.d/rc.netdevice
примерно съдържание
#!/bin/bash
# Load module for network device.
# This script is automatically generated during the installation.

/sbin/modprobe r8169
/sbin/modprobe rtl8150
ifconfig eth1 hw ether 00:50:FC:EC:43:F2



Активен

paucku

  • Напреднали
  • *****
  • Публикации: 638
  • Distribution: Kubuntu LTS (отскоро е - тествам я в момента)
  • Window Manager: KDE
  • Райчо Николов
    • Профил
    • WWW
Аз съм го направил така във файла /etc/network/interfaces:

Цитат
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
nameserver 192.168.1.1
hwaddress ether 00:16:36:14:B7:73


След това правиш
Цитат

# sudo /etc/init.d/networking restart

И би трябвало да работи и след като си рестартираш компа(ако, разбира се, си пуснал при стартиране на компютъра да се стартира и скрипта /etc/init.d/networking).
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Ма много сте интересни хора.

Аз се извинявам, че не мога да дам конкретен отговор, обаче не мога и да се сдържа да изкоментирам...

"Аз съм го направил така", "аз съм го направил онака"... ама сещате ли се, че нито има /etc/rc.d/rc.netdevice в Mandrake, нито /etc/network/interfaces?

Това са distribution specific неща!!!


Сещате ли се, че един по-начинаещ потребител, като прочете тия отговори, ще отиде да рови и да търси въпросните файлове, ще види че ги няма, ще ги създаде, ще рестартира, ще се чуди, ще се мае защо не работи. Нали са му описали решенията в този форум, тук разбират хората, пък не ще и не ще.
Активен

Teo

  • Напреднали
  • *****
  • Публикации: 169
    • Профил
И все пак благодаря за активността, въпреки че практически нямам напредък. В краен случай ще се обадя на доставчика си, а Уиндос машината ще я излъжа доста по-лесно и трайно.
Активен

dedmin

  • Напреднали
  • *****
  • Публикации: 456
    • Профил
Цитат
To set your address permanently add the value MACADDR=00:00:DE:77:93:AA (for example) into your /etc/sysconfig/network-scripts/ifcfg-eth0 file. If you want to change the address of eth1 for example you should change the file /etc/sysconfig/network-scripts/ifcfg-eth1.

Туй Гугъла за чеп го нямате ....
Активен

ivo1204

  • Напреднали
  • *****
  • Публикации: 987
    • Профил
За да се не чудиш къде да ги слагаш тия неща всеки път , като смениш  дистрото или нещо такова , трябва горе долу да получиш представа , къде и какво се изпълнява при стартиране на системата.
Та пръв е init ( бащата на всички процеси ). Ако има /etc/inittab , това му е разписанието какво да прави. Гледам от PCLinux сега ,  „inittab“ :

Начи системата  ще премине  през  S, 0 , 1 , 2 , 3 , 4  ta do 5 -то ниво , където ти е графичната среда.
То си е и написано:
 # Default runlevel. The runlevels used by Mandriva Linux are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

Нищо загадъчно няма тука , просто не си струва обаче да се ровиш надълбоко , в реда
l5:5:wait:/etc/rc.d/rc 5 е кодирано , че на ниво 5  ( то и за 1,2,3,4 е така ) , се вика един и същи скрипт , /etc/rc.d/rc  , като му се даде за параметър нивото . А тоя скрипт от своя страна стартира всички скриптове от директорията  /etc/rc5.d/ ( както при 2 , ще бъде  /etc/rc2.d/* ) .
Та , твоите писания имат място там , но трябва да са изпълними.
#!/bin/bash
#MyScript....
ifconfig eth0 down
ifconfig eth0 hw ether..........
ifconfig eth0 up
.............
правиш го изпълним  chmod a+x  MyScript
И го набутваш при другите , не в   /etc/rc5.d/  , а в  /etc/rc.d/init.d .Защото в  /etc/rc5.d/ са направени
само връзки към истинските скриптове . Това е така , защото може един скрипт да се вика много пъти от много нива.  Важно е , името на линка да почва с „ S“ ,  с това се оказва , че е стартиращ скрипт , с  „К“ - kill ... . Ta:
cp   MyScript   /etc/rc.d/init.d/
cd   /etc/rc3.d/             промените ще са е 3 ниво
ln -s  ../init.d/ MyScript  S55myscipt
Може би изглежда малко сложно , ама повярвай ми , много по малко време ще загубиш така.
По принцип де , гледам в случая са ти казали  къде да направиш промени.

Един друг също , /etc/rc.d/rc.local е оставен с тази цел :
Цитат

# Short-Description: Local initialization script
# Description: This script will be executed *after* all the other init scripts.
#              You can put your own initialization stuff in here if you don't
#              want to do the full Sys V style init stuff.
### END INIT INFO




Активен

Teo

  • Напреднали
  • *****
  • Публикации: 169
    • Профил
Ivo1204, много благодаря за старанието и детайлния отговор.Ще ми бъде от полза. Да безспорно е малко по-сложно от написването на 3 команди, но веднъж направено, ще ми улесни живота.
Активен

RedIce

  • Напреднали
  • *****
  • Публикации: 162
    • Профил
Цитат (Teo @ Април 12 2008,14:26)
Ivo1204, много благодаря за старанието и детайлния отговор.Ще ми бъде от полза. Да безспорно е малко по-сложно от написването на 3 команди, но веднъж направено, ще ми улесни живота.

ако не се справиш винаги можеш да направиш това което те посъветваха по горе.

/etc/rc.d/rc.local  би трябвало да го има на всички линукс дистрибуции. Просто оваряш файла и пишеш командите, които иначе пишеш на ръка. Това просто ще го направи вместо теб при всяко зареждане на системата. Задължително е последният ред да завършва с ENTER, аз лични гледам да имам поне 2 реда на доло за да не забравя нещо.
провери също така дали файла е испълним, срещал съм системи в който го има но не е изпълним и трябва да се активира със:
chmod +x /etc/rc.d/rc.local

Това е временно-постоянно решение, както обичам да се изразявам. Понякога сетвам нещо така щото ме е мързи да го търся, и понеже работи забравям даже че е така.

Направено по този начин, недостатакът е, че при първоначалното зареждане ще зареди както е по подразбиране, и след като зареди абсолютно всички драйвери и модули, едва тогава ще изпълни rc.local (последна дупка на кавала)
Активен