0

I have build my LFS linux that based in this book, it's working fine and network interface card is working. Even it's configuring IP automatically with using dhcpcd service.

According chapter 9 in that books, there's file called

/etc/sysconfig/ifconfig.eth0 The problem is, what if I'm using wlan0, do I need to modify config file or rename eth0 to wlan0 every change network interface card MANUALLY, I expect it's detected automatically

Here init network script that generated by LFS book in /etc/init.d/network that related with /etc/sysconfig/ifconfig.*

### BEGIN INIT INFO
# Provides:            $network
# Required-Start:      $local_fs localnet swap
# Should-Start:        $syslog firewalld iptables nftables
# Required-Stop:       $local_fs localnet swap
# Should-Stop:         $syslog firewalld iptables nftables
# Default-Start:       3 4 5
# Default-Stop:        0 1 2 6
# Short-Description:   Starts and configures network interfaces.
# Description:         Starts and configures network interfaces.
# X-LFS-Provided-By:   LFS
### END INIT INFO

case "${1}" in
   start)
      # Start all network interfaces
      for file in /etc/sysconfig/ifconfig.*
      do
         interface=${file##*/ifconfig.}

         # Skip if $file is * (because nothing was found)
         if [ "${interface}" = "*" ]; then continue; fi

         /sbin/ifup ${interface}
      done
      ;;

   stop)
      # Unmount any network mounted file systems
       umount --all --force --types nfs,cifs,nfs4

      # Reverse list
      net_files=""
      for file in  /etc/sysconfig/ifconfig.*
      do
         net_files="${file} ${net_files}"
      done

      # Stop all network interfaces
      for file in ${net_files}
      do
         interface=${file##*/ifconfig.}

         # Skip if $file is * (because nothing was found)
         if [ "${interface}" = "*" ]; then continue; fi

         # See if interface exists
         if [ ! -e /sys/class/net/$interface ]; then continue; fi

         # Is interface UP?
         ip link show $interface 2>/dev/null | grep -q "state UP"
         if [ $? -ne 0 ];  then continue; fi

         /sbin/ifdown ${interface}
      done
      ;;

   restart)
      ${0} stop
      sleep 1
      ${0} start
      ;;

   *)
      echo "Usage: ${0} {start|stop|restart}"
      exit 1
      ;;
esac

exit 0

# End network

1 Answer 1

1

By reading the script, it is obvious that it will process all /etc/sysconfig/ifconfig.* files:

   start)
      # Start all network interfaces
      for file in /etc/sysconfig/ifconfig.*
      do
         interface=${file##*/ifconfig.}

The script will pick the name of the interface to configure from the filename, so you should simply write the settings you want for eth0 to /etc/sysconfig/ifconfig.eth0, and the settings you want for wlan0 to /etc/sysconfig/ifconfig.wlan0 respectively.

Also, note that for wireless network interfaces (like wlan0), you'll most likely also need to install and configure the wpa_supplicant, to handle the modern forms of wireless network security.

Being able to read shell scripts written by other people is a valuable skill for a Linux system administrator. Sometimes you may need to read a script to verify that it actually does what it claims to do; sometimes you may need to figure out what a script actually does in order to troubleshoot some problem, or because the available documentation is insufficiently detailed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .