當前位置:首頁 » 幣種行情 » redhat沒有eth2設備

redhat沒有eth2設備

發布時間: 2023-03-01 02:57:06

『壹』 redhat5無法激活網路設備etho 用的虛擬機,配置ip時候不能激活 怎麼回事呀

是不是 eth0 ONBOOT=no 要改為yes
======================

臨時生效命令
#ifconfig eth0 192.168.0.22 netmask 255.255.255.0 (up)
添加第一塊網卡ip 與子網掩碼
#route add default gw 192.168.0.1 dev eth0
添加預設路由 gw =gateway 網關 dev eth0設備的第一個網卡
Redhat Centos
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 設備名稱
BOOTPROTO=dhcp /static 自動獲取/靜態ip
IPADDR=IP地址
NETMASK=掩碼
GATEWAY=網關
ONBOOT=yes 開機激活網卡
#service network restart 重啟網路
(網卡不是ifcfg-eth0 而是em1、2、3
#mv ifcfg-em1 ifcfg-eth0
#vi ifcfg-eth0
DEVICE=em1
BOOTPROTO=dhcp /static 自動獲取/靜態ip
IPADDR=IP地址
.....
.....
.....)
DNS 配置 沒有它不能解析域名 只可以訪問ip
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 202.xx.xx.xx 最多能添加3個
單網卡雙ip配置
cp ifcfg-eth0 ifcfg-eth0:1
ifconfig eth0:1 ip

這是我筆記

『貳』 redhat網卡啟動問題,eth1報錯rtnetlink answers no such device

感覺是網卡一驅動沒裝,或者沒成功,或者壞掉了。

『叄』 Linux 企業7版本,虛擬機下只有lo網卡沒eno和eth0網卡,

此原因可以按照以下步驟分析:
注意:在操作時候建議關閉NetworkManager服務(service NetworkManager stop;chkconfig NetworkManager off)
1、網卡驅動,一般用vm安裝不會有此種情況
2、ifconfig -a 看下所有的網卡。默認是按照eht0 1.2.3.4—排序,當網路沒有連接的時候
然後ifconfig -a可以看到主機上有幾塊網卡以及名稱:
這樣可以確定網卡存在,沒有問題。如果不存在任何ethx的話,說明網卡有問題。
3、然後進入配置文件(裡面是沒有ifcfg-eth0的只有個lo):
[root@redhat]# cd /etc/sysconfig/network-scripts/
[root@redhat]# ls
ifcfg-lo ifdown-bnep ifdown-ipv6 ifdown-ppp ifdown-tunnel ifup-bnep
ifup-ipv6 ifup-plusb ifup-routes ifup-wireless network-functions
ifcfg-lo ifdown-eth ifdown-isdn ifdown-routes ifup ifup-eth ifup-isdn ifup-post ifup-sit init.ipv6-global network-functions-ipv6
ifdown ifdown-ippp ifdown-post ifdown-sit ifup-aliases ifup-ippp ifup-plip ifup-ppp ifup-tunnel net.hotplug
4、這樣可以新建個ifcfg-ethx。
然後編輯裡面內容添加:
ONBOOT=yes
USERCTL=no
PEERDNS=yes
TYPE=Ethernet
DEVICE=eth1 #//(此處的1是網卡設備的序號也就是ifconfig -a中看到的網卡名稱後綴數字)
HWADDR=00:0c:29:64:c2:5f #此處可以不添加,根據自己機器而定(建議先不添加地址是網卡的地址,可以在虛擬機設置裡面查看。)
BOOTPROTO=dhcp
5、然後保存重啟服務
service network restart

『肆』 redhat 萬兆和千兆的網卡命名問題

新弄了一批機器,為了准備切換到萬兆環境,給機器配了雙千兆和雙萬兆混合的4介面網卡,然後就出了一點問題

centos 7 引入了網路一致化命名規則,具體可以看紅帽的聯網指南

主要部分摘抄如下

------------引用專用分割線----------------------------

8.1. 命名方案層級結構

默認情況下,systemd 會使用以下策略,採用支持的命名方案為介面命名:

方案 1: 如果固件或 BIOS 信息適用且可用,則使用整合了為板載設備提供索引號的固件或 BIOS 的名稱(例如:eno1),否則請使用方案 2。

方案 2: 如果固件或 BIOS 信息適用且可用,則使用整合了為 PCI 快速熱插拔插槽提供索引號的固件或 BIOS 名稱(例如 ens1),否則請使用方案 3。

方案 3: 如果硬體連接器物理位置信息可用,則使用整合了該信息的名稱(例如:enp2s0),否則請使用方案 5。

方案 4:  默認不使用整合介面 MAC 地址的名稱(例如:enx78e7d1ea46da),但用戶可選擇使用此方案。

方案 5: 傳統的不可預測的內核命名方案,在其他方法均失敗後使用(例如: eth0)。

這個策略(如上所述)是默認策略。如果該系統已啟用  biosdevname ,則會使用該方案。註:啟用  biosdevname  需要添加 biosdevname=1 作為命令行參數(Dell 系統除外),此時只要安裝  biosdevname ,就會默認使用該方案。如果用戶已添加  udev  規則,該規則會更高內核設備名稱,則會優先使用這些規則。

設備命名過程如下:

/usr/lib/udev/rules.d/60-net.rules 文件中的規則會讓  udev  幫助工具  /lib/udev/rename_device  查看所有 /etc/sysconfig/network-scripts/ifcfg- suffix  文件。如果發現包含 HWADDR 條目的 ifcfg 文件與某個介面的 MAC 地址匹配,它會將該介面重命名為 ifcfg 文件中由 DEVICE 指令給出的名稱。

/usr/lib/udev/rules.d/71-biosdevname.rules 中的規則讓  biosdevname  根據其命名策略重命名該介面,即在上一步中沒有重命名該介面、已安裝  biosdevname 、且在 boot 命令行中將 biosdevname=0 作為內核命令給出。

/lib/udev/rules.d/75-net-description.rules 中的規則讓  udev  通過檢查網路介面設備,填寫內部  udev  設備屬性值 ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。註:有些設備屬性可能處於未定義狀態。

/usr/lib/udev/rules.d/80-net-name-slot.rules 中的規則讓  udev  重命名該介面,優先順序如下:ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。並提供如下信息:沒有在步驟 1 或 2 中重命名該介面,同時未給出內核參數 net.ifnames=0。如果一個參數未設定,則會按列表的順序設定下一個。如果沒有設定任何參數,則不會重命名該介面。

-----------以上是紅帽的聯網指南-------

其實簡述上面的信息就是首先看內核參數是否啟用了biosdevname=1 (默認是啟用),如果bios提供了設備的名稱就使用bios提供的名稱

如果沒有,就根據網卡配置中 device=eth,em,xyz 的名字來命名這個網卡,但是如果這樣命名的話,必須在配置里寫死網卡的mac地址

作為網卡的識別標志,對單網卡當然沒什麼問題,但是如果在集群環境里,HA,以及bonding環境里,為了快速切換網路流量,往往要屏蔽mac,

使用虛擬mac,或者多塊網卡使用一個mac地址,這個時候需要在配置文件里屏蔽mac地址,因此就需要區改udev的配置文件來解決

我所遇到的問題是,使用了biosdevname=0和 net.ifnames=0 參數後,(因為以前有大量的centos6的機器,為了移植方便,不使用一致性命名規則,網卡名依然是eth0,eth1.。。。)安裝伺服器時一切正常,但啟動系統後,發現系統將插在第一個埠的網卡認為是eth2,和預期不符,本能的認為udev可以解決問題,於是添加了udev的規則

```

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:6e:96:ac:a1:xa", ATTR{type}=="1", KERNEL=="*", NAME="eth0"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:6e:96:ac:a1:xb", ATTR{type}=="1", KERNEL=="*", NAME="eth1"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:6e:96:ac:a1:xc", ATTR{type}=="1", KERNEL=="*", NAME="eth2"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:6e:96:ac:a1:xd", ATTR{type}=="1", KERNEL=="*", NAME="eth3"

```

發現不起作用,,難道寫錯了?換個規則,用pci設備號去綁定

SUBSYSTEM=="net", ACTION=="add", KERNEL=="eth*", SUBSYSTEM=="pci", KERNELS===="0000:01:00.0", NAME="eth0"

