Page 1 of 1
Reassign network interface
Posted: Wed Jul 21, 2010 7:41 am
by YOYONL
Hello all,
i just have installed amahi for a few days now and i did that on my testbox i have laying around..
The box has 3 network cards installed for various tests and for fun..
Now here the problem i have:
When i installed amahi all 3 cards where present and offcourse eth 0 was the bottem card. Today i have pulled out eth0 as this is a 100 mb card and i would like to test eth 1 which is a 1000mb nic. My thought was if i pull eth0 then eth1 becomes eth0... But the system doesnt think so and now i have a dead amahi box

i have tried all kind of things within fedora to get eth1 to become eth 0 but to no avail the system keeps saying eth0 is not present.. so what i want is that fedora/amahi resets all nics and reassings them.
Who can help me out here??
Re: Reassign network interface
Posted: Wed Jul 21, 2010 10:31 am
by gboudreau
Maybe try to manually edit
/etc/udev/rules.d/70-persistent-net.rules
In mine, I only have one line:
Code: Select all
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:67:0c:04:46", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"but I guess yours will have many, and I'd guess deleting the eth0 line, and renaming eth1 to eth0 in there would do the trick (after a reboot).
Good luck.
Re: Reassign network interface
Posted: Wed Jul 21, 2010 4:43 pm
by whetu
See my post
here for a more thorough description if you need it

Re: Reassign network interface
Posted: Thu Jul 22, 2010 4:09 am
by YOYONL
Hello,
i have done what gboudreau told me in his post and also took a look into youre topic whetu.
i cant really see the difference in both sollutions.

