配置guessnet在LAN和WLAN之間自動切換
我想進行配置
guessnet
,wpa_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/ifplugd
由dpkg-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
不要忘記刪除您預先安裝的預設路由。