依然沒用

用下面的命令debug一下

udevadm test /sys/class/net/eth0

結果縮略如下

rules contain 49152 bytes tokens (4096 * 12 bytes), 13451 bytes strings

2076 strings (25677 bytes), 1399 de-plicated (12904 bytes), 678 trie nodes used

NAME 'eth2' /etc/udev/rules.d/60-net.rules:6

IMPORT builtin 'net_id' /usr/lib/udev/rules.d/75-net-description.rules:6

IMPORT builtin 'hwdb' /usr/lib/udev/rules.d/75-net-description.rules:12

IMPORT builtin 'path_id' /usr/lib/udev/rules.d/80-net-setup-link.rules:5

IMPORT builtin 'net_setup_link' /usr/lib/udev/rules.d/80-net-setup-link.rules:9

No matching link configuration found.

RUN '/usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name' /usr/lib/udev/rules.d/99-systemd.rules:55

Error changing net interface name 'eth0' to 'eth2': File exists

could not rename interface '2' from 'eth0' to 'eth2': File exists

created db file '/run/udev/data/n2' for '/devices/pci0000:00/0000:00:1c.4/0000:06:00.0/net/eth0'

ACTION=add

DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:06:00.0/net/eth0

ID_BUS=pci

ID_MODEL_FROM_DATABASE=I350 Gigabit Network Connection (Gigabit 4P X540/I350 rNDC)

粗體看到原來是設備已經存在,無法重命名,於是想到的重新載入驅動

modprobe -rv igb

modprobe -rv ixgbe

然後按順序載入驅動

modprobe ixgbe

modprobe  igb

終於可以看到效果了,不過重啟就完蛋了

於是想是否可以調整驅動載入順序?

找了半天文檔,發現可以通過重新打包內核啟動文件和編譯內核兩條路實現,不過這顯然又增加了很多麻煩,總不能升級一次內核,就重新打一次包吧

看看其他方法。最好發現簡單的方法就是修改啟動內核的參數 將 biosdevname=0和net.ifnames=0 改為 biosdevname=0和net.ifnames=1 ,這樣系統啟動時,會按照上述一致性命名規則,重新命名網卡,可以預期的是,已dell板載網卡為例,網卡會依次命名為eno1,eno4,等等,然後再載入udev規則,按照udev規則,再次重新命名為我們期望的eth0,eth1,等等

當然配置文件可以用ansible搞定,我這里的模版內容就是

ifcfg-eth0.j2

------

NAME="eth0"

DEVICE="eth0"

ONBOOT=yes

HWADDR="{{ hostvars[inventory_hostname].ansible_eth1.macaddress }}"

NETBOOT=yes

IPV6INIT=no

BOOTPROTO=static

TYPE=Ethernet

----------

這樣udev 規則就生效了,其實就是啟動過程中,當上述兩個參數全為0時,網路設備只能叫ethx,先載入的驅動搶佔了eth0和eth1時,(我這里是千兆的設備驅動 igb先啟動)後起的設備想按udev規則rname時,發現eth0,和eth1 已經被占據了,因此命名失敗,所以深入理解啟動順序和動作其實還是蠻重要的

參考鏈接  https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/sec-understanding_the_device_renaming_procere

紅帽知識庫文章引用如下

『伍』 虛擬機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系統\Centos沒有網卡eth0配置文件怎麼辦

一、配置文件詳解
在RHEL或者CentOS等Redhat系的Linux系統里,跟網路有關的主要設置文件如下:

/etc/host.conf 配置域名服務客戶端的控制文件
/etc/hosts 完成主機名映射為IP地址的功能
/etc/resolv.conf 域名服務客戶端的配置文件,用於指定域名伺服器的位置
/etc/sysconfig/network 包含了主機最基本的網路信息,用於系統啟動.
/etc/sysconfig/network-script/ 系統啟動時初始化網路的一些信息
/etc/xinetd.conf 定義了由超級進程xinetd啟動的網路服務
/etc/networks 完成域名與網路地址的映射
/etc/protocols 設定了主機使用的協議以及各個協議的協議號
/etc/services 設定主機的不同埠的網路服務

