使用雙網口有兩種情況,以下以myd-am335x為例,說明如何同時使用開發板的兩個網口。
第一種:不同網段
如果兩個網口配置成不同網段,那就很簡單,分別把兩個網口配置成對應的ip位址,比如eth0連線到路由器上(閘道器192.168.1.1),eth1連線到本地電腦上(閘道器169.254.1.1),那麼,配置好eth0和eth1的ip位址就可以了:
1
2
ifconfig
eth0 192.169.1.100 up
ifconfig
eth1 169.254.1.100 up
在開發板上,通過分別 ping 路由器上其他電腦,以及本地pc的ip位址可以驗證是否已經連通:
1
2
ping
eth0 192.169.1.99 (路由器上某台電腦 ip)
ping
eth1 169.254.1.99 (本地電腦 ip)
第二種:相同網段
注意:這個方法暫未驗證通過,謹慎使用!
1)配置兩個網絡卡的ip位址為靜態ip,
1
vi
/etc/network/inte***ces
輸入如下內容:
01
02
03
04
05
06
07
08
09
10
11
12
13
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.250
netmask 255.255.255.0
gateway 192.168.1.1
#iface eth1 inet dhcp
auto eth1
iface eth1 inet static
address 169.254.1.250
netmask 255.255.0.0
gateway 169.254.1.1
儲存配置資訊並重新啟動網絡卡,使配置生效:
1
/etc/init
.d
/networking
restart
或者1
/etc/init
.d
/s40network
restart
2)設定路由表
使用route命設定第一塊網絡卡eth0的路由表:
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
設定第二塊網絡卡eth1的路由表:
route add -net 169.254.1.0 netmask 255.255.0.0 dev eth1
使用route命令來觀察路由情況:
1
2
3
4
5
6
7
route
kernel ip routing table
destination gateway genmask flags metric ref use iface
default 169.254.1.1 0.0.0.0 ug 0 0 0 eth1
default 192.168.1.1 0.0.0.0 ug 0 0 0 eth0
169.254.0.0 * 255.255.0.0 u 0 0 0 eth1
192.168.1.0 * 255.255.255.0 u 0 0 0 eth0
通過以下命令可以看到網口的閘道器:
1
2
netstat
–r
ip route show
# route -n
3.增加路由規則
# ip route flush table tel
# ip route add default via 114.80.0.3 dev eth0 src 114.80.0.4 table tel
# ip ruleadd from 114.80.0.4 table tel此處是設定電信的閘道器,並可實現讓電信的資源訪問只從eth0網絡卡出去# ip route flush table cnc
# ip route add default via 112.65.0.1 dev eth1 src 112.65.0.2 table cnc
# ip rule add from 112.65.0.2 table cnc此處是設定聯通的閘道器,並可實現讓聯通的資源訪問只從eth1網絡卡出去
4.配置networking啟動指令碼檔案 在結尾exit 0之前增加如下內容
# vi /etc/init.d/networkingip route flush table tel
ip route add default via 114.80.0.3 dev eth0 src 114.80.0.4 table tel
ip rule add from 114.80.0.4 table telip route flush table cnc
ip route add default via 112.65.0.1 dev eth1 src 112.65.0.2 table cnc
ip rule add from 112.65.0.2 table cncexit 0
5,退出並重啟網路
# /etc/init.d/networking restart此時再測試機器網路情況,就會發現電信和聯通的位址都可以正常訪問了。此方法還可以實現讓從電信ip過來的請求按照電信路由返回,從網通ip過來的請求從網通路由返回。補充:網上有些大神說如果伺服器重啟,或者網路服務重啟,上述的路由規則就失效了,所以你需要把上面這段命令寫入系統啟動指令碼和網路啟動指令碼如果是ubuntu/debian,系統啟動指令碼是/etc/rc.local
如果是redhat/centos,系統啟動指令碼是/etc/rc.d/rc.local如果是ubuntu/debian,網路啟動指令碼是/etc/init.d/networking
如果是redhat/centos,網路啟動指令碼是/etc/rc.d/init.d/network
如果是myd-sam9x5開發板,系統啟動指令碼是/etc/rc5.d/
對於系統啟動指令碼本次並沒有做更改只是更改了網路啟動指令碼,有興趣的同學可以測試下。
本文出自 「
longwind
」 部落格,請務必保留此出處
雙網口回環測試
最近碰到這樣乙個問題,一台linux機器上裝有兩個網絡卡,分別為eth0和eth1,將這兩個網絡卡用網線直接連線起來,要進行回環測試,也就是從eth1發資料從eth0收到,從eth0發資料從eth1收到。本來,通過原始套接字,直接繫結到指定的網絡卡上進行接收和傳送資料,是很容易完成任務。但要求是要用...
Linux 雙網口配置
方法一 內網ip為 192.168.4.213,內網閘道器 192.168.4.1 外網ip為 58.200.200.15 子網掩碼為 255.255.255.128 閘道器為 58.200.200.1 1 當配置伺服器為外網ip和內網ip的方式時,只設定外網ip的閘道器,不要設定內網ip的閘道器 ...
雙網口實現網口2做WAN口
裝置使用的是中嵌科技的閘道器裝置,現在有兩個網口,其中網口1用於和我的電腦建立ssh通訊,網口2準備接路由器上網。先看看系統版本 root ec2022v cat proc version linux version 3.6.9 rt21 emfuture root imx gcc version ...