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

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

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)嵌入式Linux主板多網(wǎng)口多路由方案

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-07 10:48 ? 次閱讀

主流的英創(chuàng)嵌入式主板均支持雙網(wǎng)絡(luò)接口,其中支持ISA擴展總線的主板型號,如:EM335x、ESM335x、ESM6802、ESM6800V等,還可以通過ISA總線外接ETA728模塊,再擴展兩路獨立的10M/100M網(wǎng)絡(luò),從而可構(gòu)成4網(wǎng)口系統(tǒng)。多網(wǎng)絡(luò)口的英創(chuàng)主板在工業(yè)應(yīng)用中的典型應(yīng)用是作為通訊管理機,通過網(wǎng)絡(luò)將應(yīng)用數(shù)據(jù)上傳至數(shù)據(jù)中心。在實際應(yīng)用中,有些需求是將應(yīng)用數(shù)據(jù)上傳至不同的數(shù)據(jù)中心,這就需要多網(wǎng)口多路由的支持,也就是說每個網(wǎng)口有自己獨立的路由表,在英創(chuàng)Linux主板上通過相關(guān)的配置,即可實現(xiàn)上述功能,本文以ESM335x主板為例重點介紹該配置方案。

1、Linux內(nèi)核配置

為了支持多路由表功能,內(nèi)核配置中必須設(shè)置:

CONFIG_IP_ADVANCED_ROUTER=y

CONFIG_IP_MULTIPLE_TABLES=y

具體menuconfig位置如下:

Networking support --->

Networking options

[*] IP: advanced router

[*] IP: policy routing

2、利用ip route配置生成多路由表

對于多個路由表,是通過/etc/iproute2/rt_tables進行管理的,Linux系統(tǒng)最多可以支持255張路由表,其中3張是內(nèi)置的:

255 local

254 main

253 default

分別表示了路由表table的序號和名稱。在英創(chuàng)主板上對于各個網(wǎng)口的路由表定義序號從1開始,名稱就采用網(wǎng)口名稱。如:

1eth0

2eth1

3eth2

4eth3

生成路由表的步驟如下:

1、在rt_tables文件中增加一個路由表的序號和名稱:

#>echo “1 eth0” >> /etc/iproute2/rt_tables

#>echo “2 eth1” >> /etc/iproute2/rt_tables

配置好后,可以用cat命令查看rt_tables文件:

2、定義路由表規(guī)則

利用2個Linux工具ip route、ip rule來定義路由表規(guī)則,可以用來指定IP地址的數(shù)據(jù)選擇指定的路由表。

#>ip route add 192.168.202.0/24 dev eth1 src 192.168.202.175 table eth1

#>ip route add default via 192.168.202.1 dev eth1 table eth1

#>ip rule add from 192.168.202.175/32 table eth1

#>ip rule add to 192.168.202.175/32 table eth1

#>route add default gw 192.168.202.1

增加后,可以用ip route show table eth1來查看:

按照此定義的路由表規(guī)則,即所有來自“192.168.202.175”的IP數(shù)據(jù)包訪問外網(wǎng)時選擇eth1路由表,并使用該網(wǎng)段的網(wǎng)關(guān)路由。

3、自動生成多網(wǎng)絡(luò)路由表

在多網(wǎng)絡(luò)的情況下,為了方便客戶使用,我們采用網(wǎng)絡(luò)配置文件(ifcfg-eth*)和加載腳本文件(route-cfg.sh)來完成多個路由表的自動配置,免除了逐一配置的繁瑣過程。

其中 ifcfg-eth*用于配置各個網(wǎng)絡(luò)的參數(shù),一個文件對應(yīng)于一個網(wǎng)口,例如對eth0的配置文件名為ifcfg-eth0,其文件內(nèi)容如下:

DEVICE=eth0 // 網(wǎng)絡(luò)名稱
TABLENUM=1 // table 序號
NETWORK=192.168.201.0 // 網(wǎng)段IP
NETMASK=255.255.255.0 // 子網(wǎng)掩碼
ROUTER=192.168.201.1 // 本網(wǎng)口的路由網(wǎng)關(guān)IP
IPADDR=192.168.201.175 // 本網(wǎng)口IP地址

按上述方法生成好需要的若干配置文件ifcfg-eth*后,將ifcfg-eth*和route-cfg.sh均復制到/mnt/nandflash/目錄下。然后直接執(zhí)行腳本文件route-cfg.sh即可自動完成路由表配置,該文件會根據(jù)ifcfg-eth*文件中的參數(shù),自動生成所需的多網(wǎng)口多路由表

#/mnt/nandflash/>./route-cfg.sh

route-cfg.sh文件內(nèi)容如下:

#!/bin/sh

for interface_file in $(ls /mnt/nandflash/ifcfg-eth*) ;do

. ${interface_file}

prefix=$(ipcalc -p ${IPADDR} ${NETMASK} | awk -F= '{print $2}')

tablenum=${TABLENUM}

if ! grep "^${tablenum} ${DEVICE}$" /etc/iproute2/rt_tables >/dev/null ;then

echo "${tablenum} ${DEVICE}" >>/etc/iproute2/rt_tables

fi

echo ${DEVICE}: IPADDR=${IPADDR} gw=${ROUTER}

ifconfig ${DEVICE} ${IPADDR}

# flush table

ip route flush table ${DEVICE}

# add table

ip route add ${NETWORK}/${prefix} dev ${DEVICE} src ${IPADDR} table ${DEVICE}

ip route add default via ${ROUTER} dev ${DEVICE} table ${DEVICE}

ip rule add from ${IPADDR}/32 table ${DEVICE}

ip rule add to ${IPADDR}/32 table ${DEVICE}

# add default gw

route add default gw ${ROUTER}

done

4、測試網(wǎng)絡(luò)

以ESM335x為核心,搭建雙網(wǎng)口雙網(wǎng)關(guān)的多路由系統(tǒng),作為測試環(huán)境。下圖為雙網(wǎng)口網(wǎng)絡(luò)拓撲圖:

最簡單的方法就是利用ping命令進行測試,ping命令可以指定網(wǎng)口。如:

#> ping -I eth0 202.98.96.68 (指定通過eth0 訪問外網(wǎng) -> internet網(wǎng)站)

#> ping -I eth1 192.168.203.70 (指定通過eth1 訪問外網(wǎng) -> 企業(yè)數(shù)據(jù)中心)

如果利用系統(tǒng)的多路由表,也可以不用指定網(wǎng)口進行ping測試,但是系統(tǒng)有個自動選路的處理,會存在一定的延時。

#> ping 202.98.96.68

