? ? ? ?OpenWrt是一款強(qiáng)大的路由器操作系統(tǒng),當(dāng)然OpenWrt還可以作為其他用途,目前應(yīng)用最廣泛的就是路由器。希望對(duì)廣大的客戶,在配置網(wǎng)絡(luò)有幫助。
配置文件
OpenWrt所有配置保存在/etc/config目錄,以下為主要的網(wǎng)絡(luò)配置文件
-
網(wǎng)絡(luò)接口配置
/etc/config/network
-
網(wǎng)絡(luò)服務(wù)配置
/etc/config/dhcp
-
防火墻配置
/etc/config/firewall
網(wǎng)絡(luò)接口
OpenWrt網(wǎng)絡(luò)接口一般包含lan口和wan口,但如果是X86等設(shè)備,只設(shè)置了一張網(wǎng)卡,只會(huì)生成lan口信息,在虛擬機(jī)中我們默認(rèn)只配置一個(gè)網(wǎng)卡,方便配置網(wǎng)絡(luò),等熟悉基本網(wǎng)絡(luò)配置后再嘗試將OpenWrt打造成一臺(tái)路由器。
查看網(wǎng)卡配置和IP信息
在前面的教程中,我們將網(wǎng)卡IP設(shè)置成了動(dòng)態(tài)獲取IP,那我們查看網(wǎng)卡和IP信息有哪幾種方式呢
-
通過(guò)web界面查看
這是我們最常用的查看方式,但作為開發(fā)人員,應(yīng)該學(xué)會(huì)下面的命令行方式查看 -
ifconfig
-
ifconfig是一條用于顯示和配置Linux/Unix操作系統(tǒng)中網(wǎng)絡(luò)接口的命令。ifconfig命令可以顯示當(dāng)前系統(tǒng)中所有可用的網(wǎng)絡(luò)接口的信息,例如IP地址、MAC地址、子網(wǎng)掩碼、廣播地址等命令格式:?
ifconfig $ifname
比如查看lan口信息:?ifconfig br-lan
-
-
查看所有接口:?
ifconfig
由于通過(guò)ifconfig只能看到ip和子網(wǎng)掩碼信息,還要結(jié)合ip或route命令查看路由信息
-
-
通過(guò)ubus命令
-
? ? ? ? ?ubus是OpenWrt中的一種輕量級(jí)RPC(Remote Procedure Call)機(jī)制,用于實(shí)現(xiàn)進(jìn)程之間的通信。ubus支持基于JSON格式的消息傳遞和異步通信,它可以用來(lái)在OpenWrt設(shè)備上進(jìn)行各種操作,例如獲取設(shè)備狀態(tài)、配置網(wǎng)絡(luò)設(shè)置、查詢系統(tǒng)信息等。
-
可以使用ubus命令查看OpenWrt設(shè)備的網(wǎng)絡(luò)信息。
具體步驟如下:
獲取指定網(wǎng)絡(luò)接口的詳細(xì)信息(接口的名稱、MAC地址、IP地址、子網(wǎng)掩碼、廣播地址、網(wǎng)關(guān)、DNS服務(wù)器)
-
ubus?call?network.interface.<interface_name>?status,
? ? ?其中<interface_name>是網(wǎng)絡(luò)接口的名稱。例如,獲取lan接口的詳細(xì)信息:
? ? ? ubus call network.interface.lan status?
{
?"up":?true,
?"pending":?false,
?"available":?true,
?"autostart":?true,
?"dynamic":?false,
?"uptime":?14506,
?"l3_device":?"br-lan",
?"proto":?"dhcp",
?"device":?"br-lan",
?"metric":?0,
?"dns_metric":?0,
?"delegation":?true,
?"ipv4-address":?[
??{
???"address":?"192.168.10.161",
???"mask":?24
??}
?],
?"ipv6-address":?[
??
?],
?"ipv6-prefix":?[
??
?],
?"ipv6-prefix-assignment":?[
??{
???"address":?"fdf1:f344:c0d9::",
???"mask":?60,
???"local-address":?{
????"address":?"fdf1:f344:c0d9::1",
????"mask":?60
???}
??}
?],
?"route":?[
??{
???"target":?"0.0.0.0",
???"mask":?0,
???"nexthop":?"192.168.10.1",
???"source":?"192.168.10.161/32"
??}
?],
?"dns-server":?[
??"192.168.10.1"
?],
?"dns-search":?[
?],
?"neighbors":?[
??
?],
?"inactive":?{
??"ipv4-address":?[
???
??],
??"ipv6-address":?[
???
??],
??"route":?[
???
??],
??"dns-server":?[
???
??],
??"dns-search":?[
???
??],
??"neighbors":?[
???
??]
?},
?"data":?{
??"dhcpserver":?"192.168.10.1",
??"hostname":?"OpenWrt",
??"leasetime":?1800
?}
}
-
查看配置
我們也可以通過(guò)讀取配置的方式獲取網(wǎng)卡配置信息,但如果設(shè)置成了dhcp方式,狀態(tài)數(shù)據(jù)不會(huì)存儲(chǔ)在配置中,這種方式適合查看基本信息,比如ip地址獲取方式、接口信息等查看文件命令cat /etc/config/network
?
? ?config?interface?'loopback'
?option?device?'lo'
?option?proto?'static'
?option?ipaddr?'127.0.0.1'
?option?netmask?'255.0.0.0'
config?globals?'globals'
?option?ula_prefix?'fdf1:f344:c0d9::/48'
config?device
?option?name?'br-lan'
?option?type?'bridge'
?list?ports?'eth0'
config?interface?'lan'
?option?device?'br-lan'
?option?ipaddr?'192.168.1.1'
?option?netmask?'255.255.255.0'
?option?ip6assign?'60'
?option?proto?'dhcp'?
uci配置查看命令uci show network
root@OpenWrt:~#?uci?show?network
network.loopback=interface
network.loopback.device='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fdf1:f344:c0d9::/48'
network.@device[0]=device
network.@device[0].name='br-lan'
network.@device[0].type='bridge'
network.@device[0].ports='eth0'
network.lan=interface
network.lan.device='br-lan'
network.lan.ipaddr='192.168.1.1'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
network.lan.proto='dhcp'
root@OpenWrt:~#?uci?show?network.lan
network.lan=interface
network.lan.device='br-lan'
network.lan.ipaddr='192.168.1.1'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
network.lan.proto='dhcp'
網(wǎng)絡(luò)配置命令
-
配置動(dòng)態(tài)獲取
uci set network.lan.proto=dhcp -
配置靜態(tài)IP
設(shè)置IP配置方式:
? ??uci?set?network.lan.proto='static'?
設(shè)置LAN口的IP地址:
? uci?set?network.lan.ipaddr='192.168.10.100'??
設(shè)置LAN口的子網(wǎng)掩碼:
? ?uci?set?network.lan.netmask='255.255.255.0'?
設(shè)置LAN口的網(wǎng)關(guān)地址:
??uci?set?network.lan.gateway='192.168.10.1'??
設(shè)置DNS服務(wù)器地址:
?uci?set?network.lan.dns='8.8.8.8'
如果有多個(gè)DNS服務(wù)器,可以用空格隔開多個(gè)IP地址,例如:
? ? uci?set?network.lan.dns='8.8.8.8?8.8.4.4'??
保存修改后的配置:
? ? ?uci?commit?network??
最后重啟網(wǎng)絡(luò)服務(wù)生效
/etc/init.d/network?reload
執(zhí)行完以上步驟后,OpenWrt設(shè)備的LAN口將配置為靜態(tài)IP地址192.168.10.100、子網(wǎng)掩碼255.255.255.0、網(wǎng)關(guān)192.168.10.1、dns 8.8.8.8
uci?set?network.lan.proto='static'??
uci?set?network.lan.ipaddr='192.168.10.100'??
uci?set?network.lan.netmask='255.255.255.0'??
uci?set?network.lan.gateway='192.168.10.1'??
uci?set?network.lan.dns='8.8.8.8'??
uci?commit?network??
/etc/init.d/network?reload??
執(zhí)行后可以查看uci和配置文件
root@OpenWrt:~#?uci?set?network.lan.proto='static'
root@OpenWrt:~#?uci?set?network.lan.ipaddr='192.168.10.100'
root@OpenWrt:~#?uci?set?network.lan.netmask='255.255.255.0'
root@OpenWrt:~#?uci?set?network.lan.gateway='192.168.10.1'
root@OpenWrt:~#?uci?set?network.lan.dns='8.8.8.8'
root@OpenWrt:~#?uci?commit?network
root@OpenWrt:~#?
root@OpenWrt:~#?uci?show?network.lan
network.lan=interface
network.lan.device='br-lan'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
network.lan.proto='static'
network.lan.ipaddr='192.168.10.100'
network.lan.gateway='192.168.10.1'
network.lan.dns='8.8.8.8'
lan接口修改后的配置
config?interface?'lan'
?option?device?'br-lan'
?option?netmask?'255.255.255.0'
?option?ip6assign?'60'
?option?proto?'static'
?option?ipaddr?'192.168.10.100'
?option?gateway?'192.168.10.1'
?option?dns?'8.8.8.8'
root@ZhouWu:/# cat ?/etc/config/network
config interface 'loopback'
? ? ? ? option device 'lo'
? ? ? ? option proto 'static'
? ? ? ? option ipaddr '127.0.0.1'
? ? ? ? option netmask '255.0.0.0'
config globals 'globals'
? ? ? ? option ula_prefix 'fdb8:0392:3c69::/48'
config interface 'lan'
? ? ? ? option device 'lan3'
? ? ? ? option proto 'static'
? ? ? ? option ipaddr '10.10.18.1'
? ? ? ? option netmask '255.255.255.0'
? ? ? ? option gateway '10.10.18.250'
config interface 'wan'
? ? ? ? option device 'lan4'
? ? ? ? option proto 'static'
? ? ? ? option ipaddr '192.168.9.148'
? ? ? ? option netmask '255.255.255.0'
? ? ? ? option gateway '192.168.9.1'
config interface 'wan0'
? ? ? ? option device 'lan1'
? ? ? ? option proto 'static'
? ? ? ? option ipaddr '10.10.10.1'
? ? ? ? option netmask '255.255.255.0'
? ? ? ? option gateway '10.10.10.250'
config interface 'wan1'
? ? ? ? option device 'lan2'
? ? ? ? option proto 'static'
? ? ? ? option ipaddr '192.168.8.1'
? ? ? ? option netmask '255.255.255.0'
? ? ? ? option gateway '192.168.8.250'
上面network配置信息,出自于MTK7981板子,把4個(gè)網(wǎng)口都配置成獨(dú)立IP。
網(wǎng)絡(luò)重啟命令
修改網(wǎng)絡(luò)配置后,有多種方式讓配置生效
-
/etc/init.d/network reload
-
/etc/init.d/network restart
-
ubus call network reload
Init_Config()
{
? ? ? ? uci set system.@system[0].zonename="Asia/Seoul"
? ? ? ? uci set system.@system[0].cronloglevel=5
? ? ? ? uci set system.@system[0].log_proto=udp
? ? ? ? uci set system.@system[0].conloglevel=8
? ? ? ? uci set system.@system[0].timezone=KST-9
? ? ? ? uci set system.@timeserver[0].enabled=""
? ? ? ? uci set system.@timeserver[0].enable_server=""
? ? ? ? uci commit system
? ? ? ? uci delete wireless.@wifi-iface[0]
? ? ? ? uci commit wireless
? ? ? ? uci delete network.@interface[3]
? ? ? ? uci commit network
? ? ? ? sync
? ? ? ? /etc/init.d/network restart &
}
Init_Config 函數(shù)是幫助一位韓國(guó)朋友開發(fā)的項(xiàng)目,初始化系統(tǒng)配置
dhcp服務(wù)器配置
dhcp服務(wù)器用于分配ip地址給局域網(wǎng)的客戶端,默認(rèn)lan口的dhcp服務(wù)器是開啟的,如果lan口虛擬網(wǎng)卡設(shè)置的是橋接模式,那lan口和PC處于同一廣播域,PC可能會(huì)獲取到OpenWrt系統(tǒng)分配的IP。
為了防止出現(xiàn)多DHCP服務(wù)器,我們要么將LAN口獲取ip的方式改為dhcp,要么將DHCP服務(wù)器關(guān)閉,這里教大家如何關(guān)閉DHCP服務(wù)器。
-
配置文件
dhcp服務(wù)器配置保存在/etc/config/dhcp中,里面dhcp服務(wù)器配置和接口dhcp配置 -
-
關(guān)閉lan口dhcp
dhcp服務(wù)器忽略lan口:uci set dhcp.lan.ignore=1
保存配置:uci commit dhcp
重啟服務(wù):/etc/init.d/dnsmasq restart
wan口配置
uci?show?network.wan
常用配置
wan口配置和lan口類似,也可以設(shè)置static、dhcp、pppoe等方式,我們可以通過(guò)uci命令修改,也可以通過(guò)vi命令編輯/etc/config/network
配置文件修改,配置生效方式和lan口一樣。
以下為各種方式的接口配置/etc/config/network
-
dhcp方式
?config?interface?'wan'
????????option?device?'eth1'
????????option?proto?'dhcp'
-
靜態(tài)ip
?config?interface?'wan'
?option?device?'eth1'
?option?proto?'static'
?option?ipaddr?'192.168.10.171'
?option?netmask?'255.255.255.0'
?list?dns?'192.168.10.1'
?list?dns?'8.8.8.8'
-
pppoe撥號(hào)
?config?interface?'wan'
?option?device?'eth1'
?option?proto?'pppoe'
?option?username?'test'
?option?password?'12345678'
?option?ipv6?'auto'
虛擬機(jī)路由環(huán)境搭建
-
增加虛擬網(wǎng)卡
當(dāng)我們通過(guò)虛擬機(jī)安裝系統(tǒng)后默認(rèn)只配置了一個(gè)網(wǎng)卡,所以我們還需要增加一個(gè)網(wǎng)卡,用于做wan口
?
?
-
網(wǎng)絡(luò)規(guī)劃
? ? ? ?為了方便模擬數(shù)據(jù)從lan到wan進(jìn)行轉(zhuǎn)發(fā),我們需要增加一臺(tái)虛擬PC,該P(yáng)C和OpenWrt LAN口在同一個(gè)局域網(wǎng),而OpenWrt wan口和物理PC在同一個(gè)局域網(wǎng)(通過(guò)橋接或NAT模式均可),這樣虛擬PC上網(wǎng)數(shù)據(jù)就會(huì)經(jīng)過(guò)OpenWrt處理,OpenWrt充當(dāng)了一個(gè)路由器的角色。
網(wǎng)絡(luò)拓?fù)?/strong>
? ? ? ? 將OpenWrt lan接口配置為主機(jī)模式綁定為vmnet10(其他未占用的也可以),這樣所有vmnet10中的網(wǎng)卡都和OpenWrt lan在同一個(gè)局域網(wǎng)。而wan口網(wǎng)卡設(shè)置為橋接模式,這樣wan口可以獲取到路由器分配的ip,并且和PC網(wǎng)卡ip在同一個(gè)網(wǎng)段。
網(wǎng)絡(luò)拓?fù)鋱D如下:
根據(jù)網(wǎng)絡(luò)拓?fù)?,還需要增加一臺(tái)客戶端,將網(wǎng)卡綁定到vmnet10,這樣該客戶端可以通過(guò)OpenWrt虛擬機(jī)聯(lián)網(wǎng),這里建議將OpenWrt系統(tǒng)克隆后修改網(wǎng)卡配置,作為客戶端使用,當(dāng)然你也可以增加一臺(tái)windows、ubuntu虛擬機(jī),連接OpenWrt路由器LAN口使用。
管理OpenWrt
? ? ? ?設(shè)備按以上拓?fù)洳渴鸷蟠蠹覒?yīng)該發(fā)現(xiàn)一個(gè)問(wèn)題,就是物理PC不能直接訪問(wèn)OpenWrt了,因?yàn)镻C和OpenWrt wan口在同網(wǎng)段,和OpenWrt lan不在同一網(wǎng)段。
那如何管理配置OpenWrt系統(tǒng)呢?
這里有兩個(gè)方案:
-
新增一臺(tái)虛擬PC連接在OpenWrt LAN口,這樣在虛擬PC中可以直接管理OpenWrt
-
通過(guò)wan口訪問(wèn)OpenWrt系統(tǒng)
注意默認(rèn)是不能直接通過(guò)wan口訪問(wèn)的,因?yàn)镺penWrt默認(rèn)開啟了wan口防火墻,需要先關(guān)閉
關(guān)閉wan口防火墻
? ? 打開防火墻配置,找到wan口的配置規(guī)則,將REJECT修改為ACCEPT,然后重新加載防火墻規(guī)則
vi /etc/config/firewall
/etc/init.d/firewall?restart? 重啟防火墻文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-843307.html
? ? ? ?這樣就可以通過(guò)web訪問(wèn)OpenWrt系統(tǒng)了,注意通過(guò)wan口ip訪問(wèn)。也可以通過(guò)ssh連接wan口ip訪問(wèn)后臺(tái),注意低版本的OpenWrt需要綁定ssh服務(wù)到wan口才能訪問(wèn),ssh配置文件/etc/config/dropbear
,綁定到wan后重啟服務(wù)即可,重啟ssh服務(wù)命令/etc/init.d/dropbear restart
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-843307.html
到了這里,關(guān)于OpenWrt網(wǎng)絡(luò)配置詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!