1. /etc/host.conf文件的默認信息如下:

multi on #允許主機擁有多個IP地址
order hosts,bind #主機名解析順序,即本地解析,DNS域名解析的順序

這個文件一般不需要我們修改,默認的解析順序是本地解析,DNS伺服器解析,也就是說在本系統里對於一個主機名首先進行本地解析,如果本地解析沒有,然後進行DNS伺服器解析。

2. /etc/hosts文件默認的內容大概如下:

127.0.0.1 butbueatiful localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

可見,默認的情況是本機ip和本機一些主機名的對應關系,第一行是ipv4信息,第二行是ipv6信息,如果用不上ipv6本機解析,一般把該行注釋掉。
第一行的解析效果是,butbueatiful localhost.localdomain localhost都會被解析成127.0.0.1,我們可以用ping試試。
[root@butbueatiful ~]# ping -c 3 butbueatiful
PING butbueatiful (127.0.0.1) 56(84) bytes of data.
64 bytes from butbueatiful (127.0.0.1): icmp_seq=1 ttl=64 time=0.061 ms
64 bytes from butbueatiful (127.0.0.1): icmp_seq=2 ttl=64 time=0.052 ms
64 bytes from butbueatiful (127.0.0.1): icmp_seq=3 ttl=64 time=0.051 ms

--- butbueatiful ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.051/0.054/0.061/0.009 ms

[root@butbueatiful ~]# ping -c 3 localhost.localdomain
PING butbueatiful (127.0.0.1) 56(84) bytes of data.
64 bytes from butbueatiful (127.0.0.1): icmp_seq=1 ttl=64 time=0.055 ms
64 bytes from butbueatiful (127.0.0.1): icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from butbueatiful (127.0.0.1): icmp_seq=3 ttl=64 time=0.050 ms

--- butbueatiful ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.035/0.046/0.055/0.011 ms

看到上面的結果,你可能會問為什麼ping localhost.localdomain的時候,下面顯示的是卻是butbueatiful,這是因為第一個主機名butbueatiful後面的那些主機名其實都是butbueatiful的主機別名。

如果我們要追加新的本地解析,比如我們希望在我們的機器里把yyyy.com和www.yyyy.com都解析成192.168.0.100,那麼就追加如下一句即可:
192.168.0.100 yyyy.com www.yyyy.com

同樣,在這里,www.yyyy.com是yyyy.com的主機別名。

如果你仔細一想,會發現,其實這個文件是很危險的,如果有人惡意修改了你這個文件,比如把淘寶的網站域名解析到了他的釣魚網站,那你就要中招了。

3. /etc/resolv.conf, 指定域名解析的DNS伺服器IP等信息, 配置參數一般接觸到的有4個:

nameserver 指定DNS伺服器的IP地址
domain 定義本地域名信息
search 定義域名的搜索列表
sortlist 對gethostbyname返回的地址進行排序

但是最常用的配置參數是nameserver,其他的可以不設置,這個參數指定了DNS伺服器的IP地址,如果設置不正確,就無法進行正常的域名解析。
一般來說,推薦設置2個DNS伺服器,比如我們用google的免費DNS伺服器,那麼該文件的設置內容如下:

nameserver 8.8.8.8
nameserver 8.8.4.4

同樣,這個文件也是危險的,如果被人惡意改成了他自己的DNS伺服器,他就可以為所欲為的控制你通過域名訪問的每個目的地了,這就是常說的DNS劫持。

4. /etc/sysconfig/network, 典型的配置如下:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=butbueatiful
GATEWAY=192.168.0.1

參數簡要解釋:

NETWORK 設置網路是否有效,yes有效,no無效
NETWORKING_IPV6 設置ipv6網路是否有效,yes有效,no無效
HOSTNAME 設置伺服器的主機名,最好和/etc/hosts里設置一樣,否則在使用一些程序的時候會有問題。
GATEWAY 指定默認網關IP

5. ifcfg-ethX, 設置對應網口的IP等信息, 比如第一個網口, 那麼就是/etc/sysconfig/network-scripts/ifcfg-eth0,配置例子:

