Во всех примерах я предполагаю, что файл состоит из одного IP-адреса на строку.
1. завиток и магия
Вы можете достичь своей цели с помощьюcurl(1)
и некоторой магии вокруг
curl -d "{\"data\": [\"UpTimeSinceLastReboot\"]}" \
-H "Content-Type: application/json" \
-k \
-u USERNAME:PASSWORD \
-w ",%{remote_ip}\t" \
<(sed 's#^#https://#;s#$#/api/v1/mgmt/config/get#' /path/to/file) \
| tr -ds '\n\t' '\t\n'
Я разделил команду на несколько строк для лучшего понимания:
,REMOTE_IP
используется позже в tr для создания желаемого формата tr(1)
удаляет возможную новую строку в конце ответа и создает новую строку в конце (это нехорошо, но должно работать ). Примечание :В этом примере результат
RESPONSE,IP
…
2. на петлю
for ip in $(cat /path/to/file)
do
echo -ne "$ip\t"
curl -d "{\"data\": [\"UpTimeSinceLastReboot\"]}" -H "Content-Type: application/json" -k https://USERNAME:PASSWORD@$ip/api/v1/mgmt/config/get
done
результат:
IP,RESPONSE
…
3. цикл while
цикл while
while read ip
do
echo -ne "$ip\t"
curl -d "{\"data\": [\"UpTimeSinceLastReboot\"]}" -H "Content-Type: application/json" -k https://USERNAME:PASSWORD@$ip/api/v1/mgmt/config/get
done < /path/to/file
результат:
IP,RESPONSE
…
Вы по-прежнему можете использовать iptables в Debian 10 и 11. Конфигурация по умолчанию в новых развертываниях 11 (, также известных как яблочко ), iptables не устанавливается, но его можно легко добавить.
По умолчанию утилиты iptables (iptables, iptables -save, ebtables и т. д. )фактически настраивают фильтр nftables (и создают правила nftables ). Таким образом, iptables на самом деле является ссылкой на iptables -nft.
Пакеты netfilter -Permanent и iptables по-прежнему доступны, предоставляя как iptables -nft, так и iptables -legacy, см.:
# apt info iptables
Если вы используете iptables -nft, вы можете просто загрузить правила iptables и перечислить их с помощью.
# nft list ruleset
Обратите внимание, -если вы измените конфигурацию с помощью nftables, изменения не будут доступны для чтения iptables, поэтому вы не сможете двигаться вперед и назад.
Вы выбрали правильный подход, не полагаясь на автоматическое преобразование и потратив время на изучение нового сетевого фильтра. После того, как вы привыкнете к новому синтаксису, вы сможете создавать более простые в управлении и эксплуатации конфигурации.