openwrteth0up啟動
① openWRT如何修改MAC地址
1、修改 eth0 mac地址:
編輯 /etc/rc.local,ifconfig eth0 down;ifconfig eth0 hw ether d8:64:c7:5e:f1:c6;ifconfig eth0 up。
2、修改wireless mac地址。
這就最糾結了直接修改 /etc/config/wireless中的mac是沒用的,並且修改後無線網路會無法啟動。
在研究了/sbin/wifi腳本後,只能通過迂迴戰術來進行解決。
編輯 /sbin/wifi;修改如下一段,增加內容。
set_wifi_up() {
echo wifi_up;ls /tmp/run/*.conf
kill `cat /var/run/wifi-phy0.pid`
sed -i s/^bssid=.*/bssid=d8:64:c7:5f:f1:c6/ /var/run/hostapd-phy0.conf
hostapd -P /var/run/wifi-phy0.pid -B /var/run/hostapd-phy0.conf
local cfg="$1"
echo wifi_up 2;ls /tmp/run/*.conf
local ifname="$2"
echo wifi_up 3;ls /tmp/run/*.conf
uci_set_state wireless "$cfg" up 1
uci_set_state wireless "$cfg" ifname "$ifname"
}
3、修改完成 。
sync;reboot 重啟,就能看到所有修改都生效了。
② OPENWRT可以更MAC地址嗎
1、修改 eth0 mac地址: 編輯 /etc/rc.local,ifconfig eth0 down;ifconfig eth0 hw ether d8:64:c7:5e:f1:c6;ifconfig eth0 up。 2、修改wireless mac地址。 這就最糾結了直接修改 /etc/config/wireless中的mac是沒用的,並且修改後無線網路會無法啟動。 在研究了/sbin/wifi腳本後,只能通過迂迴戰術來進行解決。 編輯 /sbin/wifi;修改如下一段,增加內容。 set_wifi_up() { echo wifi_up;ls /tmp/run/*.conf kill `cat /var/run/wifi-phy0.pid` sed -i s/^bssid=.*/bssid=d8:64:c7:5f:f1:c6/ /var/run/hostapd-phy0.conf hostapd -P /var/run/wifi-phy0.pid -B /var/run/hostapd-phy0.conf local cfg="$1" echo wifi_up 2;ls /tmp/run/*.conf local ifname="$2" echo wifi_up 3;ls /tmp/run/*.conf uci_set_state wireless "$cfg" up 1 uci_set_state wireless "$cfg" ifname "$ifname" } 3、修改完成 。 sync;reboot 重啟,就能看到所有修改都生效了。
③ openwrt接入點ap功能怎麼用
上層 DHCP 服務) –有線–> (openwrt) –無線–> (筆記本,手機)
bridged AP 官方配置 wiki : http://wiki.openwrt.org/doc/recipes/bridgedap
配置網路
配置無線
關閉 dnsmasq
home
針對家裡的上層撥號路由器 (192.168.1.1) 配置:
config interface 『loopback』
option ifname 『lo』
option proto 『static』
option ipaddr 『127.0.0.1』
option netmask 『255.0.0.0』
config interface 『lan』
option ifname 『eth0』
option type 『bridge』
option proto 『static』
option ipaddr 『192.168.1.11』
option netmask 『255.255.255.0』
## 為了 openwrt 可以連接外網,需要配置以下網關和 DNS
option gateway 『192.168.1』
option dns 『192.168.1.1』
奇葩的是 DNS 要由上層路由器 代理解析 ,測試用 google 的 DNS 8.8.8.8 不行
在家裡配置比較簡單,注意 管理地址 不要沖突就好
office
辦公室的環境和家裡的有些不同,還做了限制:
辦公室的網路是 10.x.x.x 網段
禁用了 手動 設置 IP 訪問公網,必須要 DHCP 獲取地址
因為是兩個網段,需要在 openwrt 配置 ip 別名 (ip alias) 進行管理:
alias 官方配置 wiki : http://wiki.openwrt.org/doc/uci/network#aliases
config interface 『loopback』
option ifname 『lo』
option proto 『static』
option ipaddr 『127.0.0.1』
option netmask 『255.0.0.0』
//動態獲取辦公網地址,不然 openwrt 沒法上網
config interface 『lan』
option ifname 『eth0』
option type 『bridge』
option proto 『dhcp』
//手工配置的內網地址,用作管理用
config 『alias』
option interface 『lan』
option proto 『static』
option ipaddr 『10.10.15.187』
option netmask 『255.255.255.0』
// 如果上面兩個地址分配失敗,這個備用地址用來連接管理 openwrt
//需要將筆記本網卡手工設為 192.168.x.x 網段
config 『alias』
option interface 『lan』
option proto 『static』
option ipaddr 『192.168.1.12』
option netmask 『255.255.255.0』
上面的配置,都沒有指定 gateway 如果網關 不是 真實存且可達的。配置之後,會導致無法登錄 openwrt 需要進入安全模式修改配置了。gateway 其實是不需要的,使用網線將路由器和電腦互聯, 只要路由器和電腦設為同一網段,掩碼一致,就可以直接訪問的
/etc/init.d/network restart
重啟網路後,可以通過手工設置的辦公網地址連接到 openwrt 說明配置生效了
登錄查看正確的獲取到了 DHCP 地址也,但是 ifconfig 卻無法顯示 ip alias :
ifconfig
br-lan Link encap:Ethernet HWaddr B0:48:7A:3B:EF:64
inet addr:10.10.15.38 Bcast:10.10.15.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
… …
eth0 Link encap:Ethernet HWaddr B0:48:7A:3B:EF:64
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
… …
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
… …
wlan0 Link encap:Ethernet HWaddr B0:48:7A:3B:EF:64
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
… …
從路由表中也可以看出配置的 IP alias 生效了:
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.10.15.254 0.0.0.0 UG 0 0 0 br-lan
10.10.15.0 0.0.0.0 255.255.255.0 U 0 0 0 br-lan
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br-lan
這篇文章 may be a bug: alias interface do not show on ifconfig 提到 ip addr
想到 sencondary ip address 使用 ifconfig 是看不到的,安裝 opkg install ip 軟體包
ip -a
1: lo: LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-lan state UP qlen 1000
link/ether b0:48:7a:3b:ef:64 brd ff:ff:ff:ff:ff:ff
10: br-lan: BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether b0:48:7a:3b:ef:64 brd ff:ff:ff:ff:ff:ff
inet 10.10.15.38/24 brd 10.10.15.255 scope global br-lan
inet 192.168.1.12/24 brd 192.168.1.255 scope global br-lan
inet 10.10.15.187/24 brd 10.10.15.255 scope global secondary br-lan
11: wlan0: BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP qlen 32
link/ether b0:48:7a:3b:ef:64 brd ff:ff:ff:ff:ff:ff
果然 openwrt 的 alias 其實是 輔助 ip 地址 (secondary ip address)
而不是 ip 別名 (ip alias) 兩者區別可以參考下面這篇文章:
從 ip addr add 和 ifconfig 的區別看 linux 網卡 ip 地址的結構
bridge AP vs 虛化化網橋
從路由器的視角來看 bridged AP 有點類似 linux 中虛擬化的橋接 :
brctl show
bridge name bridge id STP enabled interfaces
br-lan 8000.b0487a3aee72 no eth0
wlan0
linux 宿主機的橋接設備還是需要配置可用的 IP 不然下面的虛擬機網路就沒法用了。 對於 wr703n 路由器,只有一個 wan / lan 自適應網口 openwrt 中即使 br-lan 網橋地址設置錯誤 bridged AP 模式可以正常用,只是無法連接管理地址,登錄 openwrt 進行管理而已
看得出來 接入點模式 真的很無視路由器的存在哦 -_-#
④ openwrt無法啟動運行到4.09
1.按回車鍵可以看到OPENWRT啟動畫面,說明系統已經正確啟動。但是之前連電腦(連接的是ETH1口)一直無法獲取到IP,所以就一直認為系統未啟動;
2.輸入 vi/etc/config/network ,查看網路設置。發現之前連接電腦的ETH1口其實是WAN口,這樣當然就獲取不到IP,而ETH0才是LAN;
3.網線連接到ETH0上,網線燈不亮,仍然無法獲取到IP;
4.重新進入vi/etc/config/network,把ETH5口設置成LAN口,插上網線後故障排除;
⑤ TP-LINK WR703N刷OPENWRT 有線介面eth0一直為離線狀態
你直接由原帶固件升級的話,要選對固件類型,選帶factory字樣的
比如:openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin
⑥ 有人在openwrt路由器上運行ocserv成功的么
可以到openwrt官網查詢支持openwrt的路由器,地址如下:
http://wiki.openwrt.org/toh/start
OpenWrt 可以被描述為一個嵌入式的 Linux 發行版,(主流路由器固件有 dd-wrt,tomato,openwrt三類)而不是試圖建立一個單一的、靜態的系統。
以TP-LINK WR703N 為例簡單介紹一下刷openwrt流程:
1、下載安裝
訪問WR703N在OpenWrt的Wiki頁,然後在Flashing一節中找到下載鏈接:squashfs-factory.bin。
進入路由器管理界面,出廠配置為http://192.168.1.1,用戶名和密碼均為admin,然後進入固件更新,選擇下載的文件,然後更新。等待一段時間(~~2min),然後重啟路由。
2、初始配置
用一根網線將路由器的Lan口和你電腦相連,電腦上設置為DHCP模式。然後運行cmd.exe
輸入telent 192.168.1.1
成功後將出現OpenWrt的歡迎界面。
然後更改root密碼:
輸入passwd
更改root密碼後dropbear(SSH 服務)就運行了,輸入exit退出telent。
以後就可以通過ssh管理OpenWrt。
3、網路配置
OpenWrt官方的固件是不帶LuCl的,所以初始的網路設定需要在命令行下完成
下載ssh連接工具putty
輸入192.168.1.1
點擊open,如果彈出窗口點是即可。
輸入用戶名root回車 然後輸入你剛剛設定的密碼
然後用vi修改相關配置。
首先修改/etc/config/wireless文件
輸入vi /etc/config/wireless回車
注釋掉# option disabled 1
按i進入修改模式
改好後按esc,然後輸入:wq保存退出
然後修改/etc/config/network文件。
首先修改lan介面配置,注釋掉此行:
# option ifname 'eth0'
然後增加wan介面,如果你上級網路是DHCP的,則文件的末尾添加:
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
如果你上級網路是靜態IP,則在文件的末尾添加:
config interface 'wan'
option ifname 'eth0'
option proto 'static'
option ipaddr '10.22.33.124'
option netmask '255.255.255.0'
option gateway '10.22.33.1'
option dns '202.113.16.10'
然後將路由器的Lan/Wan口接到上級網路中,重啟路由器。
這時便可以通過電腦尋找SSID為 OpenWrt的無線網路,加入後電腦便可以通過703N上網了。
接著ssh 到路由器
登陸後輸入opkg update
opkg install luci
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start
就有luci(WEB)界面了~
完後就可以通過瀏覽器訪問192.168.1.1來配置路由器了