DEVICE="eth0"
BOOTPROTO="static"
BROADCAST="192.168.0.255"
HWADDR="00:16:36:1B:BB:74"
IPADDR="192.168.0.100"
NETMASK="255.255.255.0"
ONBOOT="yes"

參數簡要解釋:

DEVICE 設備名,不要自己亂改,和文件ifcfg-ethX里的ethX要一致
BROADCAST 廣播地址
HWADDR 物理地址,這個你不要亂改
IPADDR IP地址
NETMASK 子網掩碼
ONBOOT 啟動或者重啟網路時,是否啟動該設備,yes是啟動,no是不啟動
BOOTPROTO 開機協議,最常見的三個參數如下:
static(靜態IP)
none(不指定,設置固定ip的情況,這個也行,但是如果要設定多網口綁定bond的時候,必須設成none)
dhcp(動態獲得IP相關信息)

6. route-ethX,比如第一個網口eth0的路由信息,那麼就是/etc/sysconfig/network-scripts/route-eth0:

比如我們現在有這樣一個需求,通過eth0去網路172.17.27.0/24不走默認路由,需要走192.168.0.254,那麼我們第一反應,肯定是用route命令追加路由信息:
[root@butbueatiful ~]# route add -net 172.17.27.0 netmask 255.255.255.0 gw 192.168.0.254 dev eth0

可是,你沒意識到的是,這樣只是動態追加的而已,重啟網路後,路由信息就消失了,所以需要設置靜態路由,這時候就要設置/etc/sysconfig/network-scripts/route-eth0文件了,如果沒有該文件,你就新建一個:
[root@butbueatiful ~]# vi /etc/sysconfig/network-scripts/route-eth0
#追加
172.17.27.0/24via 192.168.0.254

這下即使重啟網路,重啟系統,該路由也會自動載入,當然了,如果你沒有這樣的需要,那麼這個文件就沒必要創建和配置了。

『柒』 redhat 找不到eth0等網卡設備

redhat不能上網,用ifconfig 查看,竟然沒有eth0 設備。。。
各種查資料,找原因,然並卵。。。。。。
各種坑,填滿之後得出方法,在這里簡單記錄一下解決方法

『捌』 redhat啟動時ifcfg-eth2中的網卡配置不起作用

ONBOOT=yes

『玖』 redhat9.0不能上網,ping不通網關

首先在文本界面打入命令ifconfig查看是否有eth0(網卡)設備的存在
然後使用netconfig進行網路配置 選擇use dynamic ip configruation (BOOTP/DHCP)自動獲取網路ip 這時將獲取你本機的ip地址
要是你知道自己的ip也可自己打入 不選擇use
然後進入/etc/sysconfig/network-scripts目錄中查看ifcfg-eth0文件
使用vi ifcfg-eth0修改文件 到文件末尾添加
check_link_down(){
return 1;
}
然後用末行命令存檔:wq
然後輸入ifup eth0 判段網卡是否可以啟動 只要不顯示命令有誤就應該是配好了
如想改主機名的話進入目錄 /etc/sysconfig 修改文件network 的HOSTNAME=本機名
**最後一定要應用新的網路配置service network restart一定要鍵入這個命令
應該就行叻
你只有192.168.0.18 這個ip,修改為6本身這ip就不可用。
用你實體機的就好叻

熱點內容
最新以太幣礦機 發布:2025-07-14 23:51:17 瀏覽:155
戶用系統與區塊鏈 發布:2025-07-14 23:45:27 瀏覽:502
區塊鏈產業創新基地重慶 發布:2025-07-14 23:45:17 瀏覽:103
央行數字貨幣合作的機構 發布:2025-07-14 23:27:05 瀏覽:676
xrp幣的原理 發布:2025-07-14 23:21:18 瀏覽:531
ltc第一次減產 發布:2025-07-14 23:19:39 瀏覽:896
比特幣合約上手指南 發布:2025-07-14 22:56:41 瀏覽:750
南京南站去加拿大簽證中心 發布:2025-07-14 22:49:08 瀏覽:938
數字貨幣交易所故障 發布:2025-07-14 22:47:42 瀏覽:917
怎麼快速得圈幣 發布:2025-07-14 22:31:20 瀏覽:42