使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint) [論壇 - Ubuntu 與工具程式及軟體推薦]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

(1) 2 »


使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員三級
註冊日期:
2012/9/24 22:40
所屬群組:
水桶中使用者
等級: 14
HP : 0 / 346
MP : 84 / 6739
EXP: 87
離線
1.用iw檢查無線網卡是否支援AP模式。
# iw list
Wiphy phy0
	Band 1:
		Capabilities: 0x116e
			HT20/HT40
			SM Power Save disabled
			RX HT20 SGI
			RX HT40 SGI
			RX STBC 1-stream
			Max AMSDU length: 7935 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: 8 usec (0x06)
		HT TX/RX MCS rate indexes supported: 0-15
		Frequencies:
			* 2412 MHz [1] (20.0 dBm)
			* 2417 MHz [2] (20.0 dBm)
			* 2422 MHz [3] (20.0 dBm)
			* 2427 MHz [4] (20.0 dBm)
			* 2432 MHz [5] (20.0 dBm)
			* 2437 MHz [6] (20.0 dBm)
			* 2442 MHz [7] (20.0 dBm)
			* 2447 MHz [8] (20.0 dBm)
			* 2452 MHz [9] (20.0 dBm)
			* 2457 MHz [10] (20.0 dBm)
			* 2462 MHz [11] (20.0 dBm)
			* 2467 MHz [12] (20.0 dBm)
			* 2472 MHz [13] (20.0 dBm)
			* 2484 MHz [14] (disabled)
		Bitrates (non-HT):
			* 1.0 Mbps
			* 2.0 Mbps (short preamble supported)
			* 5.5 Mbps (short preamble supported)
			* 11.0 Mbps (short preamble supported)
			* 6.0 Mbps
			* 9.0 Mbps
			* 12.0 Mbps
			* 18.0 Mbps
			* 24.0 Mbps
			* 36.0 Mbps
			* 48.0 Mbps
			* 54.0 Mbps
	max # scan SSIDs: 4
	Supported interface modes:
		 * IBSS
		 * managed
		 * AP
		 * AP/VLAN
		 * monitor
		 * Unknown mode (8)
		 * Unknown mode (9)
	Supported commands:
		 * new_interface
		 * set_interface
		 * new_key
		 * new_beacon
		 * new_station
		 * new_mpath
		 * set_mesh_params
		 * set_bss
		 * authenticate
		 * associate
		 * deauthenticate
		 * disassociate
		 * join_ibss
		 * Unknown command (68)
		 * Unknown command (55)
		 * Unknown command (57)
		 * Unknown command (59)
		 * Unknown command (67)
		 * set_wiphy_netns
		 * Unknown command (65)
		 * Unknown command (66)
		 * Unknown command (84)
		 * Unknown command (87)
		 * Unknown command (85)
		 * Unknown command (89)
		 * connect
		 * disconnect

如果「Supported interface modes」中有「AP」的話,那麼恭喜你,你的無線網卡可以架設虛擬AP。



2.安裝 wifi-hostapd-ap

新版的 ubuntu 或 linux-mint 只需打開終端機然後輸入:
# sudo apt-add-repository ppa:ekozincew/ppa
# sudo apt-get update && sudo apt-get install wifi-hostapd-ap

安裝完後在選單裡面 -> 網際網路 -> wifi-hostapd-ap

------如果是舊版 ubuntu 需下載原始碼編譯

安裝軟體依賴函式庫
# sudo apt-get install wireless-tools bridge-utils hostapd dnsmasq libqtgui4

安裝編譯需要qt4開發包
# sudo apt-get install qt4-dev-tools

修改hostapd的設定
# sudo gedit /etc/init.d/hostapd
將文件中 DAEMON_CONF 的值改成下面這樣:
DAEMON_CONF=/etc/hostapd/hostapd.conf
下載原始碼
# wget http://mirvo.ru:85/ldc/unzip/ARHIVALL2/ARHIV2/files/wifi-hostapd-ap/WiFi_Hostapd_AP_1.1.tar.gz
或網頁下載
[url]http://code.google.com/p/wifi-hostapd-ap/downloads/list[/url]

解壓縮
# tar xfzv WiFi_Hostapd_AP_1.1.tar.gz

進入目錄
# cd WiFi_Hostapd_AP

開始編譯
# qmake
# make

編譯完成後點兩下 WiFi_Hostapd_AP 或者執行:
# ./WiFi_Hostapd_AP
就可以啟動 WiFi_Hostapd_AP


3.設定 WiFi_Hostapd_AP

功能表 -> 選項 -> 設定進入設定介面



第一頁 Main

語言選擇英文(English)

[img]http://i152.photobucket.com/albums/s198/l2j2007/wifiap01.png[/IMG]

按下面中間Save按鈕儲存,按Exit退出。

