2007年2月9日

FON bridge mode GoGoGo(簡易&細節詳細說明)

原文po在Taiwan FON社群,直接轉啦~~

因為有回覆說看不大懂,因此另外發個簡易說明的版本。

首先回應幾個回覆時問的:
1.
它並沒有修改任何的Firmware,而且,直接給Firmware看似簡單,但其實更危險,一個不小心就是車毀人亡。
如果是直接把Firmware刷掉的話,能做的事情,就不僅僅只是bridge了,可以直接裝一些人家編譯好的套件,像是ftp、nfs、samba....等,我個人是對BT和eMule比較有興趣的,不過還沒有仔細查有沒有人有放。

2.
我個人是覺得,傳輸效率應該沒有差別的,因為硬體相同,也沒有額外加上參數,因此我不認為傳輸效率會有差別。

3.
我目前對FON的wpa設定還有FON的FON_AP(開放的那個連線)的設定並不熟悉,因此目前提供的檔案,並沒有支援wpa設定,FON_AP雖然看得到,但是並不能使用。
如果您是一個「極度有善心」,或者您覺得「沒有wpa認證,這樣的無線網路安全性不夠」,完全不能接受的話,請先不要用。

下面,我就把一堆廢話拿掉,僅把修改加入bridge mode的部份寫出來:

1.
先把FON的SSH功能打開。
為了簡化說明,作法就不詳述了,earlreco大大有po了,網路上用La Fonera和ssh來搜尋,也可以找到一堆

2.
登入FON,並執行下面指令來編輯script檔案。
vi /tmp/test.sh

3.
將script內容寫入(可以用貼的,或自己用手打)後存檔離開。
先按i或a,讓vi進入(變成)編輯模式
貼上(key入)下列內容(「=」請自動略過,「xxx」請自己改成自己要的wep key)
===================================================
#!/bin/ash
echo "Setting up LAN bridge"
# 將 DHCP server 和 DHCP client 停止
/usr/bin/killall dnsmasq
/usr/bin/killall -9 udhcpc

# 建立 bridge interface
/usr/sbin/brctl addbr br0
/usr/sbin/brctl stp br0 off
/usr/sbin/brctl setfd br0 0

# 將 eth0 和 ath1(有線 / 無線) 設定清除
/sbin/ifconfig eth0:1 down
/sbin/ifconfig eth0 0.0.0.0
/sbin/ifconfig ath1 0.0.0.0

# 啟動 bridge interface
/sbin/ifconfig br0 up

# 將 eth0 和 ath1(有線 / 無線) 加入到 bridge interface
/usr/sbin/brctl addif br0 ath1
/usr/sbin/brctl addif br0 eth0

# 設定 bridge interface 的 IP(udhcpc為DHCP / ifconfig為手動)
/sbin/udhcpc -i br0 -R # get new IP via dhcp
#/sbin/ifconfig br0 192.168.0.103 # static IP

# 設定防火牆, 允許 bridge interface 的 Input / Output
iptables -A INPUT -i br0 -j ACCEPT
iptables -A OUTPUT -o br0 -j ACCEPT

# add bridge to hostapd.conf and restart hostapd (allows to use WPA)
# 原指令為執行 hostapd 來啟動 ath1 的 AP
# 改為直接用 iwconfig 來啟動
# 因為 hostapd 不熟不清楚設定,hostapd 能支援 wpa...等認證
[ `grep -c bridge=br0 /tmp/hostapd.conf` = "0" ] && echo bridge=br0 >> /tmp/hostapd.conf
/usr/bin/killall killall hostapd
#/usr/sbin/hostapd -B /tmp/hostapd.conf
/usr/sbin/iwconfig ath1 essid HOME mode Master key xxxxxxxxxxxxxxxxxxxxxxxxxx(麻煩請自己取,共26位)

# restart public SSID (doesn't work!)
# 重新啟用 FON 的開放連線, 不確定能否使用, 看起來是不能
/sbin/ifdown hotspot
/sbin/ifup hotspot
===================================================

4.存檔離開並修改權限並執行看看
先按幾下「ESC」鍵,然後按「Shift+:」切換vi成指令模式
輸入「wq」存檔離開
chmod 755 /tmp/test.sh
/tmp/test.sh

5.用無線網路連看看(連HOME),然後自行判斷是否是bridge模式。
判斷方式,
如果你的FON是接在IP分享器上面,應該會拿到一個IP分享器的IP。
如果你的FON是接在ADSL上面,應該會拿到一個真實IP。
如果你的FON是接在區域網路,需要自己設IP,將會發現FON不會分配任何IP(出現這是有限能力的網路)。

6.確定已經成為bridge模式了,執行下面指令讓FON開機時能自動執行。
mv /tmp/test.sh /etc/init.d/N15bridge

7.重新開機,確定它已經能開機自動動作。
reboot

沒有留言: