Ubuntu

配置guessnet在LAN和WLAN之間自動切換

  • April 6, 2019

我想進行配置guessnetwpa_supplicant如果我插入我的 LAN 電纜,它會通過電纜連接到網路,如果我拔掉它,它會自動切換到 WLAN,反之亦然。我設法讓它工作,但是如果我拔掉電纜,連接到 WLAN 網路需要 10 到 20 秒,這非常慢。相比之下,如果我插入電纜,只需一秒鐘即可斷開與 WLAN 的連接並連接到 LAN。

有什麼方法可以得到更好的配置,從而更快地切換到 WLAN?

順便說一句,當我嘗試新設置時,我經常不得不重新啟動,這很煩人,一個簡單service networking restart的還不夠——也許這與我的配置有關。

我的系統是 Ubuntu 13.10。這是我的配置文件:

/etc/network/interfaces

auto lo
iface lo inet loopback

#use guessnett
mapping eth0
       script /usr/sbin/guessnet-ifupdown
       #map timeout: 3
       map default: unknown


iface home inet static
     address 192.168.1.80
     netmask 255.255.255.0
     gateway 192.168.1.1
     dns-nameservers 192.168.1.1
     test1 peer address 192.168.1.1


iface no-net inet manual
     test2  missing-cable

iface unknown inet dhcp

iface wlanWork inet dhcp

auto wlan0
iface wlan0 inet manual
      wpa-roam  /etc/wpa_supplicant/wpa_supplicant.conf

這是我的/etc/wpa/supplicant.conf

ctrl_interface=/var/run/wpa_supplicant

eapol_version=1

ap_scan=1

network={
   ssid="mywlan"
   scan_ssid=1
   psk="1234"
   proto=RSN
   key_mgmt=WPA-PSK
   pairwise=CCMP
   group=CCMP
   id_str="home" ## specified in /etc/network/interfaces
}


network={
   ssid="wlanWork"
   scan_ssid=1
   psk="1234"
   proto=RSN
   key_mgmt=WPA-PSK
   pairwise=CCMP
   group=CCMP
   id_str="wlanWork" ## specified in /etc/network/interfaces
}

最後這是/etc/default/ifplugddpkg-reconfigure ifplugd

INTERFACES="eth0"
HOTPLUG_INTERFACES=""
ARGS="-q -f -u0 -d10 -w -I"
SUSPEND_ACTION="stop"

編輯我注意到此設置存在一些無法重現的有線問題。一次 WLAN 工作,但 LAN 沒有正確的路由/網關。通過手動設置網關route add default gw 192.168.1.1並重新啟動後,它再次工作。第二次重新啟動後,儘管我得到了正確的 IP(甚至ping 192.168.1.1沒有工作),但沒有任何效果。然後我不得不sudo dhclient再次獲得有效的網際網路連接……

嘗試查看路線指標。您應該能夠通過在路由表中插入兩個具有不同指標的預設路由來對此進行排序。度量標準用於確定路由的成本,具有較低成本的路由被認為更好,並將被選擇而不是其他成本較高的路徑。

如果您希望您的 LAN 介面成為您的主要路由,您可以為其分配比 WLAN 更低的度量。這樣,您將始終執行 WLAN,但除非 LAN 介面不可用,否則不會使用。

您可以使用 iproute2 來實現這一點。iproute2

您的命令看起來類似於:

ip ro add 0.0.0.0 0.0.0.0 via 192.168.1.1 dev eth0 metric 1
ip ro add 0.0.0.0 0.0.0.0 via 192.168.2.1 dev wlan metric 50

不要忘記刪除您預先安裝的預設路由。

引用自:https://unix.stackexchange.com/questions/116388