重新啟動,介面變成英文。一樣功能表 -> 設定進入設定第二頁。
[img]http://i152.photobucket.com/albums/s198/l2j2007/wifiap02.png[/IMG]

第二頁 AP Settings

[img]http://i152.photobucket.com/albums/s198/l2j2007/wifiap03.png[/IMG]

SSID :設定你的 SSID 名稱

Country Code :選擇 US

Hide AP :不要打勾

Protection (no/WPA-PSK) : 選擇AP加密模式

password : 設定你的AP密碼

Type AP (b/g/n) 這裡設 n

具體參考 http://zh.wikipedia.org/wiki/IEEE_802.11

設定完後,按 Save。

第三頁 DNSMASQ Settings

[img]http://i152.photobucket.com/albums/s198/l2j2007/wifiap04.png[/IMG]

IP Range For Clients : 分配給用戶端的IP範圍。注意與AP的IP位址(在第二頁設定)要在同一個段內。

The interface to access the internet : 通過哪個介面上網。如果電腦是連在路由上直接上網的選 eth0,通過ADSL上網的選ppp0。

設定完後,按 Save。然後點 Exit 關閉設定介面。回到主介面,點 Activate 按鈕啟動。

[img]http://i152.photobucket.com/albums/s198/l2j2007/wifiap05.png[/IMG]

成功會字會變成綠色,提示成功:

[img]http://i152.photobucket.com/albums/s198/l2j2007/wifiap06.png[/IMG]


4.問題與排除

無法啟動或出現錯誤,或啟動完成但沒有綠色 Active 字樣。

1.沒有編輯 /etc/inut.d/hostapd 文件,請按前面的方式修改文件。

2.第二頁設定不正確、或驅動選擇不正確、或無線網卡沒選對、或其他地方錯誤。

3.密碼設定錯誤,嘗試取消密碼。

4.保證你的無線網卡是開啟的:
# ifconfig wlan0 up //如果出現了rfkill的錯誤
# rfkill list //查看你的無線裝置
# rfkill unblock 2 //將你對應的無線裝置解鎖如果你只有一個無線裝置的話,可以直接下面這樣...
# rfkill unblock all //將所有無線裝置都解鎖

5.sudohostapd -d 可以顯示錯誤訊息
在指令行下執行程式,也能看到錯誤資訊。
# sudo ./WiFi_Hostapd_AP
# hostapd /etc/hostapd/hostapd.conf //可以排除配置資訊是否有出錯

6.如果是說WEP的key配置檔中出錯
可以將 /etc/hostapd/hostapd.conf 中 wep_key0="12345678" //加上雙引號
具體 hostapd.conf 的格式,可以看這個範例。

啟動成功,但手機或行動裝置無法上網。

a. AP的id與用戶端分配IP不在同一段內。

b. 選擇連接上網的介面錯誤 (第三頁)

2013/5/8 14:15
應用擴展 工具箱
回覆: 使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員三級
註冊日期:
2008/11/10 13:45
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 232
MP : 42 / 7156
EXP: 31
離線
好文章,值得收藏!

2013/5/9 0:12
應用擴展 工具箱
回覆: 使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員一級
註冊日期:
2013/7/14 16:37
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 0
MP : 0 / 0
EXP: 0
離線
謝謝分享,已成功啟動wifi-hostapd-ap。
請問要讓wifi-hostapd-ap於開機時自動Activate,該如何設定?

2013/7/14 16:52
應用擴展 工具箱
回覆: 使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員二級
註冊日期:
2012/10/29 18:58
所屬群組:
已註冊使用者
等級: 4
HP : 0 / 96
MP : 12 / 1846
EXP: 85
離線
第一次使用曾成功啟動,但平板抓到網路卻無法連線
但重新啟動之後,卻一直啟動不成功

使用sudo hostapd -d 查看錯誤訊息,得到
hostapd v1.0
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2012, Jouni Malinen <j@w1.fi> and contributors

usage: hostapd [-hdBKtv] [-P <PID file>] [-e <entropy file>] <configuration file(s)>


請問「AP的IP要與用戶端分配IP在同一段」這是什麼意思?
我的AP IP是192.168.0 .1
用戶端是192.168.0 .2 ~ 192.168.0 .255
這樣算是在同一段內嗎?

2013/12/28 22:59
應用擴展 工具箱
回覆: 使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員二級
註冊日期:
2011/2/7 2:23
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 116
MP : 15 / 2827
EXP: 67
離線
使用HTC手機連上時,手機端一直出現"正在取得IP位置....已連線...."
請問有人碰上這個問題嗎?

2014/1/5 2:18
應用擴展 工具箱
回覆: 使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員一級
註冊日期:
2014/9/11 21:17
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 25
MP : 3 / 342
EXP: 0
離線
我使用lubantu 14.04版,機器是Acer 小筆電,想要將3G網卡wwan的訊號經由wifi分享出去。