#> ping 192.168.203.70

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11335

    瀏覽量

    210068
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6086

    瀏覽量

    35510
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式主板的概述與發(fā)展

    隨著科技的迅猛發(fā)展,嵌入式系統(tǒng)在現(xiàn)代電子產(chǎn)品中扮演著越來越重要的角色。嵌入式主板作為嵌入式系統(tǒng)的核心組件之一,承擔著控制、處理和通訊等多種功能。本文將對
    的頭像 發(fā)表于 01-13 16:30 ?214次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>的概述與發(fā)展

    ARM架構(gòu)嵌入式主板特點

    嵌入式主板可以理解為嵌入在設(shè)備中用于控制和數(shù)據(jù)處理的CPU板,也就是設(shè)備的“大腦”。當主板嵌入到設(shè)備中,當然對
    的頭像 發(fā)表于 12-31 16:03 ?267次閱讀
    ARM架構(gòu)<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>特點

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計算機的硬件和軟件嵌入
    的頭像 發(fā)表于 10-16 10:14 ?1318次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計算機硬件,其設(shè)計旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式
    的頭像 發(fā)表于 09-30 10:05 ?719次閱讀

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個復雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動開發(fā)、應(yīng)用程序開發(fā)等多個方面。以下是嵌入式Linux開發(fā)的基本步驟,以及每個步驟的說明。 硬件選擇 在開始
    的頭像 發(fā)表于 09-02 09:11 ?580次閱讀

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺。它通常包括一個處理器、內(nèi)存、存儲器、輸入/輸出接口等硬件組件,以及一個基于L
    的頭像 發(fā)表于 09-02 09:09 ?440次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺,它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。 嵌入式
    的頭像 發(fā)表于 09-02 09:07 ?437次閱讀

    飛凌嵌入式技術(shù)創(chuàng)新日(深圳站)圓滿落幕

    2024年8月26日下午,飛凌嵌入式技術(shù)創(chuàng)新日深圳站在深圳威尼斯迪格酒店盛大舉行,此次活動匯聚了近200位嵌入式技術(shù)領(lǐng)域的專家和企業(yè)代表,
    的頭像 發(fā)表于 08-30 15:42 ?383次閱讀
    飛凌<b class='flag-5'>嵌入式</b><b class='flag-5'>技術(shù)</b>創(chuàng)新日(深圳站)圓滿落幕

    飛凌嵌入式技術(shù)創(chuàng)新日(深圳站)精彩回顧

    2024年8月26日下午,飛凌嵌入式技術(shù)創(chuàng)新日深圳站在深圳威尼斯迪格酒店盛大舉行,此次活動匯聚了近200位嵌入式技術(shù)領(lǐng)域的專家和企業(yè)代表,
    發(fā)表于 08-28 09:06

    專為商用平板設(shè)計的RK3588嵌入式主板方案,以智能購物車平板為例

    本文將帶你了解基于RK3588的嵌入式主板在商用平板中的應(yīng)用優(yōu)勢,幫助廠家和企業(yè)找到合適的嵌入式產(chǎn)品方案
    的頭像 發(fā)表于 07-22 17:55 ?860次閱讀
    專為商用平板設(shè)計的RK3588<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b><b class='flag-5'>方案</b>,以智能購物車平板為例

    介紹一種嵌入式Linux中的錄音降噪方案

    降噪不僅只能從硬件入手,本文為您介紹一種嵌入式Linux中的錄音降噪方案。該方案完全依靠軟件實現(xiàn),最大程度上降低投入。
    的頭像 發(fā)表于 05-21 11:52 ?600次閱讀

    翼輝信息入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單

    近日,2023 年(第五屆)信息技術(shù)應(yīng)用創(chuàng)新解決方案公布遴選名單,歷經(jīng)資格初審、技術(shù)中評、區(qū)域評議、終評預審,翼輝以“面向工業(yè)領(lǐng)域嵌入式操作系統(tǒng) SylixOS 解決
    的頭像 發(fā)表于 04-28 11:37 ?595次閱讀
    翼輝<b class='flag-5'>信息</b>入選2023年<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新解決<b class='flag-5'>方案</b>名單

    嵌入式工控機主板應(yīng)用場景

    嵌入式工控機主板在多個領(lǐng)域中有著廣泛的應(yīng)用,其特點包括體積小、集成度高、功耗低以及控制功能強等。以下是嵌入式工控機主板的一些主要應(yīng)用領(lǐng)域:
    的頭像 發(fā)表于 04-25 17:06 ?1803次閱讀

    嵌入式主板,你了解多少?

    嵌入式主板,也稱為嵌入式計算機主板,是一種專門設(shè)計用于嵌入式系統(tǒng)的計算機主板。與臺式機和筆記本電腦中使用的常規(guī)
    的頭像 發(fā)表于 04-17 15:11 ?1555次閱讀

    定制嵌入式主板,需要考慮的功能有哪些?

    隨著科技的不斷發(fā)展和進步,嵌入式系統(tǒng)在各行各業(yè)中得到了廣泛的應(yīng)用。嵌入式主板作為嵌入式系統(tǒng)的核心組件,起著至關(guān)重要的作用。在定制嵌入式
    的頭像 發(fā)表于 02-29 17:38 ?551次閱讀
    定制<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>,需要考慮的功能有哪些?