Linux之網絡管理(2)虛擬網卡
在linux中,默認的內核模塊中包含了很多與網絡相關的組件和工具,來提供對網絡的管理和設置。同樣,linux中也是支持虛擬網卡的設置,已經多網卡綁定等功能。在網卡不夠用的情況下,想用多個不同的地址來代表自己,以讓其它ip來訪問,是可以設置多個地址的。
網卡基本信息查看
使用ifconfig命令查看IP
ifconfig [interface] #默認不指定為顯示全部網絡接口
ifconfig eth0 #表示只顯示eth0網卡設備的信息
例子:
解析:這里格式是針對readhat5、6版本的,高版本可能信息有些細微改變。
格式說明: eth0 代表網卡設備名
inet addr:表示ipv4地址
Bcast:表示廣播地址
Mask:表示子網掩碼
HWaddr:表示物理地址,也就是mac 地址
MTU:網卡數據包最大傳輸單元
單網卡多地址:
1、使用命令來設置:ifconfig、ip
(1)使用ifconfig命令
#在設置之前,我們先查看eth0 的ipv4地址,信息或長,這里我用文本處理工具來取出ip
[root@mageedu ~]# ifconfig eth0 | sed -n 's/.*addr:\(.*\)[[:space:]]B.*$/\1/gp' 10.1.249.185
#同樣ifconfig能查看網卡信息,也能設置網卡信息,對eth0新增一個ip地址
[root@mageedu ~]# ifconfig eth0:1 172.16.2.10 netmask 255.255.0.0 up
解析:從上圖來看,好像是添加了一個新的設備,實際上是對eth0起了一個別名來存放另一個ip地址,而網卡接口指向的都是eth0設備,給網卡添加別名這種是固定寫法:ethX:X
ethX:X:ethX表示網卡設備的命令,而后面的X表示為對此設備做的一個label標簽,所有使用ifconfig查看才會顯示兩個。
#刪除剛才的網卡別名及信息,直接停止此別命令設備
[root@mageedu ~]# ifconfig eth0:1 down
解析:因為此配置只是在內存中,臨時生效,并未寫入配置文件中,所以,一旦停止一個內存中的數據,就相當于清除掉了網卡別名及所有信息。
#為了驗證,下面再次使用ifconfig命名來啟用剛才設置的別名eth0:1
[root@mageedu ~]# ifconfig eth0:1 up SIOCSIFFLAGS: Cannot assign requested address
說明:這里驗證了上面的說法,把eth0:1當作一個設備來識別,肯定是無法識別的。
(2)使用ip命令
ip addr show eth0 #顯示eth0的ip地址相關信息
解析:這里的信息格式和ifconfig顯示有所不同,但大致信息都有,第3行就顯示了當前eth0的ipv4地址以及其廣播地址,ip地址后面的/16表示255.255.0.0(子網掩碼)。
ip addr add #添加地址
[root@mageedu network-scripts]# ip addr add 172.16.2.10 dev eth0
注意:這里可以不指定別名來直接給網卡設備泰添加額外地址,但是只能使用ip命令來查看出來額外的ip地址,而使用ifconfig命令是無法查看到的:
#下面使用ip命令查看
ip addr show eth0
解析:這里顯示了172.16網段的ip,說明已經配置成功
#使用ip命令再為eth0添加一個帶別名的ip
[root@mageedu network-scripts]# ip addr add 192.168.0.0/24 dev eth0 label eth0:0
解析:當一個ip地址被定義了label名稱,也就被識別為一個別名設備,那么使用ifconfig命令也是能查看出來的,下面查看測試:
ifconfig eth0
總結:以上的方法即使設置即使生效,卻不能保證永久生效,當然也有其他的方法來處理量這些文件。
2、寫入配置文件:
說明:上面使用命令看似很快就能生效,但是,一旦系統或者網絡服務重新啟動,這些信息都會從內存中清理掉,所有,想要永久生效,必須設置配置文件,以讓網絡服務重啟時去自動讀取配置文件中信息來直接設置網絡信息。
#下面我們切換到存放網卡配置文件的目錄/etc/sysconfig/network-sctipts/,在切換之前,發現此目錄路徑的字符長度過長,因此可以考慮設置一個別名來更快捷的切換到目錄。
(1)設置別名,并寫入用戶配置文件
解析:cdnet就是新增添的別名,保存退出后要想使用,得先讓當前內核識別alias別名
(2)讓當前bash重讀用戶配置文件
[root@mageedu ~]# source ~/.bashrc
#再次查看當前shell中的alias定義列表,cdnet已經出現了
[root@mageedu ~]# alias alias cdnet='cd /etc/sysconfig/network-scripts/' alias cdyum='cd /etc/yum.repos.d/' alias cp='cp -i' alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
#使用定義好的cdnet直接切換到network-scripts目錄
[root@mageedu ~]# cdnet
#使用pwd查看當前所在目錄,已經切換成功
[root@mageedu network-scripts]# pwd /etc/sysconfig/network-scripts
#查看eth0設備文件 ifcfg-eth0
#可以根據eth0配置來參考設置,這里新建一個網絡別名配置文件ifcfg-eth0:0
[root@mageedu network-scripts]# vim ifcfg-eth0:0 DEVICE=eth0:0 #eth0表示為為此設備做別名,:后面的0表示一個label標記名 BOOTPROTO=staic #因為網卡別名,所有這里必須設置為static或者none IPADDR=172.16.2.10 #設置額外的ip地址 PREFIX=16 #PREFIX表示子網掩碼255換成2進制1的個數,16位1表示255.255.0.0 GATEWAY=172.16.0.1 #設置網關 ONPARNET=yes #表示標記的網卡設備啟用時,此別名設備也同時生效
#下面使用servcie命令重啟網絡服務
解析:這里顯示ok表示各個模塊啟動成功
#再次查看網卡設備
#再使用命令添加一個別名,這里使用ip 命令
[root@mageedu network-scripts]# ip addr add 192.168.0.0/24 dev eth0 label eth0:2
#再次查看,又多了一個網卡別名設備,這樣其它人就可以通過這3個ip地址來訪問了啦
#下面重啟網絡服務,來看看eth0:2是否會被刪除
解析:已經驗證了網卡的別名
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。