Оказывается, что iptables слишком плохо обрабатывает ведущие нули. Поскольку $machinenumber
, который используется, должен иметь перед ним ноль в других целях, идея состоит в простом создании новой переменной ($nozero
) на основе $machinenumber
, где ведущие нули удаляются.
$machinenumber
- это двузначное число между 01 и 24. В настоящее время он 09
$machinetype
сейчас 74, и до сих пор не было никаких проблем.
Что я до сих пор:
nozero = (echo $machinenumber | sed 's/^0*//')
iptables -t nat -I POSTROUTING -s 10.($machinetype).($nozero).0/24 -j MASQUERADE
Пока я верю, что я на правильном пути, код приводит к:
ERROR - Unknown string operation