Cause the should have both the same result!
However i managed to get eth 1 to become eth 0 but now amahi doenst seem to start... my control panel can tell me that Amahi is stopped... So why did it stop and didnt came back up?
Re: Reassign network interface
Posted: Thu Jul 22, 2010 6:47 am
by moredruid
The below script will switch your NIC hardware settings
Code: Select all
#!/bin/bash
#
# NAME
# switchnics - switch network interface hardware settings
#
# USAGE
# switchnics [-d] iface1 iface2
#
# DESCRIPTION
# Switch network interface hardware settings originally assigned by
# the Red Hat installer, anaconda. The interface configuration files
# in /etc/sysconfig/network-scripts are modified so the MAC addresses
# are exchanged for the HWADDR shell variables. Optional comment
# on line 1 of these files are exchanged and, if necessary, the
# driver assignments in /etc/modprobe.conf are switched as well.
#
# MODIFICATION HISTORY
# * Wed Feb 13 2008 George Hacker <ghacker@redhat.com>
# - Add the -d option to switch device names instead of HW settings
# * Fri Dec 14 2007 George Hacker <ghacker@redhat.com>
# - Original code.
# fatal() - writes to STDERR, then exits
function fatal () {
echo "$1" 1>&2; exit $2
}
# Check the options to see if the user is a knucklehead
if [[ $# -eq 2 ]]
then
unset SW_DEVICE
iface[1]=$1; iface[2]=$2
elif [[ $# -eq 3 && $1 = -d ]]
then
SW_DEVICE=true
iface[1]=$2; iface[2]=$3
else
fatal "Usage: $(basename $0) [-d] iface1 iface2" 2
fi
if [[ ${iface[1]} = ${iface[2]} ]]
then
fatal "Error: you specified the same interface" 2
fi
exit
modprobe=/etc/modprobe.conf
ifcfg=/etc/sysconfig/network-scripts/ifcfg-
# Determine the drivers for each of the interfaces
for i in 1 2
do
if grep "alias ${iface[i]}" $modprobe &> /dev/null
then
driver[i]=$( awk "/${iface[i]}/ { print \$3 }" $modprobe )
else
fatal "Error: interface ${iface[i]} does not exist" 1
fi
done
# Retrieve the interface comment lines and the DEVICE and HWADDR values
for i in 1 2
do
if [[ ! -w $ifcfg${iface[i]} ]]
then
fatal "Error: cannot write to $(basename $ifcfg${iface[i]})" 1
fi
comment[i]=$( awk 'NR == 1 && /^#/' $ifcfg${iface[i]} )
hwaddr[i]=$( awk -F= '$1 == "HWADDR" { print $2 }' $ifcfg${iface[i]} )
device[i]=$( awk -F= '$1 == "DEVICE" { print $2 }' $ifcfg${iface[i]} )
done
# When -d option is used, switch the DEVICE lines, not HWADDR and comments
if [[ $SW_DEVICE ]]
then
TEMP="${device[1]}" ; device[1]="${device[2]}" ; device[2]="$TEMP"
else
TEMP="${comment[1]}"; comment[1]="${comment[2]}"; comment[2]="$TEMP"
TEMP="${hwaddr[1]}" ; hwaddr[1]="${hwaddr[2]}" ; hwaddr[2]="$TEMP"
fi
# If the drivers are different, modify modprobe.conf
if [[ ${driver[1]} != ${driver[2]} ]]
then
if [[ ! -w $modprobe ]]
then
fatal "Error: cannot write to $(basename $modprobe)" 1
fi
# Switch modprobe.conf entries
sed -e "/alias ${iface[1]}/s/${driver[1]}/${driver[2]}/" \
-e "/alias ${iface[2]}/s/${driver[2]}/${driver[1]}/" -i $modprobe
fi
# Create new and improved interface config files
for i in 1 2
do
(
if [[ -n ${comment[i]} ]]
then
echo ${comment[i]}
fi
awk -F= "BEGIN { OFS=\"=\"}
NR == 1 && /^#/ { next }
\$1 == \"HWADDR\" { \$2 = \"${hwaddr[i]}\" }
\$1 == \"DEVICE\" { \$2 = \"${device[i]}\" }
{ print }" $ifcfg${iface[i]}
) > $ifcfg${iface[i]}.tmp
cp $ifcfg${iface[i]}.tmp $ifcfg${iface[i]}
rm $ifcfg${iface[i]}.tmp
done
# When -d option is used, IP config settings get switched, so files
# have to be exchanged
if [[ $SW_DEVICE ]]
then
mv $ifcfg${iface[1]} $ifcfg.tmp
mv $ifcfg${iface[2]} $ifcfg${iface[1]}
mv $ifcfg.tmp $ifcfg${iface[2]}
fi
exit 0
Re: Reassign network interface
Posted: Thu Jul 22, 2010 7:08 am
by gboudreau
However i managed to get eth 1 to become eth 0 but now amahi doenst seem to start... my control panel can tell me that Amahi is stopped... So why did it stop and didnt came back up?
What does not start exactly ? i.e. what do you call 'Amahi' ?
The Amahi dashboard at
http://hda ?
Your server itself (it doesn't boot) ?
Your files shares ?
Re: Reassign network interface
Posted: Thu Jul 22, 2010 3:02 pm
by YOYONL
The machine and fedora are starting correctly but i dont get the dashboard and i cant see the server in my network..
The script could be the answer but i dont have time until the weekend.... so i let you know when i have an update!
Re: Reassign network interface
Posted: Thu Jul 22, 2010 11:07 pm
by whetu
can you please tell us what you get from the following commands:
ifconfig
cat /etc/udev/rules.d/70-persistent-net.rules
cat /etc/sysconfig/network-scripst/ifcfg-eth0
Re: Reassign network interface
Posted: Wed Jul 28, 2010 5:33 am
by YOYONL
Small update:
Ahmahi itself runs as i can access my HDA on the box itself.. The dashboard comes up nice to! unfortunally there is still no access to the oudside world..
The script i will go and try to get it working now and i will see if i can get the wanted info to for whetu
Edit: Seems like the wrong nic has been assigned as being eth 0. the onboard nic is eth0 and not the card i want but that doenst matter!
Im going to get more tests on the 100mbit if its fine for me im gonna try to install amahi over the production server around here!
Thanks for the help case closed!