LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 04-13-2007, 08:13 PM   #1
brokenpromises
Member
 
Registered: Jan 2005
Location: NZ
Distribution: Fedora / Debian
Posts: 99

Rep: Reputation: 21
Angry Network Issues - IP Reverts back to previous setting!


Hello,

I'm running FC6 on an old box (1.8ghz Celly / 512 DDR / Integrated Ethernet), and never had a problem before, until recently, when I modified my network. The box is headless, and all administration is through SSH / Web. I run a number of things on this server (Webserver, Samba, etc)

What I did:
1. Change its IP from 10.2.254.3 to 10.2.10.3
2. Changed Subnet from 255.255.240.0 to 255.255.255.0
3. Changed nameserver from 10.2.254.1 to 10.2.10.1
4. Changed gateway from 10.2.254.1 to 10.2.10.1

However these settings NEVER stick. They ALWAYS reset themselves back to 10.2.254.3 for IP, 255.255.240.0 for subnet, and gateway and nameserver also go back to 10.2.254.1.

I tried setting up the network using the network set up script "netconfig", and it didn't even change the IP to begin with. So used:

Code:
[root@FC6Server ~]# ifconfig eth0 10.2.10.3 netmask 255.255.255.0
[root@FC6Server ~]# route add default gw 10.2.10.1 eth0
I then had to manually modify /etc/resolv.conf using vim to change my nameserver to 10.2.10.1 (as it had reverted to 10.2.254.1)

Now that I've set it all up, if I simply type

Code:
[root@FC6Server ~]# /etc/init.d/network restart
Everything will revert back to the previous settings.

Even though I have manually set it, there is a good chance that it will just revert by itself. I have no idea what triggers it even.

This is really driving me up the wall . Why is this happening?
 
Old 04-13-2007, 08:23 PM   #2
wjevans_7d1@yahoo.co
Member
 
Registered: Jun 2006
Location: Mariposa
Distribution: Slackware 9.1
Posts: 938

Rep: Reputation: 31
Just for kicks and grins, could you please post the content of /etc/init.d/network?
 
Old 04-13-2007, 08:28 PM   #3
brokenpromises
Member
 
Registered: Jan 2005
Location: NZ
Distribution: Fedora / Debian
Posts: 99

Original Poster
Rep: Reputation: 21
Sure.

Code:
#! /bin/bash
#
# network       Bring up/down networking
#
# chkconfig: 2345 10 90
# description: Activates/Deactivates all network interfaces configured to \
#              start at boot time.
#
### BEGIN INIT INFO
# Provides: $network
### END INIT INFO

# Source function library.
. /etc/init.d/functions

if [ ! -f /etc/sysconfig/network ]; then
    exit 0
fi

. /etc/sysconfig/network

if [ -f /etc/sysconfig/pcmcia ]; then
        . /etc/sysconfig/pcmcia
fi


# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0

# if the ip configuration utility isn't around we can't function.
[ -x /sbin/ip ] || exit 1

# Even if IPX is configured, without the utilities we can't do much
[ ! -x /sbin/ipx_internal_net -o ! -x /sbin/ipx_configure ] && IPX=

# Even if VLAN is configured, without the utility we can't do much
[ ! -x /sbin/vconfig ] && VLAN=

CWD=`pwd`
cd /etc/sysconfig/network-scripts

. ./network-functions

# find all the interfaces besides loopback.
# ignore aliases, alternative configurations, and editor backup files
interfaces=$(ls ifcfg* | \
            LANG=C sed -e "$__sed_discard_ignored_files" \
                       -e '/\(ifcfg-lo\|:\|ifcfg-.*-range\)/d' \
                       -e '/ifcfg-[A-Za-z0-9\._-]\+$/ { s/^ifcfg-//g;s/[0-9]/ &/}' | \
            LANG=C sort -k 1,1 -k 2n | \
            LANG=C sed 's/ //')

