Установка сети для двух мест с различными статическими IP-адресами сценарием

У меня есть Raspberry Pi 2, и я хотел бы использовать его дома и на работе. Дома это могло получить адрес DHCP или статический адрес 192.168.2.x, но на работе это должно получить статический IP-адрес 10.10.34.122.

Я знаю, как присвоить статический IP-адрес вручную путем редактирования /etc/network/interfaces но после того как я делаю это, я не могу больше достигать устройства, если я нахожусь в другой сети, таким образом, этому нужно автоматическое обнаружение.

Моя идея состояла в том, чтобы создать два файла (/etc/network/home.if и /etc/network/work.if) и скопируйте их по мере необходимости. Я запустил бы с этих 192 адресов и попытки проверить с помощью ping-запросов мой маршрутизатор DSL. Если это отвечает, это должно использовать home.if, в противном случае используйте work.if.

До сих пор я думаю, что этот сценарий должен достигнуть того, что я хочу:

#!/bin/bash
# Start with my home setting
cp /etc/network/home.if /etc/network/interfaces
sudo /etc/init.d/networking restart

# If I can ping my router, I'm at home
ping=$(ping 192.168.2.1 -c 1)
#echo $ping
if [[ "$ping" =~ "1 received" ]]; then
        echo "home"
        cp /etc/network/home.if /etc/network/interfaces
else
        echo "work"
        cp /etc/network/work.if /etc/network/interfaces
fi

# Apply the detected settings
sudo /etc/init.d/networking restart

Куда я должен поместить этот сценарий, что он выполняется в корректном месте во время последовательности запуска?

1
задан 29 June 2015 в 14:33

1 ответ

Можно назвать его из файла/etc/rc.local. Можно или добавить строки к тому файлу или назвать сценарий там. Независимо от того, что Вы выбираете, необходимо добавить, что это выше строки 'выходит 0'.

BTW: Я предлагаю, чтобы Вы добавили команду ожидания после первого сетевого перезапуска, потому что может потребоваться несколько секунд для сети для запуска. Если ping прибывает в ранний, можно получить неправильный результат.

1
ответ дан 11 November 2019 в 02:14

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

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