ZYNQ7020使用eth1
❶ linux配置中eth0和eth1做什麼用的
都是上網用的,只是名稱不同。
eth0,eht1相當於windows的本地連接1本地連接2,就是告訴你現在又兩塊網卡,一塊叫eth0,另一塊叫eth1。
例如:
目錄etc/sysconfig/network-scripts下面,ifcfg-eth0就代表eth0的配置,把文件改成了eth1,文件內容做下修改, 那就是eth1了。
當然,這種配置方法並不適用於所有的linux系統,但對RHEL是適用的。
(1)ZYNQ7020使用eth1擴展閱讀:
使用注意事項
子網卡在這里並不是實際上的網路介面設備,但是可以作為網路介面在系統中出現,如eth0:1、eth1:2這種網路介面。它們必須要依賴於物理網卡,雖然可以與物理網卡的網路介面同時在系統中存在並使用不同的IP地址,而且也擁有它們自己的網路介面配置文件。但是當所依賴的物理網卡不啟用時(Down狀態)這些子網卡也將一同不能工作。
如果將一個物理網卡通過vconfig命令添加到多個VLAN當中去的話,就會有多個VLAN虛擬網卡出現,他們的信息以及相關的VLAN信息都是保存在/proc/net/vlan/config這個臨時文件中的,而沒有獨自的配置文件。它們的網路介面名是eth0.1、eth1.2這種名字。
❷ linux配置中eth0和eth1做什麼用的
eth0和eth1這是網卡設備,
只是個名稱不必糾結,不是那誰說的一個普通網卡一個無線網卡,他什麼都不懂。
通常伺服器會有多個網卡的,所以就有eth0
eth1
eth2
這樣的名稱,
而且在一些系統中對於無線網卡會命名為wlan0
wlan1。。。。
具體的你可以看看目錄etc/sysconfig/network-scripts下面,
ifcfg-eth0就代表eth0的配置,你把文件改成了eth1,文件內容做下修改,
那就是eth1了。。
當然,這種配置方法並不適用於所有的linux系統,但對RHEL是適用的。
❸ 如何用linux建立eth1
cp ifcfg-eth0 ifcfg-eth1
然後 vi ifcfg-eth1
按照 裡面的 參數 設置 就可以
最簡單 方法 如果你有 安裝upset
用upset吧
❹ ZYNQ+linux網口調試筆記(3)PL-ETH
在ZYNQ上使用gigE Vision協議的網路介面相機。
第一步:調通PS側網口GEM0(Xilinx BSP默認配好)。
第二步:調通PS側網口GEM1(見前一篇文檔:開發筆記(1))。
第三步:調通PL側網口(本文闡述)。
第四步:在PL側網口上驗證Jumbo Frame特性,並在應用層適配gigE Vision協議。
根據《xapp1082》可知,PL側的PHY支持1000Base-X和SGMII兩種配置,這兩種配置對應兩種不同的PHY引腳介面(連接到MAC)。而我們的hdf文件使用的是1000Base-X的配置。
關於網口的Linux驅動,我們在官網找到一份資料: Xilinx Wiki - Zynq PL Ethernet 。資料很長,我們只看與我們相關的2.4.1 PL Ethernet BSP installation for 1000Base-X」這一章節就可以了。
首先導入FPGA設計同事提供的hdf文件:
在彈出的圖形界面里,進入Subsystem AUTO Hardware Settings——Ethernet Settings——Primary Ethernet,確認可以看到PL側網路設備axi_ethernet_0,說明hdf文件里已包含了必要的網口硬體信息:
上圖中被選中的網口將成為Linux上的設備eth0。這里我們默認選擇ps7_ethernet_0,即使用GEM0作為首選網口。
啟用Xilinx AXI Ethernet驅動
進入Device Drivers -- Network device support – 選中Xilinx AXI Ethernet(以及Xilinx Ethernet GEM,這是PS側網口的驅動)
進入Networking support – 選中 Random ethaddr if unset
進入Device Drivers -- Network device support -- PHY Device support and infrastructure – 啟用Drivers for xilinx PHYs
進入~~~~Device Drivers -- DMA Engine Support -– 禁用~~~~Xilinx AXI DMAS Engine~~~ (對應的配置項名為 ~~ CONFIG_XILINX_DMA ~~~)
注意: Xilinx Wiki里對設備樹節點的引用有誤(&axi_ethernet),導致編譯報錯,應改為&axi_ethernet_0。
註:PL-ETH驅動所在路徑:<project>/build/tmp/work-shared/plnx_arm/kernel-source/drivers/net/ethernet/xilinx/xilinx_axienet_main.c和xilinx_axienet_mdio.c。對應的內核配置項為CONFIG_NET_VENDOR_XILINX和CONFIG_XILINX_AXI_EMAC。
啟用ethtool和tcpmp(調試用,非必須):
然後將生成的BOOT.BIN和image.ub拷貝到SD卡根目錄下,將SD卡插入板子上,上電運行。
上電後,使用ifconfig eth1查看網口信息,觀察MAC地址與設置的一致,且ifconfig eth1 192.168.1.11 up沒有報錯。
測試網路通路:ping PC是通的。說明網口工作正常。
Linux下eth1(即PL-ETH)的MAC地址有誤
問題描述:
開機列印:
注意:
MAC地址是錯的,驅動里解析出的是GEM0的MAC地址。
試驗發現,即使在system-user.dtsi里不寫local-mac-address,也照樣解析出的是GEM0的MAC。
而將system-user.dtsi里的local-mac-address改名為pl-mac-address,並將驅動里解析的字元串也對應更改為pl-mac-address,則可以正確解析出來:
Passing MAC address to kernel via Device Tree Blob and U-Boot:
http://zedboard.org/content/passing-mac-address-kernel-device-tree-blob
通過更改u-boot環境變數和設備樹,為每個板子設置一個獨特的MAC地址:
https://www.xilinx.com/support/answers/53476.html
U-Boot里的環境變數ethaddr會覆蓋掉設備樹里pl-eth的local-mac-addr欄位,從而影響Linux啟動後的網卡MAC地址;
但U-Boot里的環境變數ipaddr不會對Linux啟動後的配置產生任何影響。因為設備樹里根本就沒有關於IP地址的配置。
phy-mode怎麼會是sgmii?查了下官方的提供的BSP里,也是「sgmii」。說明這個沒問題。具體原因不清楚。
@TODO: 設備樹里的中斷號的順序如何影響功能?
為何讀出來的IRQ號不對呢?這是因為這里讀到的不是硬體的中斷號,而是經過系統映射之後的軟體IRQ number。兩者不具有線性關系。
關於中斷號的疑問:
Linux上的網口eth0、eth1的順序,似乎是按照phy地址從小到大來排布的。
Xilinx xapp1082-zynq-eth.pdf (v5.0) July 16, 2018
https://www.xilinx.com/support/documentation/application_notes/xapp1082-zynq-eth.pdf
Xilinx Wiki - Zynq PL Ethernet:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841633/Zynq+PL+Ethernet
Xilinx Wiki - Linux Drivers:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841873/Linux+Drivers
Xilinx Wiki - Linux Drivers - Macb Driver:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841740/Macb+Driver
Xilinx Wiki - Zynq Ethernet Performance:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841743/Zynq+Ethernet+Performance
查到關於Jumbo frame MTU的定義,當前值為9000,可否改大一些?
驅動源碼里關於jumbo frame的說明:
設置MTU為9000,發現ping包最大長度只能設為ping 192.168.1.10 -s 1472
https://lore.kernel.org/patchwork/patch/939535/
【完】
❺ 廣電網路eth0和eth1介面區別
eth0 eth0:1 和eth0.1三者的關系對應於物理網卡、子網卡、虛擬VLAN網卡的關系:
物理網卡:物理網卡這里指的是伺服器上實際的網路介面設備,這里我伺服器上雙網卡,在系統中看到的2個物理網卡分別對應是eth0和eth1這兩個網路介面。
子網卡:子網卡在這里並不是實際上的網路介面設備,但是可以作為網路介面在系統中出現,如eth0:1、eth1:2這種網路介面。它們必須要依賴於物理網卡,雖然可以與物理網卡的網路介面同時在系統中存在並使用不同的IP地址,而且也擁有它們自己的網路介面配置文件。但是當所依賴的物理網卡不啟用時(Down狀態)這些子網卡也將一同不能工作。
虛擬VLAN網卡:這些虛擬VLAN網卡也不是實際上的網路介面設備,也可以作為網路介面在系統中出現,但是與子網卡不同的是,他們沒有自己的配置文件。他們只是通過將物理網加入不同的VLAN而生成的VLAN虛擬網卡。如果將一個物理網卡通過vconfig命令添加到多個VLAN當中去的話,就會有多個VLAN虛擬網卡出現,他們的信息以及相關的VLAN信息都是保存在/proc/net/vlan/config這個臨時文件中的,而沒有獨自的配置文件。它們的網路介面名是eth0.1、eth1.2這種名字。
注意:當需要啟用VLAN虛擬網卡工作的時候,關聯的物理網卡網路介面上必須沒有IP地址的配置信息,並且,這些主物理網卡的子網卡也必須不能被啟用和必須不能有IP地址配置信息。這個在網上看到的結論根據我的實際測試結果來看是不準確的,物理網卡本身可以綁定IP,並且給本徵vlan提供通信網關的功能,但必須是在802.1q下。
/sbin/ifconfig 查看、配置、啟用或禁用網路介面(網卡)的工具
ifconfig 是一個用來查看、配置、啟用或禁用網路介面的工具,這個工具極為常用的。比如我們可以用這個工具來配置網卡的IP地址、MAC地址、掩碼、廣播地址等。值得一說的是用ifconfig 為網卡指定IP地址,這只是用來調試網路用的,並不會更改系統關於網卡的配置文件。如果您想把網路介面的IP地址固定下來,目前有三個方法:一是通過各個發行和版本專用的工具來修改IP地址;二是直接修改網路介面的配置文件;三是修改特定的文件,加入ifconfig 指令來指定網卡的IP地址,比如在redhat或Fedora中,把ifconfig 的語名寫入/etc/rc.d/rc.local文件中;
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
ifconfig配置網路介面語法:
ifconfig 網路埠 IP地址 hw MAC地址 netmask 掩碼地址 broadcast 廣播地址 [up/down]
ifconfig常用用法:
ifconfig : 查看主機激活狀態的網路介面情況; 輸出結果中:lo 是表示主機的回壞地址,eth0 表示第一塊網卡, 其中 HWaddr 表示網卡的物理地址(MAC地址); inet addr 用來表示網卡的IP地址,Bcast表示廣播地址,Mask表示掩碼地址
ifconfig -a : 查看主機所有(包括沒有被激活的)網路介面的情況
ifconfig eth0 : 查看特定網路介面的狀態
ifconfig eth0 down = ifup eth0 : 如果eth0是激活的,就把它終止掉。此命令等同於 ifdown eth0;
ifconfig eth0 up = ifdown eth0 : 激活eth0 ; 此命令等同於 ifup eth0
ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 : 配置 eth0的IP地址、廣播地址和網路掩碼;
ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 up : 配置IP地址、網路掩碼、廣播地址的同時,激活網卡eth0
ifconfig eth1 hw ether 00:11:00:00:11:22 : 設置網卡的物理地址(MAC地址)。其中 hw 後面所接的是網路介面類型, ether表示乙太網, 同時也支持 ax25 、ARCnet、netrom等,詳情請查看 man ifconfig ;
虛擬IP技術在高可用領域像資料庫SQLSERVER、web伺服器等場景下使用很多,很疑惑它是怎麼實現的,偶然,發現了一種方式可以實現虛擬ip。它的原理在於同一個物理網卡,是可以擁有多個ip地址的,至於虛擬網卡,也可用通過該方式擁有多個ip。 即對外提供資料庫伺服器的主機除了有一個真實IP外還有一個虛IP,使用這兩個IP中的 任意一個都可以連接到這台主機,所有項目中資料庫鏈接一項配置的都是這個虛IP,當伺服器發生故障無法對外提供服務時,動態將這個虛IP切換到備用主機。
其實現原理主要是靠TCP/IP的ARP協議。因為ip地址只是一個邏輯地址,在乙太網中MAC地址才是真正用來進行數據傳輸的物理地址,每台主機中都有一個ARP高速緩存,存儲同一個網路內的IP地址與MAC地址的對應關系,乙太網中的主機發送數據時會先從這個緩存中查詢目標IP對應的MAC地址,會向這個MAC地址發送數據。操作系統會自動維護這個緩存。這就是整個實現 的關鍵。
在eth0處引用別名,設置完子網掩碼即可
ifconfig eth0:0 166.111.69.100 netmask 255.255.255.0 up
此時查看網卡信息
eth0 Link encap:Ethernet HWaddr 08:00:27:64:59:11
inet addr:166.111.69.17 Bcast:166.111.69.255 Mask:255.255.255.0
inet6 addr: 2402:f000:1:4412:a00:27ff:fe64:5911/64 Scope:Global
inet6 addr: fe80::a00:27ff:fe64:5911/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:597673 errors:0 dropped:0 overruns:0 frame:0
TX packets:215472 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:67285933 (67.2 MB) TX bytes:22782158 (22.7 MB)
eth0:0 Link encap:Ethernet HWaddr 08:00:27:64:59:11
inet addr:166.111.69.100 Bcast:166.111.69.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:843 errors:0 dropped:0 overruns:0 frame:0
TX packets:843 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:67174 (67.1 KB) TX bytes:67174 (67.1 KB)
然後找另一台機器ping這個vip(eth0:0)就可以看到顯示結果了。
寫在/etc/rc.local里也可以,寫在這里就不怕斷電後機器無法正常使用了。
更詳細參考:Linux-配置虛擬IP實例
用ifconfig 來配置虛擬網路介面:
有時我們為了滿足不同的需要還需要配置虛擬網路介面,比如我們用不同的IP地址來架運行多個HTTPD伺服器,就要用到虛擬地址;這樣就省卻了同一個IP地址,如果開設兩個的HTTPD伺服器時,要指定埠號。
虛擬網路介面指的是為一個網路介面指定多個IP地址,虛擬介面是這樣的 eth0:0 、 eth0:1、eth0:2 ... .. eth1N。當然您為eth1 指定多個IP地址,也就是 eth1:0、eth1:1、eth1:2 ... ...以此類推;
ifconfig eth1:0 192.168.1.250 hw ether 00:11:00:00:11:44 netmask 255.255.255.0 broadcast 192.168.1.255 up
ifconfig eth1:1 192.168.1.249 hw ether 00:11:00:00:11:55 netmask 255.255.255.0 broadcast 192.168.1.255 up
注意:指定時,要為每個虛擬網卡指定不同的物理地址;
❻ linux配置中eth0和eth1做什麼用的
是一種光纖乙太網介面卡,按照乙太網通信協議進行信號傳輸。一般通過光纜與光纖乙太網交換機連接。
Eth0和eth1用於區分網卡名。它們的含義與windows本地連接1和本地連接2相同。
這里的子網卡不是一個實用的網路介面,但是它可以作為一個集合介面在系統中閃現,比如eth0:1,eth1:2。
(6)ZYNQ7020使用eth1擴展閱讀:
Linux操作系統嵌入了TCP/IP協議棧,協議軟體具有路由轉發功能。路由和轉發依賴於在主機中安裝多個網卡作為路由器。
當某一網卡接收到度包時,系統內核會根據度包的目的IP地址查詢路由表,然後根據查詢結果將度包發送到另一網卡,最後通過該網卡發送度包。主機的進程是路由器的核心功能。
路由功能是通過修改Linux內核參數來實現的。sysctl命令用於配置和顯示/proc/sys目錄中的內核參數。
出於安全原因,Linux內核默認禁止數據包路由和轉發。在Linux系統中,有臨時和永久兩種方法啟用轉發功能。
❼ linux光卡為eth1,電口怎麼改為eth1
使用setup命令,看網卡具體型號。一般光口網卡都是10Gb的。使用lspci|grepNetwork查看網卡具體型號確定。使用ethtooleth*命令查看網卡詳細信息,port類型為:FIBRE的即時光口網卡。
❽ 虛擬機linux添加的新網卡沒有發現其配置文件eth1和eth2。
首先,有沒有發現這個配置文件都沒有什麼所謂的
先查看vi /etc/udev/rules.d/70-persistent-net.rules
這里能看到你的網卡信息,找到你對應網卡的NAME
例如
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:9
7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
這里網卡名定義為eth0
然後vi /etc/sysconfig/network-sprict/ifcfg-eth0 新建並編輯這個網卡配置文件,名字其實隨意
內容
DEVICE=eth0 對應上面找到的網卡名,這個是關鍵,其他的按照默認的設置就可以了
設置完之後重啟下服務即可識別使用了
跟你說一件事吧,在VM裡面,你添加了網卡,就算使用了 ifconfig -a也有時候查看不到任何網卡的,但是你的網卡又確實存在。。。。
❾ 怎麼使用LINUX獲取本機的網路介面eth1的IP地址和MAC地址
方法一:
$/sbin/ifconfig ethX | awk '/inet addr/ {print $2}' | cut -f2 -d ":"
方法二:
$/sbin/ifconfig ethX | awk '/inet addr/ {print $2}' | awk -F: '{print $2}'
方法三:
$/sbin/ifconfig ethX | sed -ne 's/\(.*\)addr:\([[:digit:].]*\)\(.*\)/\2/p'
把ethX中的X替換為需要查看網卡的序號,如eth0,eth1...
獲得本機所有網卡的IPv4地址,方法如下:
$/sbin/ifconfig | awk '{if ( $1 == "inet" && $3 ~ /^Bcast/) print $2}' | cut -f2 -d ":"
如果是IPv6網路,把上面的命令做簡單修改即可,如:
$/sbin/ifconfig | awk '/inet6/ {print $3}' ----全部
$/sbin/ifconfig ethX | awk '/inet6/ {print $3}' ----單個
❿ 在Linux上怎麼兩個網卡配同一個IP
linux中雙網卡的梆定
創建一個bond設備,三個簡單的步驟即可搞定:
(1)首先要保證相應的驅動程序已經載入:
localhost@root
~#
modprobe
bonding
或
modprobe
<3c59x|
eepro100|pcnet32|tulip|...>
(2)其次給等梆定bond設備分配IP地址
localhost@root
~#
ifconfig
bond0
<IP地址>
netmask
<子網掩碼>
broadcast
<廣播地址
>
例如
ifconfig
bond0
192.168.1.242
netmask
255.255.255.0
broadcast
172.31.3.254
(3)最後將所有要梆定的物理網卡介面添加到bond設備中去
localhost@root
~#
ifenslave
bond0
[{-f|--force}
bond0
eth0
[
eth1
[eth2]...]
例如
ifenslave
bond0
eth0
eth1
梆定了eth0
eth1兩個網卡設備。
--force
表示強制進行梆定
創建好bond設備後,就可以像一般的網卡設備一樣使用了
如啟動bond0:
#
ifconfig
bond0
up
停用bond0:
#
ifconfig
bond0
down
在不停用bond0的情況下添加介面:
#
ifenslave
{-d|
--detach}
bond0
eth0
[eth1
[eth2]...]
--detach表示"附加"的意思
改變活動的從設備:
#
ifenslave
{-c|--change-active}
bond0
eth0
--change-acitve
表示"改變活動的從設備"的意思
顯示主介面(指bond0)信息:
#
ifenslave
bond0
顯示所以介面信息:
#
ifenslave
{-a|--all-interfaces}
--all-interfaces
表示"所有介面"