在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何建造超級強大的OpenWRT軟路由——米爾基于NXP LS1028A開發板

米爾電子 ? 2022-12-08 10:03 ? 次閱讀

由測評者HonestQiao提供

米爾MYD-J1028X開發板基于NXP LS1028A處理器,雙核 Cortex-A72,主頻1.5GHz,而且,支持6個千兆網口,且都支持TSN(開發板支持5個千兆工業網口)。強勁的性能,豐富的千兆網口,用來做路由器,那是再適合不過了。

這篇文章,就分享了,如何構建一臺超級強大的OpenWRT軟路由。

目錄:

一、網絡結構說明

二、建造步驟

1. 安裝docker

2. 設置普通用戶管理docker權限

3. Ubuntu主機網絡接口設置

4. docker環境網絡設置

5. 啟動openwrt的docker實例

6. 互通互訪設置

7. 將物理網絡接口Ethernet 1~4分配給OpenWRT使用

8. 配置OpenWRT的基礎網絡

9. OpenWRT防火墻設置

10. 互通互訪測試

11. 端口轉發設置

12 登錄OpenWRT管理界面

13. 子網設置

三、實際效果

四、總結

一、網絡結構說明

這個OpenWRT軟路由的網絡結構如下:

c229f684-7697-11ed-b116-dac502259ad0.png


傳說,OpenWRT已經支持了NXP LS1028A,可以找到相關的信息

OK1028與LS1028ARDB的區別 - Powered by Discuz! (witech.com.cn)

[OpenWrt Wiki] OpenWrt v21.02.0 Changelog

但是沒有找到具體的應用,為了避免入坑,我選擇了更穩妥的方式,在米爾MYD-J1028X開發板上運行官方的Ubuntu,然后安裝docker,并在docker中跑OpenWRT,這個方案,目前非常成熟了。

那最終實現的效果就是:

1. 開發板跑Ubuntu;

2. OpenWRT跑在docker中;

3. 開發板的五個千兆網口,一個留給Ubuntu聯網自用,其他的全部分配給OpenWRT

4.Ubuntu和OpenWRT能夠互訪

5.OpenWRT通過一個網口直接聯網,而不是通過docker再通過Ubuntu聯網,以求達到性能最優化

6. OpenWRT管理一個完整的子網

其中涉及到的網段規劃:

1. 主路由:192.168.1.1/24網段

2. Ubuntu:

聯網ip:192.168.1.237(DHCP獲取)

與OpenWRT互通ip:192.168.10.253(固定)

3. OpenWRT:

聯網ip:192.168.1.246(DHCP獲取)

與Ubuntu互通ip:192.168.10.254(固定)

子網:192.168.11.254/24

注意:上述通過DHCP獲取的IP地址,不是固定的,會根據實際情況變化。

二、建造步驟

1. 安裝docker

sudo apt update
sudo apt upgrade -y
sudo apt install docker-ce -y

2. 設置普通用戶管理docker權限:

如果以root用戶建造,可以跳過,但是強烈建議以自己的用戶運行,而非root用戶。

sudo usermod -aG docker $USER

newgrp docker

docker ps -a

c2573306-7697-11ed-b116-dac502259ad0.png


3. Ubuntu主機網絡接口設置:

系統默認網絡接口名稱,為eno0、eno2、swp0、swp1、swp2、swp3。

其中:eno0對應Ethernet 0,swp0~3對應Ethernet1~4,eno2為DSA 以太網交換機主以太網接口。

具體的網絡接口信息,可以查看官方手冊了解:

c26d4b50-7697-11ed-b116-dac502259ad0.png


現在我們只需要知道:

Ethernet 0:分配各Ubuntu使用,用于宿主系統聯網

Ethernet 1~4:分配給OpenWRT系統使用

Ethernet 1:用于OpenWRT聯網

Ethernet 2~4:用作LAN接口;當然,如果有多個網絡接入,可以自由分配用作多WAN接入

為了便于識別,我們可以修改一下系統配置,使得網絡接口的名稱更可讀一些,將swp0~3修改為eth1~4

先通過以下的指令,獲取網絡接口名稱配置文件:

sudo grep -rn swp0 /etc/udev

c2a5f52c-7697-11ed-b116-dac502259ad0.png


sudo vim /etc/udev/rules.d/73-fsl-enetc-networking.rules

# 將swp0~3修改為eth1-4

c2c0bd80-7697-11ed-b116-dac502259ad0.png


然后重啟生效:

sudo reboot

重啟后,使用ifconfig -a,將會看到swp0~3變更為eth1~4

然后,我們還需要啟用eth1~4,并設置網絡接口的混雜模式,以便他們可以被分配到OpenWRT使用:

# 啟用網絡接口

sudo ifconfig eth1 up
sudo ifconfig eth2 up
sudo ifconfig eth3 up
sudo ifconfig eth4 up

# 設置混雜模式

sudo ip link set eth1 promisc on
sudo ip link set eth2 promisc on
sudo ip link set eth3 promisc on
sudo ip link set eth4 promisc on

# 查看網絡接口狀態:

ip addr show

對應的網絡接口信息中,出現PROMISC,則表示開啟混雜模式成功

c2ed51f6-7697-11ed-b116-dac502259ad0.png


4. docker環境網絡設置:

為了Ubuntu和OpenWRT互通,專門設置一個網段192.168.10.0/24用于雙方ip的設置,寄生于eno0上

docker network create -d macvlan \
--subnet=192.168.10.0/24 \
--ip-range=192.168.10.0/24 \
-o macvlan_mode=bridge \
-o parent=eno0 macnet1

設置后,可以查看docker的網絡情況:

docker network ls

c30b6984-7697-11ed-b116-dac502259ad0.png


5. 啟動openwrt的docker實例

openwrt的docker鏡像有很多,經過了解,我選擇了raymondwong/openwrt_r9鏡像。

docker pull raymondwong/openwrt_r9:autobuild-22.2.12-arm64

docker run --name openwrt \
--restart always \
-d --network macnet1 \
--ip=192.168.10.254 \
--privileged raymondwong/openwrt_r9:autobuild-22.2.12-arm64 /sbin/init

通常情況下,啟動一個dcoker鏡像,不需要指定網絡和ip,docker會自動設定;

但為了雙方互通互訪,這里設定為我們剛才創建的macnet1,并指定為192.168.10.254。

關于docker的網絡以及macvlan的使用,可以查看docker官方的資料

啟動后,可以查看當前運行的實例:

docker ps

c328f3c8-7697-11ed-b116-dac502259ad0.png


6. 互通互訪設置:

此時,需要在Ubuntu上,添加一個虛擬網絡接口,橋接到macvlan上去,并設定ip為192.168.10.253

sudo ip link add mymacvlan link eno0 type macvlan mode bridge
sudo ip addr add 192.168.10.253/24 dev mymacvlan
sudo ifconfig mymacvlan up

設置后,可以查看該虛擬網絡接口的狀態:

ip add show mymacvlan

c34822a2-7697-11ed-b116-dac502259ad0.png


7. 將物理網絡接口Ethernet 1~4分配給OpenWRT使用:

使用docker exec openwrt ifconfig,可以查看OpenWRT當前掛載的網絡接口。

要將網絡接口分配給OpenWRT使用,需要將其設置到OpenWRT的Docker Namespace隔離空間中來。

通過下面的步驟,進行操作:

首先,獲取當前OpenWRT的Namespace隔離空間:

nspid=$(sudo docker inspect -f '{{.State.Pid}}' openwrt)
echo $nspid

正常顯示,說明獲取到了;如果OpenWRT容器沒有運行了,則獲取不到。

然后進行設置:

sudo mkdir -p /var/run/netns/
sudo ln -s /proc/$nspid/ns/net /var/run/netns/$nspid

echo $nspid
ip netns list

c36c4e8e-7697-11ed-b116-dac502259ad0.png


兩者一致,說明ns空間設置正確,然后再設置網絡接口的歸屬:

sudo ip link set eth1 netns $nspid
sudo ip link set eth2 netns $nspid
sudo ip link set eth3 netns $nspid
sudo ip link set eth4 netns $nspid

此時,可以查看OpenWRT中,是否正確獲得這些網絡接口的使用權:

執行:

docker exec openwrt ifconfig

或者:

sudo ip netns exec $nspid ifconfig

c3920b7e-7697-11ed-b116-dac502259ad0.png


設置正確的情況下,將會看到eth1~4,已經分配到了OpenWRT中了。

而在Ubuntu主機中,執行ifconfig -a,將再也看不到這幾個網絡接口了。

然后,再為OpenWRT啟用這幾塊網絡接口即可:

sudo ip netns exec $nspid ip link set eth1 up
sudo ip netns exec $nspid ip link set eth2 up
sudo ip netns exec $nspid ip link set eth3 up
sudo ip netns exec $nspid ip link set eth4 up

sudo ip netns exec $nspid ifconfig

8. 配置OpenWRT的基礎網絡:

設置好網絡接口以后,就可以配置OpenWRT的基礎網絡,以便于后續進入圖形界面進行管理。

因為OpenWRT的Docker已經運行了,我們可以通過docker命令,直接連接到OpenWRT環境中來進行配置:

docker exec -it openwrt sh

c3bf29f6-7697-11ed-b116-dac502259ad0.png


通過上面的指令,進入OpenWRT的shell環境,然后,編輯網絡配置文件:

vi /etc/config/network

config interface 'lan'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.10.254'
option netmask '255.255.255.0'

config interface 'wan'
option ifname 'eth1'
option proto 'dhcp'

主要需要修改如下的部分:

c3db41cc-7697-11ed-b116-dac502259ad0.png


其目的,是設置eth0的固定ip位192.168.10.254,以便和Ubuntu互通互訪;

然后,設置eth1為WAN網絡接口,通過DHCP從主路由獲取ip地址。

配置完成后,重啟網絡,就能生效了:

/etc/init.d/network restart

用ifconfig可以查看網絡狀態:

c40814e0-7697-11ed-b116-dac502259ad0.png

因為使用了DHCP,所以eht1顯示的實際IP,可能會和我們上的圖不一致,因為是DHCP獲取的。

9. OpenWRT防火墻設置:

設置好了以后,我們還能不能直接從Ubuntu訪問,還需要進行防火墻設置:

vi /etc/firewall.user

# 在最后添加下面的內容:

# user
iptables -I INPUT -s 192.168.10.0/24 -j ACCEPT
iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE

具體如下:

c43b5a94-7697-11ed-b116-dac502259ad0.png


其中,iptable兩行設置,第一行允許192.168.10.0/24子網訪問管理,第二行允許eth1作為NAT讓子網設備上網。

10. 互通互訪測試:

在OpenWRT上,ping 192.168.10.253

在Ubuntu上,ping 192.168.10.254

c44914fe-7697-11ed-b116-dac502259ad0.png

在Ubuntu上,訪問OpenWRT的luci服務:

curl -v http://192.168.10.254/

c4794034-7697-11ed-b116-dac502259ad0.png


此時,互通互訪已經成功了。

11. 端口轉發設置:

但是,這是Ubuntu上和OpemWRT互訪互通,我們還需要在其他電腦上,能夠通過luci管理OpenWRT。

因為Ubuntu掛載主路由上,網段為192.168.1.0/24,ip為192.168.1.237,而我的MacBook Pro也掛載這個網段下,所以,進一步配置,使得通過瀏覽器訪問192.168.1.237能夠訪問到OpenWRT。

這一點,可以在Ubuntu上,通過iptables的端口轉發功能來實現,也可以通過軟件來實現。

因為后續還會有其他的測試,所以我用harpoxy這款專用代理軟件來實現。

sudo apt install haproxy

sudo vim /etc/haproxy/haproxy.cfg

# 添加下面的配置
frontend web_in
mode http
maxconn 1000
bind *:8000
use_backend openwrt_server

backend openwrt_server
mode http
balance roundrobin
option httpclose
server openwrt 192.168.10.254:80 check

具體操作如下圖:

c49f1318-7697-11ed-b116-dac502259ad0.png


上面的配置,表示將8000端口,反向代理到192.168.10.254的80端口,后續訪問 http://192.168.1.237:8000/

haproxy的功能非常強大,而且配置簡潔明了,推薦學習。

配置好以后,可以檢查配置,無誤后,即可運行:

sudo haproxy -f /etc/haproxy/haproxy.cfg -c

sudo /etc/init.d/haproxy start

c4ca880e-7697-11ed-b116-dac502259ad0.png

現在,基礎設置妥當了,可以進入OpenWRT的圖形管理界面了。

12 登錄OpenWRT管理界面:

直接訪問 http://192.168.1.237:8000/ 即可:【192.168.1.237為Ubuntu從主路由器獲得的ip地址】

c4e28724-7697-11ed-b116-dac502259ad0.png

默認的用戶名和密碼為:root password

輸入后即可進入管理界面:

c535d492-7697-11ed-b116-dac502259ad0.png?

raymondwong/openwrt_r9這個版本很強大,集成了很多功能:

c5616382-7697-11ed-b116-dac502259ad0.png

不過這篇文章主要是講建造,所以在這里就不多說了,感興趣的同學,可以詳細了解。

13. 子網設置:

之前我們將Ethernet1~4,均分配給了OpenWRT,分別掛在eth1~4,其中eth1用作WAN聯網,eth2~4我們就可以作為LAN的接口了。

如果了解MWAN,可以將eth2~4進行分配到MWAN使用,實現多網絡接入。

進入網絡-接口界面中,可以查看當前設置的網絡接口:

c5840c3e-7697-11ed-b116-dac502259ad0.png?

從上面可以看到:

eth0設置為LAN,ip為192.168.10.254,用于和Ubuntu互通互訪;

eth1設置為WAN,用于從主路由器獲取IP,接入網絡

下一步,點擊添加新接口,將剩下的網絡接口應用起來:

c5a9f2d2-7697-11ed-b116-dac502259ad0.png

在這里,給其取名為lan2,并設置為橋接模式,將eth2、3、4橋接到一起。

曾經嘗試過,將eth0也橋接到一起,但是會導致主路由的DHCP廣播通過macvlan污染過來。

然后,設置LAN2的地址:

c5d662fe-7697-11ed-b116-dac502259ad0.png

上述地址,也可以設置為192.168.11.1,這樣子看起來更給力一點,隨你心意了。

注意防火墻部分,勾選lan即可:

c613fdb2-7697-11ed-b116-dac502259ad0.png

最下面有DHCP的設置,開啟即可:

c643b048-7697-11ed-b116-dac502259ad0.png


最后點擊保存并應用并生效:

c66473b4-7697-11ed-b116-dac502259ad0.png

保存應用后,返回到了接口列表頁面,再點擊一下對應的連接按鈕,即可正式啟用:

c67c27b6-7697-11ed-b116-dac502259ad0.png

如果LAN2部分沒有顯示IP地址,表示沒有啟用,需要點擊連接即可。

此時,子網也設置好了,可以在Ethernet 2~4上,連接其他網絡設備測試了。

三、實際效果:

我這邊的實測測試,分別連接了三個設備:

Ethernet 2:連接星光派單板計算機

Ethernet 3:連接ThinkPad筆記本

Ethernet 4:連接Dell筆記本

c6a2d6d6-7697-11ed-b116-dac502259ad0.jpg

都順利的自動獲取IP地址并成功聯網:

c6c85352-7697-11ed-b116-dac502259ad0.jpg

c6ede9a0-7697-11ed-b116-dac502259ad0.png



在OpenWRT管理界面中,也可以查看當前連接的設備信息:

c768f794-7697-11ed-b116-dac502259ad0.png

四、總結

到這里,我們已經完成了這款超級強大的OpenWRT軟路由的建造了。關于OpenWRT的具體功能使用,同學們可以繼續摸索了。

得益于米爾MYD-J1028X開發板基于NXP LS1028A處理器的強大,這個軟路由性能良好,網速飛奔,頂呱呱!!!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發板
    +關注

    關注

    25

    文章

    5062

    瀏覽量

    97581
收藏 人收藏

    評論

    相關推薦

    人臉疲勞檢測應用-米爾基于RK3576核心/開發板

    本文將介紹基于米爾電子MYD-LR3576開發板米爾基于瑞芯微RK3576開發板)的人臉疲勞檢測方案測試。米爾基于RK3576核心
    的頭像 發表于 12-20 08:06 ?251次閱讀
    人臉疲勞檢測應用-<b class='flag-5'>米爾</b>基于RK3576核心<b class='flag-5'>板</b>/<b class='flag-5'>開發板</b>

    如何用OpenCV進行手勢識別--基于米爾全志T527開發板

    本文將介紹基于米爾電子MYD-LT527開發板米爾基于全志T527開發板)的OpenCV手勢識別方案測試。摘自優秀創作者-小火苗米爾基于全
    的頭像 發表于 12-13 08:04 ?720次閱讀
    如何用OpenCV進行手勢識別--基于<b class='flag-5'>米爾</b>全志T527<b class='flag-5'>開發板</b>

    米爾RK3576開發板特惠活動!

    近日,米爾電子發布基于瑞芯微RK3576核心開發板,RK3576作為國產熱門處理器,其高性能數據處理能力、領先的AI智能分析、強大的擴展性與兼容性受到廣大
    的頭像 發表于 11-12 01:00 ?293次閱讀
    <b class='flag-5'>米爾</b>RK3576<b class='flag-5'>開發板</b>特惠活動!

    基于OPENCV的相機捕捉視頻進行人臉檢測--米爾NXP i.MX93開發板

    本文將介紹基于米爾電子MYD-LMX93開發板米爾基于NXPi.MX93開發板)的基于OpenCV的人臉檢測方案測試。OpenCV提供了一個非常簡單的接口,用于相機捕捉一個視頻(我用
    的頭像 發表于 11-07 09:03 ?1107次閱讀
    基于OPENCV的相機捕捉視頻進行人臉檢測--<b class='flag-5'>米爾</b><b class='flag-5'>NXP</b> i.MX93<b class='flag-5'>開發板</b>

    198元,米爾NXP i.MX 93開發板,限購300套

    。即日,米爾聯合NXP推出活動:米爾NXPi.MX93開發板限量300套,僅售198元!此次活動針對企業客戶參與,需要您提供公司信息和聯系方式,請按如下流程操作:
    的頭像 發表于 09-27 08:00 ?374次閱讀
    198元,<b class='flag-5'>米爾</b><b class='flag-5'>NXP</b> i.MX 93<b class='flag-5'>開發板</b>,限購300套

    米爾NXP i.MX 93開發板試用評測】05.OpenWRT的構建-構建完成和燒錄

    openwrt-imx-cortexa55-imx93evk-squashfs-sdcard.img燒寫到SD卡里,然后撥碼0000,啟動就完事了。 ... 啥,又啟動失敗了? 不啟動失敗才有鬼哩,bootloader是用的米爾的,其他都是
    發表于 09-20 17:30

    米爾NXP i.MX 93開發板試用評測】04.OpenWRT的構建-開始編譯

    Community。 然后在里面發現了iMX93竟然也支持了Openwrt,雖然他支持的是NXP的iMX93 EVK開發板,但是這就相同芯片再加上開源的我們完全有可能在米爾的板子上也
    發表于 09-19 14:36

    米爾基于NXP iMX.93開發板的M33處理器應用開發筆記

    資源MYD-LMX9X開發板米爾基于NXPiMX.93開發板)3.軟件資源Windows7及以上版本軟件:IAREmbeddedWorkbench4.板載固件調試
    的頭像 發表于 06-29 08:01 ?1389次閱讀
    <b class='flag-5'>米爾</b>基于<b class='flag-5'>NXP</b> iMX.93<b class='flag-5'>開發板</b>的M33處理器應用<b class='flag-5'>開發</b>筆記

    點擊參與米爾NXP i.MX 93開發板有獎試用

    米爾NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X
    的頭像 發表于 06-13 08:02 ?550次閱讀
    點擊參與<b class='flag-5'>米爾</b><b class='flag-5'>NXP</b> i.MX 93<b class='flag-5'>開發板</b>有獎試用

    米爾NXP i.MX 93開發板的Qt開發指南

    1.概述Qt是一個跨平臺的圖形應用開發框架,被應用在不同尺寸設備和平臺上,同時提供不同版權版本供用戶選擇。米爾NXPi.MX93開發板(MYD-LMX9X開發板)使用Qt6.5版本進行
    的頭像 發表于 06-07 08:01 ?1756次閱讀
    <b class='flag-5'>米爾</b><b class='flag-5'>NXP</b> i.MX 93<b class='flag-5'>開發板</b>的Qt<b class='flag-5'>開發</b>指南

    免費!NXP i.MX 93開發板有獎試用

    米爾NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了2塊價值678
    的頭像 發表于 05-23 08:01 ?738次閱讀
    免費!<b class='flag-5'>NXP</b> i.MX 93<b class='flag-5'>開發板</b>有獎試用

    OpenWRT 開源社區官方第一塊開發板 OpenWrt One/AP-24.XY,正式面世

    OpenWRT 開源社區官方第一塊開發板 OpenWrt One/AP-24.XY,正式面世。將由比派科技Banana Pi 開源社區生產與分發銷售 https
    發表于 04-09 11:32

    [廣東龍芯2K1000/2K500開發板] OpenWRT 使用說明

    /feeds install -a 2. 二次開發 2.1 修改UBIFS頁大小 在不同的開發板上可能使用不同頁大小NAND,這時候就要修改 UBIFS 的各項參數 初步適配參數 在 target
    發表于 02-19 14:40

    即將推出的 OpenWrt One/AP-24.XY:OpenWrt官方 和 Banana Pi官方合作路由

    OpenWrt開發人員正在與Banana Pi合作開發OpenWrt One/AP-24.XY路由
    的頭像 發表于 01-15 18:02 ?921次閱讀
    即將推出的 <b class='flag-5'>OpenWrt</b> One/AP-24.XY:<b class='flag-5'>OpenWrt</b>官方 和 Banana Pi官方合作<b class='flag-5'>路由</b>器<b class='flag-5'>板</b>

    即將推出的 OpenWrt One/AP-24.XY:OpenWrt 和 Banana Pi 合作路由

    OpenWrt開發人員正在與Banana Pi合作開發OpenWrt One/AP-24.XY路由
    發表于 01-13 09:56
    主站蜘蛛池模板: 欧美色婷婷| www.色.con| 欧美午夜在线视频| 嫩草影院在线入口| 久色99| 国产亚洲婷婷香蕉久久精品| 成人在线综合| 亚洲色图17p| 欧美午夜视频一区二区三区| 天堂成人网| 天天做天天添婷婷我也去| 色无五月| 精品三级国产精品经典三| 国产伦子系列视频6| 亚洲午夜视频在线| 人人艹人人干| 钻石午夜影院| 精品一区亚洲| 2015xxxx欧美| 激情久久婷婷| 手机毛片| 九九涩| 午夜在线观看福利| 国产午夜精品福利久久| caoporn97人人做人人爱最新| 老熟女毛片| 色丁香影院| 四虎美女| 美女网站色在线观看| www.色.com| 狠狠干夜夜爽| 日本一区二区三区在线观看视频| 在线一级毛片| 欧美人成在线观看| 69成人免费视频| 国产午夜在线视频| 精品国产免费观看久久久| 四虎4hu影库永久地址| 狠狠激情五月综合婷婷俺| 天天干夜夜夜操| 免费在线h视频|