但安裝了此款套件,都設定完成,點選Activate之後,出現working的視窗,然後就跳掉了....

不知道怎麼回事.....

不知道有沒有大大可以幫我解答一下呢?或是是否有更新的套件可以推薦我使用?

2014/9/15 8:39
應用擴展 工具箱
回覆: 使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員二級
註冊日期:
2011/10/7 0:22
所屬群組:
已註冊使用者
等級: 7
HP : 0 / 157
MP : 23 / 3494
EXP: 28
離線
曾經,幫朋友在Mint Linux成功把3G的網路分享給內部wifi,主要參考的網頁:

使用 notebook 上的無線網卡來當無線 AP - debian wheezy 篇

Using Hostapd with dnsmasq to create Virtual Wifi Access Point in Linux

Debian / Ubuntu Linux: Setup Wireless Access Point (WAP) with Hostapd

基本上,照著【使用 notebook 上的無線網卡來當無線 AP - debian wheezy 篇】可以完成大部分的設定,當初我面臨的問題是設定hostapd.conf時,其中一個項目須照外國網頁提及的內容設定:

Set driver name:
driver=nl80211


額外附上當初幫朋友修改網路上的啟動腳本:


#!/bin/bash
#Initial wifi interface configuration
ifconfig $1 10.0.0.1/24 up
if [ $? -ne 0 ]; then
        zenity --info --text="無線網路好像沒啟用,麻煩請檢查一下。"
        exit 1
fi
sleep 2
###########Start DHCP, comment out / add relevant section##########
#Thanks to Panji
#Doesn't try to run dhcpd when already running
ToBeorNottoBe=$(pgrep dhcpd)
if [ "$ToBeorNottoBe" != "" ]; then
        kill $ToBeorNottoBe
        sleep 2
fi
dhcpd $1 &
###########
#Enable NAT
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface $2 -j MASQUERADE
iptables --append FORWARD --in-interface $1 -j ACCEPT

#Thanks to lorenzo
#Uncomment the line below if facing problems while sharing PPPoE, see lorenzo's comment for more details
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

sysctl -w net.ipv4.ip_forward=1
#start hostapd
ToBeorNottoBe=$(pgrep hostapd)
if [ "$ToBeorNottoBe" != "" ]; then
        kill $ToBeorNottoBe
        sleep 2
fi
hostapd /etc/hostapd/hostapd.conf 1>/dev/null
killall dhcpd




腳本中的zenity是要額外安裝的軟體,主要功用是提供圖形界面的訊息。

啟動時,須在終端機執行:

./腳本名.sh 內部網路代號 外部網路代號


例:

./腳本名.sh wlan0 ppp0

2014/9/15 16:19
應用擴展 工具箱
回覆: 使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員一級
註冊日期:
2014/9/11 21:17
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 25
MP : 3 / 342
EXP: 0
離線
感謝大大提供,我稍後會在嘗試看看...

不過現在又發現一個問題,就是我把wifi-hostapd-ap移除之後,結果wifi的硬體開關似乎就失效了,沒辦法開關wifi,重開機就會變成hard block的狀態...

要重開機好幾次才可能有解開...不知道是不是什麼設定出錯了,可以直接改回來嘛?

不然就得整個系統重裝才行,不過很麻煩....

2014/9/15 20:49
應用擴展 工具箱
回覆: 使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員二級
註冊日期:
2011/10/7 0:22
所屬群組:
已註冊使用者
等級: 7
HP : 0 / 157
MP : 23 / 3494
EXP: 28
離線
或許可以試試看討論串第一篇提及的方法:

4.保證你的無線網卡是開啟的:
# ifconfig wlan0 up //如果出現了rfkill的錯誤
# rfkill list //查看你的無線裝置
# rfkill unblock 2 //將你對應的無線裝置解鎖如果你只有一個無線裝置的話,可以直接下面這樣...
# rfkill unblock all //將所有無線裝置都解鎖

2014/9/16 18:47
應用擴展 工具箱
回覆: 使用無線網卡架設虛擬AP讓Android手機共享上網 (Ubuntu/Linux-Mint)
會員一級
註冊日期:
2014/9/11 21:17
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 25
MP : 3 / 342
EXP: 0
離線
有試過了,不過那似乎只能解soft block而已....不過我現在已經重灌解決了


另外,大大推薦的套件設定比較繁雜一點,我有找到另外一套叫AP-Hotspot:http://www.webupd8.org/2013/06/how-to-set-up-wireless-hotspot-access.html

雖然底層仍用hostapd,不過安裝和設定都簡單很多,一個指令就可以啟動和停止,比較方便!

目前開心使用中,感謝大大了!

2014/9/17 16:06
應用擴展 工具箱

(1) 2 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.