運行OpenWrt系統(tǒng)的單網口設備舍杜,例如某些電視盒子,開發(fā)板桅滋,小主機慧耍,可以通過用交換機劃分vlan的方式劃出兩個虛擬局域網,再分別設置成WAN和LAN丐谋,就可以當做主路由了芍碧。硬路由內部也是這個原理,硬路由的CPU只有一個網卡号俐,連接在交換機芯片上泌豆,通過設置vlan隔離廣播域即可區(qū)分WAN和LAN。
設置交換機
選擇一臺能劃分vlan的交換機吏饿,這里使用縮水星 SG105 Pro為例踪危。
先設置交換機的ip地址蔬浙,推薦設置為路由器LAN網段下的一個ip。這一步是可選的陨倡。
然后要在交換機上設置兩個vlan敛滋。此交換機為5口交換機许布,1口劃分到WAN里兴革,345口劃分到LAN里,2口作為trunk口連接軟路由蜜唾。
vlan劃分
直接來到vlan設置下的802.1Q vlan設置杂曲,在vlan使能選項上,點擊啟用袁余,再點擊應用擎勘。
此時系統(tǒng)會創(chuàng)建一個默認的vlan,不用管它颖榜。
先創(chuàng)建一個LAN口的vlan棚饵,vlan id為10。untagged端口選345掩完,tagged端口選2噪漾,非成員端口選1。填好之后點添加/編輯且蓬。
再創(chuàng)建一個WAN口的vlan欣硼,vlan id為11。untagged端口選1恶阴,tagged端口選2诈胜,非成員端口選345。設置完成后應該是這樣的:
設置PVID
打開802.1Q PVID設置冯事,將端口1的PVID設為11焦匈,將端口345的PVID設為10。當沒有加vlan標簽的數(shù)據(jù)幀進入端口時昵仅,交換機會給數(shù)據(jù)幀打上對應的vlan id括授。
配置完成后,點擊配置保存岩饼。此時荚虚,交換機已經配置好了,放在一邊就行籍茧。
設置軟路由
準備一臺運行OpenWrt的軟路由版述,以下用斐訊N1演示。
電腦連接交換機的3口寞冯,軟路由連接交換機的4口渴析,手動設置電腦網卡ip晚伙,確保電腦網卡ip與軟路由的ip在同一ip段內且不重復。
系統(tǒng)安裝完成俭茧,初次開機后咆疗,系統(tǒng)會自動添加一個LAN接口。如果有第二張網卡母债,系統(tǒng)就會添加一個WAN口午磁,顯然,這里是沒有第二張網卡的毡们。
點擊網絡LAN的修改鍵迅皇,轉到物理設置。
如果不使用WiFi衙熔,可以取消勾選橋接接口登颓,可以降低那么一點點CPU負載。
在接口選項上红氯,取消勾選以太網適配器eth0框咙,這里的eth0是機器上物理網卡的名稱。選上自定義接口痢甘,輸入eth0.10喇嘱,代表使用eth0網卡上的vlan 10。
配置完成后點擊保存产阱。不要點擊保存&應用婉称,否則路由器的網絡會發(fā)生改變,導致與路由器失聯(lián)构蹬。
LAN口的配置就到這里王暗,接下來要新建WAN接口和WAN6接口,其中WAN6接口是可選的庄敛,不使用IPv6就不用創(chuàng)建了俗壹。
在接口頁面,點擊新建接口藻烤。接口名稱填WAN绷雏,接口的協(xié)議按自己的需要選擇。撥號上網的選PPPoE怖亭,其余情況可以選DHCP涎显。接口選擇自定義接口,eth0.11兴猩。
點擊提交期吓,會轉到接口的配置頁面,點擊防火墻設置倾芝,區(qū)域選擇wan讨勤。然后點擊保存箭跳,不要點保存&應用。
創(chuàng)建WAN6接口潭千,這一步是可選的谱姓。在接口頁面新建一個接口,物理接口和WAN接口一樣刨晴,協(xié)議選擇DHCPv6客戶端屉来。
配置防火墻,選擇wan區(qū)域割捅。配置好后點保存奶躯。
回到接口頁面帚桩,配置完成應該是這樣的:
點擊網頁下面的保存&應用亿驾,應用所有配置。這時將軟路由直接連接交換機的2口账嚎,即可獲取ip地址莫瞬。
root@PhicommN1:~# ifconfig
br-lan Link encap:Ethernet HWaddr FC:7C:02:87:78:C3
inet addr:10.0.11.1 Bcast:10.0.11.255 Mask:255.255.255.0
inet6 addr: 2xxx:xxxx:xxxx::1/62 Scope:Global
inet6 addr: fe80::fe7c:2ff:fe87:78c3/64 Scope:Link
inet6 addr: fdf5:4538:ce3d::1/60 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:129441 errors:0 dropped:0 overruns:0 frame:0
TX packets:202647 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:64613947 (61.6 MiB) TX bytes:220551227 (210.3 MiB)
docker0 Link encap:Ethernet HWaddr 02:42:35:48:B9:C1
inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth0 Link encap:Ethernet HWaddr FC:7C:02:87:78:C3
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:341128 errors:0 dropped:1 overruns:0 frame:0
TX packets:339438 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:305424645 (291.2 MiB) TX bytes:288211120 (274.8 MiB)
Interrupt:20
eth0.10 Link encap:Ethernet HWaddr FC:7C:02:87:78:C3
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:124375 errors:0 dropped:5 overruns:0 frame:0
TX packets:197307 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:64100865 (61.1 MiB) TX bytes:218673875 (208.5 MiB)
eth0.11 Link encap:Ethernet HWaddr FC:7C:02:87:78:C3
inet addr:10.0.1.199 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: 2xxx:xxxx:xxxx:xxxx:fe7c:2ff:fe87:78c3/64 Scope:Global
inet6 addr: 2xxx:xxxx:xxxx:xxxx::a2e/128 Scope:Global
inet6 addr: fe80::fe7c:2ff:fe87:78c3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:183209 errors:0 dropped:5 overruns:0 frame:0
TX packets:136708 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:233183849 (222.3 MiB) TX bytes:66323279 (63.2 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:439 errors:0 dropped:0 overruns:0 frame:0
TX packets:439 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31221 (30.4 KiB) TX bytes:31221 (30.4 KiB)
wlan0 Link encap:Ethernet HWaddr 02:E0:AE:75:92:8A
inet6 addr: fe80::e0:aeff:fe75:928a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:5013 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:2025478 (1.9 MiB)