嵌入式裝置路由網路共享開發(1) 專欄開篇

2021-09-28 00:03:56 字數 2271 閱讀 4731

對於嵌入式裝置產品,一般會有乙個有線網絡卡,4g模組網絡卡或者wifi網絡卡,當4g模組網絡卡或者wifi網絡卡有網路時,怎麼

使得另外乙個有線網絡卡網路共享給其他裝置上網,這就本部落格主要講解的內容;

本專欄目錄如下,按順序閱讀,有助於你的理解。

(2)、wifi模組(mt7601),移植wifi模組驅動並使用sta模式上網,可以檢視博主文章:嵌入式裝置路由網路共享開發(3):wifi驅動(mt7601)的移值

至此,可以通eth1或者ra0網絡卡上網,能ping www.baidu.com就行。

1、修改配置檔案配置網絡卡eth0為靜態ip

# vi /etc/network/inte***ces

auto eth0

iface eth0 inet static

address 192.168.42.134

netmask 255.255.255.0

gateway 192.168.42.1

dns-nameserver 8.8.8.8

注意:

(1)、【eth0】是我的系統的網絡卡名,用ifconfig可以檢視自己機器的網絡卡名

(2)、設定為【static】表示靜態ip(linux預設獲取ip方式是dhcp,自動獲取的)

(3)、最後一句dns-nameserver 8.8.8.8表示重啟網絡卡或者linux系統之後,會自動在/etc/resolv.conf中新增這個dns

(4)、sudo /etc/init.d/networking restart 重啟網絡卡

2、使用**配置靜態ip

# ifconfig eth0 192.168.100.100 netmask 255.255.255.0

在嵌入式產品中,會改變裝置的網口ip位址,這時候就需要在**邏輯中進行靈活性的配置;

1、關於iptables的使用,詳解檢視:嵌入式裝置路由網路共享開發(4):iptables詳解;

配置net路由模式使用下面命令:

iptables -t nat -a postrouting -o eth1 -j masquerade 

iptables -a forward -i eth1 -o eth0 -m state --state related,establish -j accept 

iptables -a forward -i eth0 -o eth1 -j accept

eth1為已經有網路的網絡卡,eth0為需要配置上網的有線網絡卡;

2、開啟linux下的網口**

出於安全考慮,linux系統預設是禁止資料報**的。

所謂**即當主機擁有多於一塊的網絡卡時,其中一塊收到資料報,根據資料報的目的ip位址將包發往本機另一網絡卡,該網絡卡根據路由表繼續傳送資料報。配置linux系統的ip**功能,首先保證硬體連通,然後開啟系統的**功能

cat /proc/sys/net/ipv4/ip_forward,該檔案內容為0,表示禁止資料報**,1表示允許。

這裡我設定為1,開啟資料報**:

echo "1" > /proc/sys/net/ipv4/ip_forward
1、建立/udhcpd_eth0.conf 配置檔案

#vi /var/dvr/udhcpd_eth0.conf 

start     192.168.100.2

end     192.168.100.99

inte***ce     eth0

opt    router    192.168.100.100

opt    subnet    255.255.255.0

max_leases   99

opt    dns       202.96.134.33

這個配置eth0網絡卡為udhcpd伺服器,可以分配的ip從192.168.100.2--192.168.100.99,路由ip為192.168.100.100,最多可以分配99ip位址,dns為202.96.134.33

注意:這裡的dns一定可以上網網絡卡eth1/ra0的dns,如果改變了,這裡也需要同步改變;

2、啟動udhcpd  服務

udhcpd -f /var/dvr/udhcpd_eth0.conf &

嵌入式Linux裝置驅動開發 1

使用者程序是通過裝置檔案來與實際的硬體打交道。每個裝置檔案都有其檔案屬性 c b 如表示是字元裝置還是塊裝置。另外每個檔案都有兩個裝置號,第乙個是主裝置號,用於標識驅動程式 第二個是從裝置號,用於標識使用同一裝置驅動的不同的硬體裝置。裝置檔案的主裝置號必須與裝置驅動程式在登記時申請的主裝置號一致,否...

嵌入式 網際網路,共享 IoT 賽道入場券

面對這 2 類訴求不同 痛點不一的使用者,阿里雲 iot 平台恰好提供了合拍的解決方案 裝置端部分,優先選用支援 alios things 系統的硬體裝置,原因是系統本身已經封裝了阿里雲 iot 平台的 sdk,無需開發者再手動移植,對於不熟悉嵌入式裝置開發的傳統網際網路開發者可謂是個福音。當然,嵌...

嵌入式怎麼將共享檔案拷貝到目錄 嵌入式開發環境搭建

嵌入式系統 核心層 通過將硬體虛擬成為檔案,此層主要用於操作硬體和保護硬體 硬體層 所有的硬體裝置 嵌入式linux交叉編譯環境 主機 可以執行linux或者vm上執行linux 目標板 開發版 連線介質 串列埠線 網線 開發版與主機用網線和串列埠線進行連線 可以訪問板子上的檔案,相當於linux系...