ARM Linux系統使用雙網口的設定方法

2021-08-20 08:23:23 字數 4113 閱讀 9510

使用雙網口有兩種情況,以下以myd-am335x為例,說明如何同時使用開發板的兩個網口。

第一種:不同網段

如果兩個網口配置成不同網段,那就很簡單,分別把兩個網口配置成對應的ip位址,比如eth0連線到路由器上(閘道器192.168.1.1),eth1連線到本地電腦上(閘道器169.254.1.1),那麼,配置好eth0和eth1的ip位址就可以了:

1

2

ifconfigeth0 192.169.1.100 up

ifconfigeth1 169.254.1.100 up

在開發板上,通過分別 ping 路由器上其他電腦,以及本地pc的ip位址可以驗證是否已經連通:

1

2

pingeth0 192.169.1.99 (路由器上某台電腦 ip)

pingeth1 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/networkingrestart

或者1

/etc/init.d/s40networkrestart

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 ...