#!/bin/sh cd /etc/sysconfig/network-scripts . network-functions [ -f ../network ] && . ../network [ -f ../networking/network ] && . ../networking/network CONFIG=$1 source_config DEVICETYPE=`echo $DEVICE | sed "s/[0-9]*$//"` REALDEVICE=`echo $DEVICE | sed 's/:.*//g'` if echo $DEVICE | grep -q ':' ; then ISALIAS=yes else ISALIAS=no fi if [ "$ISALIAS" = no ] ; then /etc/sysconfig/network-scripts/ifup-aliases ${DEVICE} ${CONFIG} fi /etc/sysconfig/network-scripts/ifup-routes ${DEVICE} ${NAME} if [ "$PEERDNS" != "no" -o -n "$RESOLV_MODS" -a "$RESOLV_MODS" != "no" ]; then [ -n "$MS_DNS1" ] && DNS1=$MS_DNS1 [ -n "$MS_DNS2" ] && DNS2=$MS_DNS2 if [ -n "$DNS1" ] && ! grep -q "^nameserver $DNS1" /etc/resolv.conf && tr=`mktemp /tmp/resolv.XXXXXX` ; then # replace only the first two nameserver lines; cannot count on awk # and do not know if sed is capable of this... current_replacement="$DNS1" next_replacement="$DNS2" search= (cat /etc/resolv.conf ; echo EOF ; echo EOF) | while read answer ; do case $answer in nameserver*|EOF) if [ -n "$current_replacement" ] ; then echo "nameserver $current_replacement" >> $tr if [ -n "$next_replacement" ] ; then current_replacement="$next_replacement" next_replacement= else current_replacement= fi else if [ "$answer" != EOF ] ; then echo "$answer" >> $tr fi fi ;; domain*|search*) if [ -n "$DOMAIN" ]; then echo "$answer" | while read key value ; do search="$search $value" done else echo "$answer" >> $tr fi ;; *) echo "$answer" >> $tr ;; esac done if [ -n "$DOMAIN" ]; then echo "search $DOMAIN $search" >> $tr fi # backup resolv.conf cp -af /etc/resolv.conf /etc/resolv.conf.save # maintain permissions # but set umask in case it doesn't exist! oldumask=`umask` umask 022 cat $tr > /etc/resolv.conf rm -f $tr umask $oldumask fi fi if [ "$FIREWALL_MODS" != "no" -a -f /etc/sysconfig/iptables ] && \ iptables -L -n 2>/dev/null | grep -q RH-Lokkit-0-50-INPUT ; then ns=`awk '/^nameserver / { print $2 }' /etc/resolv.conf` if [ -n "$ns" ]; then for nameserver in $ns ; do if ! iptables -L RH-Lokkit-0-50-INPUT -n | grep -q $nameserver ; then iptables -I RH-Lokkit-0-50-INPUT -m udp -s $nameserver/32 --sport 53 -d 0/0 --dport 1025:65535 -p udp -j ACCEPT [ -x /usr/bin/logger ] && logger $"punching nameserver $nameserver through the firewall" fi done fi fi # don't set hostname on ppp/slip connections if [ "$2" = "boot" -a \ "${DEVICE}" != lo -a \ "${DEVICETYPE}" != "ppp" -a \ "${DEVICETYPE}" != "slip" ]; then if need_hostname; then IPADDR=`LANG= LC_ALL= ifconfig ${DEVICE} | grep 'inet addr' | awk -F: '{ print $2 } ' | awk '{ print $1 }'` eval `/bin/ipcalc --silent --hostname ${IPADDR}` if [ "$?" = "0" ]; then set_hostname $HOSTNAME fi fi fi # Notify programs that have requested notification do_netreport if [ -x /sbin/ifup-local ]; then /sbin/ifup-local ${DEVICE} fi exit 0