|
PS:
本文轉(zhuǎn)自 飛凌嵌入式技術(shù)交流群
這個(gè)是由群里一些工程師朋友做的小實(shí)驗(yàn),可以作為參考。
嵌入式Linux簡單路由實(shí)驗(yàn)
本實(shí)驗(yàn)所用硬件平臺(tái)為飛凌(www.witech.com.cn)TE2440V2型開發(fā)板;該開發(fā)板上有兩個(gè)網(wǎng)卡芯片,分別為CS8900和DM9000;在linux操作系統(tǒng)(采用2.6.12版本的內(nèi)核)下兩個(gè)網(wǎng)卡對(duì)應(yīng)的設(shè)備名分別為eth0和eht1。
本實(shí)驗(yàn)中TE2440V2開發(fā)板作為路由器連接兩個(gè)局域網(wǎng):192.168.0.*和192.168.1.*,對(duì)應(yīng)網(wǎng)關(guān)分別為192.168.0.3和192.168.1.3。
1. 配置開發(fā)板上兩個(gè)網(wǎng)卡的IP地址:
# ifconfig eth0 192.168.0.3 up
# ifconfig eth0 192.168.1.3 up
用ifconfig命令查看網(wǎng)卡信息如下:
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:00:02:50:10:08
inet addr:192.168.0.3 Bcast:192.168.0.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:33310 errors:0 dropped:0 overruns:0 frame:0
TX packets:5437 errors:55 dropped:0 overruns:25 carrier:5
collisions:798 txqueuelen:1000
RX bytes:6283109 (5.9 MiB) TX bytes:3796550 (3.6 MiB)
Interrupt:53 Base address:0x300
eth1 Link encap:Ethernet HWaddr 00:12:34:56:80:49
inet addr:192.168.1.3 Bcast:192.168.1.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38618 errors:0 dropped:0 overruns:0 frame:0
TX packets:2997 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:51 Base address:0x8300
2. 開啟Linux內(nèi)核的路由轉(zhuǎn)發(fā)功能(注意1后面有空格):
#echo 1 >/proc/sys/net/ipv4/ip_forward
可通過如下命令查看路由轉(zhuǎn)發(fā)是否開啟,1為開啟,0為關(guān)閉。
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
# more /proc/sys/net/ipv4/ip_forward
1
路由表不用配置,用自動(dòng)生成的就可以:
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
3. 測(cè)試:用兩個(gè)局域網(wǎng)內(nèi)(192.168.0.*、192.168.1.*)的PC機(jī),分別將其默認(rèn)網(wǎng)關(guān)設(shè)置為192.168.0.3和192.168.1.3(這里對(duì)應(yīng)路由器的IP地址),然后用ping命令測(cè)試。我用的兩個(gè)客戶機(jī)的IP分別為192.168.0.221和192.168.1.228,測(cè)試結(jié)果如下:
C:\Documents and Settings\Administrator>ipconfig
Windows IP Configuration
Ethernet adapter 本地連接 5:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.228
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.3
C:\Documents and Settings\Administrator>ping 192.168.0.221 -l 65500
Pinging 192.168.0.221 with 65500 bytes of data:
Reply from 192.168.0.221: bytes=65500 time=298ms TTL=63
Reply from 192.168.0.221: bytes=65500 time=244ms TTL=63
Reply from 192.168.0.221: bytes=65500 time=230ms TTL=63
Reply from 192.168.0.221: bytes=65500 time=257ms TTL=63
Ping statistics for 192.168.0.221:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 230ms, Maximum = 298ms, Average = 257ms
C:\Documents and Settings\Administrator>ipconfig
Windows IP Configuration
Ethernet adapter 本地連接 3:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.0.221
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.3
C:\Documents and Settings\Administrator>ping 192.168.1.228 -l 65500
Pinging 192.168.1.228 with 65500 bytes of data:
Reply from 192.168.1.228: bytes=65500 time=240ms TTL=127
Reply from 192.168.1.228: bytes=65500 time=263ms TTL=127
Reply from 192.168.1.228: bytes=65500 time=226ms TTL=127
Reply from 192.168.1.228: bytes=65500 time=282ms TTL=127
Ping statistics for 192.168.1.228:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 226ms, Maximum = 282ms, Average = 252ms |
|