[Eisfair] DHCP Server; Frage zu Default Gateway bei mehreren Netzwerkkarten

Marcus Roeckrath marcus.roeckrath at gmx.de
Do Jun 28 09:09:45 CEST 2018


Hallo Kay,

Kay Martinen wrote:

>> Wenn das route-Kommando keine DefaultRouten, erkennbar an 0.0.0.0 zu
>> Beginn einer Ausgabezeile des route-Kommandos, liefert, wird das
>> DefaultGateway aus der Base-Konfiguration genommen.
> 
> Meintest du eventuell netz-routen statt defaultrouten?

Es geht um folgenden Code aus /var/install/config.d/dhcpd.sh:

# determine gateways from default routes
defaultRoutes="$(/sbin/route -A inet -n | grep '^0.0.0.0')"

_oldIFS="$IFS"
#        IFS=$'\n'
IFS=$(printf '\n')

DHCPD_TEMP_IPV4_GATEWAY_N=0
for currentRoute in $defaultRoutes
do
  IFS="$_oldIFS"
  set $currentRoute

  DHCPD_TEMP_IPV4_GATEWAY_N=$(/usr/bin/expr $DHCPD_TEMP_IPV4_GATEWAY_N + 1)
  eval 'DHCPD_TEMP_IPV4_GATEWAY_'$DHCPD_TEMP_IPV4_GATEWAY_N='"$2"'
  dhcpdTrace "(route) found gateway: $2"
done

IFS="$_oldIFS"

# no default routes, use gateway from base config
if [ "$DHCPD_TEMP_IPV4_GATEWAY_N" -eq "0" ]
then
 for idx in $(seq $IP_NET_N)
 do
  eval gateway='$IP_NET_'$idx'_GATEWAY'

  if [ -n "$gateway" ]
  then
   DHCPD_TEMP_IPV4_GATEWAY_N=$(/usr/bin/expr $DHCPD_TEMP_IPV4_GATEWAY_N + 1)
   eval 'DHCPD_TEMP_IPV4_GATEWAY_'$DHCPD_TEMP_IPV4_GATEWAY_N='"$gateway"'
   dhcpdTrace "(base) found gateway: $gateway"
  fi
 done
fi

> Oder Zweite Spalte, statt der ersten?

Aus der Ausgabe des route-Befehls werden nur die Zeilen mit 0.0.0.0 am
Zeilenanfang ausgewertet.

> Beispiel von einem host mit vier interfaces:
> 
>>  route -n
>> Kernel-IP-Routentabelle
>> Ziel            Router          Genmask         Flags Metric Ref    Use
>> Iface
>> 0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0
>> eth0

Der Code greift sich nur diese Zeile.

> Ich sehe da genau EIN Default-gateway, aber vier netzrouten.

Rufst du route ohne -n aus, bekommst du am Zeilenbeginn default statt
0.0.0.0.

Ich habe mich mit solchen Dingen allerdings auch bislang zu wenig intesov
beschäftigt, dass ich da nichts wirklich erhellendes beitragen kann.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair