ich hab grad meine router-firmware dahingehend gepatcht, dass sie aus dem dhcp-paket rfc3442-konforme classless static routes parsed und diese dann als einen string per environment-variable an ein anzugebendes script uebergibt.
das aber nur zum drumherum. die variable sieht so aus:
stellt sich also in der form "zielnetz1/mask1 gateway1 zielnetz2/mask2 gateway2 ..." dar.
das ganze sollte dann zu befehlen dieser form verarbeitet werden:
in diesem fall ist mask1 == 32, daraus folgt der -host parameter. fuer alle anderen (kleineren) werte von mask ist der parameter -net
da ich von stringspielereien unter bash keinerlei ahnung hab, weiss ich nicht, wie ich da ansetzen sollte. gibts in bash arrays? regex matching? help?
das aber nur zum drumherum. die variable sieht so aus:
Code:
sroutes=193.158.137.14/32 87.155.159.254 87.140.255.0/25 87.155.159.254 87.141.128.0/17 87.155.159.254 193.158.34.0/23 87.155.159.254 194.25.134.197/32 87.155.159.254 217.6.164.40/31 87.155.159.254 217.6.164.48/29 87.155.159.254 217.6.164.42/32 87.155.159.254 217.6.164.45/32 87.155.159.254 217.6.164.46/31 87.155.159.254 217.6.167.128/26 87.155.159.254
das ganze sollte dann zu befehlen dieser form verarbeitet werden:
Code:
/sbin/route add -host zielnetz1/mask1 gw gateway1 dev vlan8
/sbin/route add -net zielnetz2/mask2 gw gateway2 dev vlan8
da ich von stringspielereien unter bash keinerlei ahnung hab, weiss ich nicht, wie ich da ansetzen sollte. gibts in bash arrays? regex matching? help?





):