# See how we were called.
case "$1" in
  start)
        # IPv6 hook (pre IPv4 start)
        if [ "$NETWORKING_IPV6" = "yes" ]; then
                if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
                        /etc/sysconfig/network-scripts/init.ipv6-global start pre
                fi
        fi

        sysctl -e -p /etc/sysctl.conf >/dev/null 2>&1

        # bring up loopback interface
        action $"Bringing up loopback interface: " ./ifup ifcfg-lo

        case "$IPX" in
          yes|true)
            /sbin/ipx_configure --auto_primary=$IPXAUTOPRIMARY \
                                   --auto_interface=$IPXAUTOFRAME
            if [ "$IPXINTERNALNETNUM" != "0" ]; then
               /sbin/ipx_internal_net add $IPXINTERNALNETNUM $IPXINTERNALNODENUM
            fi
            ;;
        esac

        case "$VLAN" in
          yes)
            if [ -d /proc/net/vlan ] || modprobe 8021q >/dev/null 2>&1 ; then
                test -z "$VLAN_NAME_TYPE" && VLAN_NAME_TYPE=DEV_PLUS_VID_NO_PAD
                action $"Setting 802.1Q VLAN parameters: " /sbin/vconfig set_name_type "$VLAN_NAME_TYPE"
            else
                echo $"No 802.1Q VLAN support available in kernel."
            fi
            ;;
        esac

        vlaninterfaces=""
        cipeinterfaces=""
        xdslinterfaces=""
        bridgeinterfaces=""

        # bring up all other interfaces configured to come up at boot time
        for i in $interfaces; do
                unset DEVICE TYPE SLAVE
                eval $(LANG=C fgrep "DEVICE=" ifcfg-$i)
                eval $(LANG=C fgrep "TYPE=" ifcfg-$i)
                eval $(LANG=C fgrep "SLAVE=" ifcfg-$i)

                if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi

                if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then
                        cipeinterfaces="$cipeinterfaces $i"
                        continue
                fi
                if [ "$TYPE" = "xDSL" ]; then
                        xdslinterfaces="$xdslinterfaces $i"
                        continue
                fi

                if [ "$TYPE" = "Bridge" ]; then
                        bridgeinterfaces="$bridgeinterfaces $i"
                        continue
                fi

                if [ "${DEVICE%%.*}" != "$DEVICE" ] ; then
                        vlaninterfaces="$vlaninterfaces $i"
                        continue
                fi

                if [ "$SLAVE" = "yes" ]; then
                        continue
                fi

                if LANG=C egrep -L "^ONBOOT=['\"]?[Nn][Oo]['\"]?" ifcfg-$i > /dev/null ; then
                        # this loads the module, to preserve ordering
                        is_available $i
                        continue
                fi
                # If we're in confirmation mode, get user confirmation.
                if [ -f /var/run/confirm ]; then
                        confirm $i
                        test $? = 1 && continue
                fi
                action $"Bringing up interface $i: " ./ifup $i boot
        done

        # Bring up xDSL and CIPE interfaces
        for i in $vlaninterfaces $bridgeinterfaces $xdslinterfaces $cipeinterfaces ; do
            if ! LANG=C egrep -L "^ONBOOT=['\"]?[Nn][Oo]['\"]?" ifcfg-$i >/dev/null 2>&1 ; then
                # If we're in confirmation mode, get user confirmation.
                if [ -f /var/run/confirm ]; then
                        confirm $i
                        test $? = 1 && continue
                fi
                action $"Bringing up interface $i: " ./ifup $i boot
            fi
        done

        # Add non interface-specific static-routes.
        if [ -f /etc/sysconfig/static-routes ]; then
           grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
              /sbin/route add -$args
           done
        fi

        # IPv6 hook (post IPv4 start)
        if [ "$NETWORKING_IPV6" = "yes" ]; then
                if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
                        /etc/sysconfig/network-scripts/init.ipv6-global start post
                fi
        fi
        # Run this again to catch any interface-specific actions
        sysctl -e -p /etc/sysctl.conf >/dev/null 2>&1

        touch /var/lock/subsys/network

        [ -n "${NETWORKDELAY}" ] && /bin/sleep ${NETWORKDELAY}
        ;;
  stop)
        # Don't shut the network down if root is on NFS or a network
        # block device.
        rootfs=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $3; }}' /etc/mtab)
        rootopts=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $4; }}' /etc/mtab)

        if [[ "$rootfs" =~ "^nfs" ]] || [[ "$rootopts" =~ "_netdev" ]] ; then
                exit 1
        fi

        # If this is a final shutdown/halt, check for network FS,
        # and unmount them even if the user didn't turn on netfs
        if [ "$RUNLEVEL" = "6" -o "$RUNLEVEL" = "0" -o "$RUNLEVEL" = "1" ]; then
                NFSMTAB=`LC_ALL=C awk '$3  ~ /^nfs/ { print $2 }' /proc/mounts`
                SMBMTAB=`LC_ALL=C awk '$3 == "smbfs" { print $2 }' /proc/mounts`
                NCPMTAB=`LC_ALL=C awk '$3 == "ncpfs" { print $2 }' /proc/mounts`
                if [ -n "$NFSMTAB" -o -n "$SMBMTAB" -o -n "$NCPMTAB" ] ; then
                        /etc/init.d/netfs stop
                fi
        fi

        # IPv6 hook (pre IPv4 stop)
        if [ "$NETWORKING_IPV6" = "yes" ]; then
                if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
                        /etc/sysconfig/network-scripts/init.ipv6-global stop pre
                fi
        fi

        vlaninterfaces=""
        cipeinterfaces=""
        xdslinterfaces=""
        bridgeinterfaces=""
        remaining=""

        # get list of bonding, cipe, and xdsl interfaces
        for i in $interfaces; do
                unset DEVICE TYPE
                eval $(LANG=C fgrep "DEVICE=" ifcfg-$i)
                eval $(LANG=C fgrep "TYPE=" ifcfg-$i)

                if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi

                if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then
                        cipeinterfaces="$cipeinterfaces $i"
                        continue
                fi
                if [ "$TYPE" = "Bridge" ]; then
                        bridgeinterfaces="$bridgeinterfaces $i"
                        continue
                fi
                if [ "$TYPE" = "xDSL" ]; then
                        xdslinterfaces="$xdslinterfaces $i"
                        continue
                fi

                if [ "${DEVICE%%.*}" != "$DEVICE" ] ; then
                        vlaninterfaces="$vlaninterfaces $i"
                        continue
                fi
                remaining="$remaining $i"
        done

        for i in $cipeinterfaces $xdslinterfaces $bridgeinterfaces $vlaninterfaces $remaining; do
                (. ifcfg-$i
                if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi
                if ! check_device_down $DEVICE; then
                   action $"Shutting down interface $i: " ./ifdown $i boot
                fi
                )
        done

        case "$IPX" in
          yes|true)
            if [ "$IPXINTERNALNETNUM" != "0" ]; then
               /sbin/ipx_internal_net del
            fi
            ;;
        esac

        action $"Shutting down loopback interface: " ./ifdown ifcfg-lo

        if [ -d /proc/sys/net/ipv4 ]; then
          if [ -f /proc/sys/net/ipv4/ip_forward ]; then
                if [ `cat /proc/sys/net/ipv4/ip_forward` != 0 ]; then
                        action $"Disabling IPv4 packet forwarding: " sysctl -w net.ipv4.ip_forward=0
                fi
          fi
          if [ -f /proc/sys/net/ipv4/ip_always_defrag ]; then
                if [ `cat /proc/sys/net/ipv4/ip_always_defrag` != 0 ]; then
                        action $"Disabling IPv4 automatic defragmentation: " sysctl -w net.ipv4.ip_always_defrag=0
                fi
          fi
        fi

        # IPv6 hook (post IPv4 stop)
        if [ "$NETWORKING_IPV6" = "yes" ]; then
                if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
                        /etc/sysconfig/network-scripts/init.ipv6-global stop post
                fi
        fi

        rm -f /var/lock/subsys/network
        ;;
  status)
        echo $"Configured devices:"
        echo lo $interfaces

        echo $"Currently active devices:"
        echo $(/sbin/ip -o link show up | awk -F ": " '{ print $2 }')
        ;;
  restart|reload)
        cd "$CWD"
        $0 stop
        $0 start
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload|status}"
        exit 1
esac

exit 0
 
Old 04-14-2007, 08:18 AM   #4
wjevans_7d1@yahoo.co
Member
 
Registered: Jun 2006
Location: Mariposa
Distribution: Slackware 9.1
Posts: 938

Rep: Reputation: 31
Ok, the file you posted is a leeeeetle more complex than the one on my system.

Here's what you do, if you're up to it:

Look at all the files which this file references. Then look at all the files those files reference. And so on.

Somewhere in there you should find hard-coded the IP addresses (and masks and such) that you no longer want. Change them to be what you do want.

Be thorough and complete and accurate.

It's a pain, I know.

Hope this helps.
 
Old 04-14-2007, 12:44 PM   #5
fur
Member
 
Registered: Dec 2003
Distribution: Debian, FreeBSD
Posts: 310

Rep: Reputation: 35
Check these files.

/etc/sysconfig/network

and

/etc/sysconfig/network-scripts/ifcfg-eth0


Also make sure you don't have a dhcp client running in the background as that can overwrite IP settings.
 
Old 04-14-2007, 03:16 PM   #6
helptonewbie
Member
 
Registered: Aug 2006
Location: England Somewhere
Distribution: Mandriva, PCLinuxOS, Karoshi, Suse, Redhat, Ubuntu
Posts: 518

Rep: Reputation: 39
the ifconfig command is used to create a IP alias, it means the ip address settings set by it are correct me if i'm wrong people but only temporary so if you restart the system or unplug the network cable for the computer then the settings will revert back, you need to edit the file as sugested above, not sure if its same files for FC cos i dont use FC personally but it will be something like that no doubt
 
Old 04-14-2007, 10:40 PM   #7
brokenpromises
Member
 
Registered: Jan 2005
Location: NZ
Distribution: Fedora / Debian
Posts: 99

Original Poster
Rep: Reputation: 21
I checked both those files, and they have the settings which I set via ifconfig. Everything appears to be working, for the time being.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Modem issues; setting up a linux network johnnyblade Linux - Networking 4 10-21-2007 01:01 AM
How to revert back to a previous kernel in REL 3.0? cygnus-x1 Red Hat 6 08-29-2006 06:33 PM
Setting to a previous date pwnd Linux - Newbie 5 07-13-2006 03:12 AM
Mouse action reverts when logging back on tetpt Linux - Newbie 1 01-12-2006 10:44 AM
how to revert back to the previous kernel version? prav_284 Red Hat 3 12-10-2003 03:51 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 05:22 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration