OpenWRT路由功能設置技巧
OpenWRT路由功能設置技巧
訪問網(wǎng)絡的需求現(xiàn)在越來越多,本文介紹的方法可以使一個普通的路由具備穩(wěn)定連接 的能力,并能夠根據(jù)目標訪問網(wǎng)站選擇國內外線路,從而得到一個既沒有限制。下面是學習啦小編收集整理的OpenWRT路由功能設置技巧,希望對大家有幫助~~
OpenWRT路由功能設置技巧
工具/原料
一個支持OpenWRT的二手路由器
下載最新的stable版本12.09的OpenWRT版本,我下載的是trunk版本。
方法/步驟
1.刷 ROM
a.首先確定你的設備可以被 OpenWRT所支持,然后下載編譯好的ROM
b.在 OpenWRT 官網(wǎng)找相應設備的 Wiki 頁面查看刷機方法,一般都是在路由器官方Web固件升級頁面直接刷入
2.初始配置
a.路由器啟動后,有的型號沒有安裝 Wifi 模塊,需要先用網(wǎng)線連接到 LAN 口,本機 IP 配置為靜態(tài) 192.168.1.x,然后 telnet 到 192.168.1.1,更改 root 密碼,然后 ssh 連入
b.配置 WAN 口,讓路由連上 Internet
比如要配置 PPPoE:
uci set network.wan.proto=pppoeuci set network.wan.username='yougotthisfromyour@isp.su'uci set network.wan.password='yourpassword'uci commit networkifup wan
c.安裝 LuCI Web 管理界面并設置開機自動啟動
d.瀏覽器輸入路由器 LAN 側 IP(多為192.168.1.1),進行 Wifi 等配置:
3.配置 DNS
a.創(chuàng)建 /etc/config/sec_resolv.conf
vim /etc/config/sec_resolv.conf
填入以下 DNS Servers:
nameserver 8.8.8.8nameserver 8.8.4.4nameserver 208.67.222.222
b.編輯 /etc/config/dhcp
vim /etc/config/dhcp
找到 option resolvfile 選項,替換為:
option resolvfile '/etc/config/sec_resolv.conf'
4.配置 PPTP
a.安裝 ppp-mod-pptp
opkg updateopkg install ppp-mod-pptp
如果需要 LuCI 支持(推薦):
opkg install luci-proto-ppp
b.配置 接口,編輯 /etc/config/network 文件,應該已經(jīng)有以下內容(如果沒有,需要插入),并配置里面的 server、username 和 password:
config 'interface' ''
option 'ifname' 'pptp-' option 'proto' 'pptp'option 'username' 'username'option 'password' 'password'option 'server' '.example.org or ipaddress' option 'buffering' '1'
c.進入 Network -> Firewall ,把 加入 wan zone,效果如圖:
d.進入 Network -> Interfaces ,此時應該已經(jīng)可以看到 Interface 并可以連接,效果如圖:
e.此時在本機 traceroute www.baidu.com,應該能得到類似以下的結果:
FL-MBP:~ fatlyz$ traceroute www.baidu.com | head -n 3traceroute to www.a.shifen.com (180.76.3.151), 64 hops max, 52 byte packets 1 fc_r0.lan (192.168.7.1) 1.190 ms 0.984 ms 0.731 ms 2 58.111.43.1 (58.111.43.1) 20.616 ms 38.822 ms 18.484 ms 3 183.56.35.133 (183.56.35.133) 20.056 ms 52.353 ms 87.841 ms
可以看出,其中第二跳是 的網(wǎng)關,而 traceroute www.baidu.com 的話第二跳應該也是同樣的結果,這時已經(jīng)可以訪問Baidu 等國內外的站點了
5.配置 chnroutes
a.到 chnroutes 項目的下載頁面下載 linux.zip解壓
b.把 ip-pre-up 重命名為 chnroutes.sh,打開編輯,在 if [ ! -e /tmp/_oldgw ]; then 前插入以下代碼,以避免 ppp 連接腳本重復執(zhí)行導致重復添加路由表項:
if [ $OLDGW == 'x.x.x.x' ]; then exit 0fi
其中 x.x.x.x 是 的網(wǎng)關,可以先本機連接上去之后查看一下網(wǎng)關地址。
c.ssh 連接到路由器,執(zhí)行以下命令:
cd /etc/config/mkdir pptp-cd pptp-vim chnroutes.sh
在 vim 中把編輯好的 chnroutes.sh 粘貼進去(當然也可以通過 ssh 直接把 chnroutes.sh 文件傳過去,或者上傳到某個地方再 wget 下載)
執(zhí)行以下命令,設置權限為可執(zhí)行:
chmod a+x chnroutes.sh
d.用 vim 編輯 /lib/netifd/ppp-up 文件:
vim /lib/netifd/ppp-up
在 [ -d /etc/ppp/ip-up.d ] && { 這一行前插入以下內容,確保 ppp 連接腳本能夠被執(zhí)行:
sh /etc/config/pptp-/chnroutes.sh
e.重啟路由,啟動好之后,進入 LuCI 查看接口狀態(tài),等 WAN 和 都連接成功后,ssh進去,執(zhí)行 route -n | head -n 10 ,效果應該類似這樣:
root@FC_R0:/etc/config# route -n | head -n 10 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.7.0.1 0.0.0.0 UG 0 0 0 pptp- 1.0.1.0 58.111.43.1 255.255.255.0 UG 0 0 0 pppoe-wan 1.0.2.0 58.111.43.1 255.255.254.0 UG 0 0 0 pppoe-wan 1.0.8.0 58.111.43.1 255.255.248.0 UG 0 0 0 pppoe-wan 1.0.32.0 58.111.43.1 255.255.224.0 UG 0 0 0 pppoe-wan 1.1.0.0 58.111.43.1 255.255.255.0 UG 0 0 0 pppoe-wan 1.1.2.0 58.111.43.1 255.255.254.0 UG 0 0 0 pppoe-wan 1.1.4.0 58.111.43.1 255.255.252.0 UG 0 0 0 pppoe-wan
其中 Destination 為 0.0.0.0 的是默認路由,網(wǎng)關為 網(wǎng)關,意味著默認流量都經(jīng)過 ,而以下的條目則把目的為國內的網(wǎng)段都指向了 ISP 提供的網(wǎng)關。
至此 PPTP 和 chnroutes 已經(jīng)配置完畢。
6.配置 斷線自動重連
a.創(chuàng)建 /etc/config/pptp-/status-check.sh:
vim /etc/config/pptp-/status-check.sh
在 vim 中粘貼以下內容(此腳本檢測 連接狀態(tài),并在斷線后會斷開 WAN 和 接口,10秒后重新連接 WAN,并在 30 秒后重連 ):
#!/bin/shif [ -f "/tmp/_status_check.lock" ]then exit 0fi_CONN=`ifconfig | grep pptp-`if [ -z "$_CONN" ]then touch /tmp/_status_check.lock echo WAN__RECONNECT at: >> /tmp/_status_check_reconn.log date >> /tmp/_status_check_reconn.log ifdown ifdown wan sleep 10 ifup wan sleep 30 ifdown sleep 10 ifup sleep 40 rm /tmp/_status_check.lockelse date > /tmp/_status_check.logfi
執(zhí)行以下命令,設置權限為可執(zhí)行:
chmod a+x /etc/config/pptp-/status-check.sh
b.進入LuCI 的 System -> Scheduled Tasks 填入以下內容,并保存:
*/1 * * * * /etc/config/pptp-/status-check.sh
以上實際上是編輯了 cron 配置,cron 每分鐘運行檢測 / 重連腳本,重啟 cron:
/etc/init.d/cron restart
c.靜待幾分鐘,查看 /tmp 目錄,應該能看到 _oldgw 和 _status_check.log 文件,查看 _status_check.log 文件,可以看到最近一次檢測 連接狀態(tài)的時間。
root@FC_R0:/tmp# ls *_oldgw _status_check.logroot@FC_R0:/tmp# cat _status_check.log Tue Jul 15 00:04:02 HKT 2014root@FC_R0:/tmp#
你可以在 LuCI 中斷開 接口,在接下來的4-5分鐘,觀察 WAN 和 的重連情況。
d.traceroute www.baidu.com,觀察第二跳的地址:
FL-MBP:~ fatlyz$ traceroute www.baidu.com | head -n 3traceroute to www.a.shifen.com (180.76.3.151), 64 hops max, 52 byte packets 1 fc_r0.lan (192.168.7.1) 1.190 ms 0.984 ms 0.731 ms 2 58.111.43.1 (58.111.43.1) 20.616 ms 38.822 ms 18.484 ms 3 183.56.35.133 (183.56.35.133) 20.056 ms 52.353 ms 87.841 ms
可以看出,已成功對國內外的目標地址進行了路由選擇。
至此,OpenWRT 路由的基本配置、PPTP 、chnroutes 和自動重連已經(jīng)配置完成。
OpenWRT路由功能設置技巧相關文章: