tun0 + iptables правило

Похоже, что Ваш синтаксис массива прочь просто немного. Кроме того, нет никакой потребности в индексной переменной; можно использовать += оператор для добавления к массиву.

#!/bin/bash

FILENAME=$1

rutaServ=()
while read LINE
do
rutaserv+=($LINE)
echo "ruta -> $LINE"
done < "$FILENAME"

bash v4 имеет новую команду, mapfile (или readarray) считать содержание файла в массив внезапно:

mapfile rutaServ < "$FILENAME"

К доступу оценивает от массива:

for x in "${rutaserv[@]}"; do
    echo "$x"
done
4
13.04.2011, 02:46
3 ответа
[1129038] Из [1129628] здесь [1129629]: [1129630] Для соответствия всех интерфейсов типа используйте знак плюс, например, eth+[1129631].[12192] И да, здесь знак "[1129632]+[1129633]" означает так же, как и "[1129634]*[1129635]" при совпадении по образцу или "[1129636]". *[1129637]" в регэкспо.[12193] Это правило ложное, [1129638]+[1129639] не нужно, хотя оно даже не вредит (потому что туннель с названием [1129640]tun01[1129641] или [1129642]tun05[1129643] очень маловероятен). Разработчик этого скрипта хотел написать, вероятно, только [1129644]tun+[1129645].[1129043].
3
27.01.2020, 20:54

На самом деле это работает для всех блоков ip в этом интерфейсе. Это означает, что если у вас есть tun0 , tun0: 0 и tun0: 1 , и вам нужно управлять всем, вы, вероятно, захотите написать tun0 + там.

2
27.01.2020, 20:54

Использование «tun+» вместо «tun0» имеет смысл, если вы запускаете, например, несколько экземпляров OpenVPN на одном сервере. Несколько экземпляров создадут несколько устройств с именами tun0, tun1, tun2 и т. д., и весь их трафик должен проходить через брандмауэр (и должным образом перенаправляться ).

0
27.01.2020, 20:54

Теги

Похожие вопросы