Shell script - Ping address range then assign a down address to interface

У нас есть необходимость назначения IP-адресов малиновым пи. Я хочу автоматизировать это с помощью скрипта, который может запускаться при входе в систему. Сценарий будет пинг диапазоне IP-адресов и первый IP-адрес, который не удается, статически назначить интерфейс устройства, что IP-адрес.

Кто-нибудь знает, как это будет выглядеть или, если это возможно?

2
задан 7 October 2020 в 19:37

2 ответа

Я могу предоставить кое-что полезное, надеюсь:

Код взят (и, изменен ) из:

эхо-запрос нескольких IP-адресов с помощью bash?

#!/bin/bash
# Program name: pingall.sh
date
#/cat /path/tolist.txt |  while read output
cat list.txt | while read output

do
    ping -c 1 "$output" > /dev/null
    if [ $? -eq 0 ]; then

    # a try to assign ip adress:
    sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0

    echo "node $output is up"
    else

    echo "node $output is down"
    fi
done

попытка для назначения IP-адреса:

sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0

Изменить: строка ifconfig (...) предназначена для замены найденным автономным IP-адресом по выбору.

Полужирный текст Это то, что я модифицировал, и пока это, вероятно, не будет работать из коробки; Надеюсь, это может дать некоторое представление о том, как бы вы поступили; Поскольку я не эксперт в bash, я просто надеюсь, что это будет полезно. (Думаю, лучше, чем ничего?)

Если это так или если кто-нибудь найдет что-нибудь такое, то безумие. Совершенно неправильно. Или совершенно неправильно. Пожалуйста, отметьте, что

0
ответ дан 4 January 2021 в 08:20

Вместо проверки связи для IP-адреса вы можете использовать часть вашего MAC-адреса в качестве уникального IP-адреса.

#!/bin/bash

dev=eth0
read -r iface ifstatus mac _ < <( \
    ip -o -br link show $dev) || exit 1

mapfile -td : -s 3 <<< $mac     
printf -v ip '10.%d.%d.%d' ${MAPFILE[@]/#/0x}

echo $ip

#ip addr add $ip/8 broadcast + dev $dev
#ip link set $dev up
#ip route add default via 10.0.0.1 dev $dev
0
ответ дан 4 January 2021 в 08:20

Другие вопросы по тегам:

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