如何使用终端命令重置网络适配器?


19

好吧,当我关闭路由器,然后在运行Ubuntu时再次将其打开时,它不会自动获得IP地址:

在此处输入图片说明

我单击断开,但是它仍然如上。

仅当我注销并切换到另一个会话,然后返回默认会话时,它才起作用。

那么,如何使用终端命令或其他建议重置网络适配器?

编辑:我尝试使用sudo dhclient,但是没有用。


您是否尝试过通过nm禁用/启用整个无线网络?(不过,不记得11.04是否具有此功能)。
enzotib

网络管理员?它曾经允许您在单击其图标的菜单中禁用“联网”或“无线联网”。
enzotib 2011年

是的,我明白了,您是要取消网络管理员的“启用无线”功能?
Binarylife

是的,我的意思是
enzotib 2011年

是的,它也不起作用。
Binarylife

Answers:


16

如果您确实想重置网络适配器,通常需要卸载并重新加载它使用的内核模块。

如果只想重新配置它,通常可以这样做:

sudo /etc/init.d/network-manager restart

但是,如果您只想要新的dhcp租约(这是从路由器获取新IP的技术名称),则只需使用:

sudo dhclient -v eth1

那么sudo dhclient将获得一个新的IP地址吗?
Binarylife

@Binarylife是的,那应该为您获得一个新的IP地址。如果没有,则路由器的DHCP可能有问题,而不是您的wifi卡有问题。
托马斯·沃德

@邪恶的凤凰:好的,当我再次遇到问题时,我会尝试的,谢谢。
Binarylife

如果它不起作用,它将输出的消息对于调试很有用。
哈维尔·里维拉

2
恕我直言,此答案将不起作用,因为上述两个命令均指/ etc / network / interfaces中列出的设备。在正常的Ubuntu安装中,仅列出“回送”。
minimec 2011年

8

在我看来,这听起来像是网络经理的问题。

我会尝试以下操作:(在gnome终端中)

  1. 通过以下方式“软封锁”您的无线设备 rfkill block wifi
  2. rfkill list 会告诉您您是否成功。
  3. killall nm-applet 您杀死了网络管理器进程(面板图标将消失)。
  4. rfkill unblock wifi 再次启用wifi。
  5. nm-applet 加载新的网络管理器会话。

也许只需杀死/加载nm-applet即可。另请注意,您无需为此使用“ sudo”。

我确实知道某些路由器和wifi设备彼此之间不太“喜欢”。这通常是某种程度上“ beta” wifi linux-driver的问题...


感谢您的回答,我也会尝试。顺便说一句,我正在使用Siemens ADSL sl2-141路由器。
Binarylife

1

我编写了一个脚本尝试各种方法,以在断开连接或无响应时重置wifi(在cron中每2分钟调用一次):

  #!/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

都; rfkillnmcli帮助了我。
声音

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.