Как сбросить сетевой адаптер с помощью команды терминала?
Что ж, когда я выключаю маршрутизатор, а затем снова включаю его во время работы Ubuntu, он не получает IP-адрес автоматически:
Я нажимаю на отключить, но он остается, как указано выше.
Это работает, только если я выйду из системы и переключусь на другой сеанс, а затем вернусь к сеансу по умолчанию.
Итак, как мне сбросить сетевой адаптер с помощью команды терминала или каких-либо других предложений?
Изменить: я пытался использовать sudo dhclient
, но это не сработало.
4 ответа
Если вы действительно хотите сбросить сетевой адаптер, вам обычно нужно выгрузить и перезагрузить модуль ядра, который он использует.
Если вы просто хотите перенастроить его, вы обычно можете сделать:
sudo /etc/init.d/network-manager restart
Но если вы просто хотите получить новую аренду dhcp (это техническое имя для получения нового IP-адреса от маршрутизатора), вам просто нужно использовать:
sudo dhclient -v eth1
Это звучит как проблема сетевого менеджера для меня.
Я бы попробовал следующее: (в терминале гномов)
- "Softblock" вашего беспроводного устройства с
rfkill block wifi
rfkill list
покажет вам, если вы были успешны.killall nm-applet
Вы убиваете процесс сетевого администратора (значок панели исчезнет).rfkill unblock wifi
Включите Wi-Fi снова.nm-applet
Загрузите новый сеанс сетевого менеджера.
Может быть, просто убить / загрузить nm-applet. Также обратите внимание, что вам не нужно использовать sudo для этого.
Я знаю, что некоторые маршрутизаторы и устройства Wi-Fi не очень хорошо "любят" друг друга. Это часто проблема как-то "бета" Wi-Fi Linux-драйвера...
nmcli radio wifi off
nmcli radio wifi on
работает для меня:-)
Я написал сценарий, чтобы попробовать различные методы для сброса Wi-Fi, когда он разорвал соединение или по другим причинам не отвечает (он вызывается каждые 2 минуты в cron):
#!/bin/sh
# program to check wifi and reset if not running
IPTEST=192.168.1.1
iwconfig=/sbin/iwconfig
rfkill=/usr/sbin/rfkill
DEVICE=`$iwconfig | egrep 802 | awk ' {print $1}'`
if ping -c 1 $IPTEST >/dev/null 2>&1 ; then
#echo $IPTEST ok
exit 0
else
# Failed, try to reset wifi - sometimes works ok
(
date
echo "Apagando wifi...."
nmcli nm wifi off
sleep 3
echo Iniciando wifi....
nmcli nm wifi on
sleep 10
if ping -c 1 $IPTEST >/dev/null 2>&1 ; then
#echo $IPTEST ok
exit 0
else
# try another way
echo "Apagando wifi $iwconfig ...."
$iwconfig
$iwconfig $DEVICE txpower off
sleep 3
echo Iniciando wifi....
$iwconfig $DEVICE txpower auto
fi
sleep 10
if ping -c 1 $IPTEST >/dev/null 2>&1 ; then
#echo $IPTEST ok
exit 0
else
# try another way
echo "Apagando wifi $rfkill ...."
$rfkill list
$rfkill block wifi
sleep 3
echo Iniciando wifi....
$rfkill unblock wifi
fi
#echo Cerrar esta ventana cuando sale el estado
#sleep 3
#iftop -i $DEVICE
) >> $HOME/wificheck.log 2>&1
fi
exit 0