По умолчанию файл /etc/rc.local
интерпретируется sh
(первая строка этого файла гласит #! / Bin / sh -e
). Вы использовали цикл в стиле C для
, который работает только в bash
. Я считаю, что это основная причина.
Либо замените первую строку /etc/rc.local
на #! / Bin / bash -e
, либо перепишите цикл в sh-совместимой манере:
counter=0
while [ "$counter" -lt 91 ]
do
port=$((10010+counter))
address=$((10+counter))
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport "$port" -j DNAT --to 192.168.1."$address":"$vncport"
iptables -A FORWARD -p tcp -d 192.168.1."$address" --dport "$port" -j ACCEPT
counter=$((1+counter))
done