У меня есть Малина Пи, бегущая Рапбейским Виззи. /etc/network/interfaces
настроен так, что Pi статический ip при запуске. Однако, когда соединение прекращается, Pi не будет восстанавливать соединение автоматически. У меня есть сценарий, который перезапускает wlan0. Тем не менее, у малины Pi есть другой адрес ip, чем статический ip, предоставленный ему. Это нарушает перенаправление портов, которое я сделал для доступа к Pi извне сети.Как перезапустить wlan0 с помощью статического ip вместо динамического ip?
Похоже, что мои интерфейсы не настроены совершенно правильно. Доступ к Pi можно получить из двух IP-адресов в сети, один из которых - это статический адрес, который я определил, а другой - нет. Когда wlan0 перезапускается, динамический IP-адрес присваивается Pi, но не статическому адресу.
Вот мой /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.11
netmask 255.255.255.0
gateway 192.168.1.1
wpa-ssid "ROUTER NAME"
wpa-psk "PASSWORD"
auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Вот скрипт я использую, чтобы сбросить wlan0:
#!/bin/bash
SERVER=192.168.1.1 #Ping the router
ping -c2 ${SERVER} > /dev/null
#If the exits status from the ping is not 0 (failed)
if [$? != 0]
then
#Disable wlan0 and re-enable it
sleep 2
ifconfig wlan0 down
sleep 2
ifconfig wlan0 up
fi
Любая помощь приветствуется! Благодаря!
Edit: Осмотрев идеи нашли в этой теме, я нашел /etc/init.d/networking restart
делает все, что я need.So новый сценарий
#!/bin/bash
SERVER=192.168.1.1
ping -c2 ${SERVER} > /dev/null
if [ $?!=0 ]
then
/etc/init.d/networking restart
echo "Reconnecting!"
fi
Замените 'ifconfig wlan0 down' в вашем скрипте с' ifdown wlan0' и 'ifconfig wlan0 up' с' ifup wlan0'. –
Я пробовал это. Pi отключится, как ожидание, но не будет повторно подключаться. Он отсоединяет и повторно соединяет процесс, как он выше. Единственная проблема заключается в том, что IP-адрес после повторного подключения не является статическим адресом (192.168.1.11). Когда я использую 'ifup wlan0', Pi не будет повторно подключаться, и у меня нет сообщений об ошибках, поскольку я работаю над ним через SSh. Спасибо за предложение. – NateTheGreat
Что вы видите в '/ var/log/messages' после неудачного' ifup'? По-прежнему остается загадкой, как ваш интерфейс получает разные IP-адреса, чем тот, который настроен ... 'ifconfig' просто сводит ваш интерфейс вниз и вверх, не выполняя никаких инструкций в'/etc/network/interfaces', поэтому ваш wlan0 сохраняет всю информацию ip, которую она имела перед спуском. 'ifdown/ifup' скрипты - это путь, если вы хотите настроить свой интерфейс, помимо его поднятия. Проверьте журналы. –