inux網絡卡與MAC位址繫結方法總結

2022-06-15 09:54:11 字數 2837 閱讀 5917

使用linux系統時會出現這樣的情況,當你安裝了某個網絡卡的驅動程式時,或者安裝了與網絡卡相關的程式後。

網絡卡會出現所謂的漂移現象。(注意:不是飄逸)。可能的表象為:

(1):網絡卡順序顛倒,比如之前你的網線連線的網口為eth0,當安裝某個網絡卡的驅動後,可能它的名字變為eth0或者eth3,等等情況。

(2):網絡卡名字改變,這種情況倒不是eth0到eth1的改變,而是很詭異的變化,比如eth0找不到了,多了個網絡卡名字叫 __t***183921382193__

這個確實讓人很惱火。因為有人可能會通過ifconfig | grep eth來獲取資訊從而完成一些開發工作,如果網絡卡名字變得烏七八糟了,程式肯定會出錯。

(3):光口網絡卡和電口網絡卡順序亂了,或者交叉。

總之我們的目的就是:能夠指定某個網絡卡的名字為我們想要的物理裝置。做法如下:

第一步,識別誰是誰。

要使用網絡卡,首現要知道哪個名字對應的哪個物理裝置,做法為:從交換機拉一根網線,從上到下挨個接到網絡卡上面,注意每次只能接乙個網絡卡,接上後通過ethtool命令來檢視是否連著網線,比如

[root@as5 ~]# ethtool eth0

settings for eth0:

supported ports: [ mii ]

supported link

modes:   10baset/half

10baset/full

100baset/half 100baset/full

1000baset/full

supports auto-negotiation: yes

advertised link modes: 

10baset/half 10baset/full

100baset/half 100baset/full

1000baset/full

advertised auto-negotiation: yes

speed: 100mb/s

duplex: full

port: mii

phyad: 2

transceiver: external

auto-negotiation: on

supports wake-on: g

wake-on: d

link detected: yes

看到了eth0的狀態為連線著網線。如果linked detected:no,則說明沒有連線網線。

如此區分開哪個裝置的名字是什麼,標註好。

ifconfig -a能看到所有網路裝置。

通過 ifconfig -a | grep hwaddr 來獲取每個裝置的mac位址。

比如:[root@as5 ~]# ifconfig  -a | grep hwaddr

eth0     

link encap:ethernet  hwaddr

00:30:48:7f:b5:ca 

eth1     

link encap:ethernet  hwaddr

00:30:48:7f:b5:cb 

eth2     

link encap:ethernet  hwaddr

00:04:23:a6:81:e0 

eth3     

link encap:ethernet  hwaddr 00:04:23:a6:81:e1

拿到了每個網絡卡的mac位址。

第三步:進行mac和網絡卡名稱繫結。

我們都知道,對於redhat的系統,網路的配置檔案在:/etc/sysconfig/network-scripts/ifcfg-ethx

中存著,n=0,1,2。。。

比如:root@as5 ~]# cat

/etc/sysconfig/network-scripts/ifcfg-eth0

# nvidia corporation mcp55 ethernet

device=eth0

onboot=yes

hwaddr=00:30:48:7f:b5:ca

type=ethernet

netmask=255.255.255.0

ipaddr=192.168.42.231

gateway=192.168.42.1

bootproto=static

#nameserver=202.106.0.20

這個檔案是對網絡卡進行初始化的配置檔案。

比如如果我們想指定網絡卡mac位址為mac1的裝置名稱為ethn,那麼,修改檔案

/etc/sysconfig/network-scripts/ifcfg-ethn

在裡面新增mac位址繫結和名字的配置資訊

device=ethn

hwaddr=mac1(比如00:30:48:7f:b5:ca)

其它配置資訊不受影響。

當對所有網絡卡實現繫結後,reboot系統,應該就可以了。

還有一點需要注意,就是驅動對應關係的檔案:

/etc/modprobe.conf

要在該檔案中修改,確保某個裝置使用的就是對應它的驅動,比如:

cat /etc/modprobe.conf

alias eth0 forcedeth

alias eth1 forcedeth

alias scsi_hostadapter aic79xx

alias scsi_hostadapter1 sata_nv

alias scsi_hostadapter2 usb-storage

alias eth2 e1000

alias eth3 e1000

說明eth0和eth1用的forcedeth的驅動,eth2和eth3用的是e1000的驅動。

繫結mac位址與網絡卡驅動wlan

按照之前部落格的配置,我們可以在樹莓派上實現雙網絡卡,但是再多次試驗中發現,每次重啟後,網絡卡的順序都可能發生變化,也就是mac位址與wlan的關係不確定。網上很多資料說是修改 etc network inte ces檔案,但這是沒有用的,它只會修改網絡卡的mac位址,而不改變實際的繫結。正確的繫結...

IP繫結網絡卡Mac位址 防止ARP攻擊

arp 欺騙攻擊使得網路堵塞變慢,網頁病毒木馬猖狂。乙個暫時有效的解決方法是在防火牆 路由器和客戶機把ip與網絡卡mac位址進行繫結,限制 arp 欺騙。把下面的 儲存為 bat 字尾的檔案,修改 ip mac 分別為 的ip和網絡卡mac位址 雙擊執行即可 echo off 讀取本機mac位址 i...

MAC位址表配置與繫結

mac位址表分類 靜態mac位址表項由使用者手工配置,表項不老化 黑洞mac位址表項包括源黑洞mac位址表項和目的黑洞mac位址表項,用於丟棄含有特定源mac位址或目的mac位址的報文 例如,出於安全考慮,可以遮蔽某個使用者接收報文 由使用者手工配置,表項不老化 動態mac位址表項包括使用者配置的以...