使用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位址表項包括使用者配置的以...