天天看點

Linux 作業系統下為網卡配置ip

Linux作業系統下為網卡配置ip

by:授客 QQ:1033553122

1.   Linux單一網卡設定多IP的配置方法

在Linux下網卡接口邏輯名被稱為eth0,eth1,eth2,.....,ethN,所有網卡接口的配置檔案都存儲在/etc/sysconfig/network-scripts/下,檔案名是以ifcfg-eth0,ifcfg-eth1,ifcfg-eth2,....,ifcfg-ethN形式來命名的。一個網卡接口對應一個配置檔案。如果我們要給某個網卡接口配置兩個IP位址,我們該怎麼辦呢?

例:為網卡接口eth0配置兩個ip

步驟1.複制網卡接口eth0配置檔案

# cp ifcfg-eth0 ifcfg-eth0:0

說明:eth*:n 虛拟網卡接口,建立于eth0網卡接口邊上,*表示網卡(接口)号,n表示虛拟網卡接口号,範圍0-255

步驟2.編輯修改ifcfg-eth0:0中相應的字段

假設ifcfg-eth0本身已經有ip了,配置如下:

DEVICE=eth0 //這裡是網卡裝置名,改為eth0:0

BOOTPROTO=none //設定為none,設定為靜态IP:static;設定為動态IP:dhcp

BROADCAST=10.4.255.255 //廣播位址

HWADDR=08:00:27:5C:56:2A //MAC位址,不需要修改

IPADDR=10.4.8.191 //ip位址,改為你要設定的ip位址

NETMASK=255.255.0.0 //子網路遮罩,改為你要設定的掩碼

NETWORK=10.4.0.0 //網絡位址

DNS1=8.8.8.8 //DNS位址,ping指令出現unkonwn host時,一般是未配置DNS所緻//檢視/etc/resolv.conf檔案可看到配置是否起作用,注意該檔案随ifcfg-ethN配置而動态變化的,是以最好在ifcfg-ethN配置檔案中該添加DNS配置資訊

ONBOOT=yes //ONBOOT指明系統啟動時是否激活網卡,隻有在激活狀态才能連接配接網絡,不激活:no;激活:yes

USERCTL=yes //該選項指定是否允許非root使用者控制該裝置,允許:yes;不允許:no

TYPE=Ethernet //網絡類型,表明是以太網:Ethernet

GATEWAY=10.4.0.1 //預設網關位址

編輯後的ifcfg-eth0配置如下

DEVICE=eth0:0

BOOTPROTO=none 

BROADCAST=10.4.255.255 

HWADDR=08:00:27:5C:56:2A

IPADDR=10.4.125.192

NETMASK=255.255.255.0

NETWORK=10.4.0.0

ONBOOT=yes 

USERCTL=yes 

TYPE=Ethernet 

GATEWAY=10.4.0.1

同一塊網卡虛拟的兩個IP位址,可以不用添加新的路由,系統會自動的裝載路由表。

步驟3.ifconfig指令為網卡綁定ip

為0号網卡的虛拟網絡接口eth0:2配置ip 10.4.125.192

# ifconfig eth0:0 10.4.125.192 netmask 255.255.255.0

注意:如果單獨做第3步,不做第2步,重新開機機器後,配置就失效了

2.   Linux為多個網卡設定單一ip的配置方法

步驟1.編輯網卡接口配置檔案

1.網卡接口ifcfg-eth0配置檔案

DEVICE=eth0 

BOOTPROTO=none

HWADDR=08:00:27:5C:56:2A 

IPADDR=10.4.8.191

NETMASK=255.255.0.0

PEERDNS=no

TYPE=Ethernet

GATEWAY=10.4.0.1 

2.網卡接口ifcfg-eth1配置檔案

DEVICE=eth1

步驟2.添加靜态路由[臨時性]

方法一:

# route add -net 10.4.0.0 netmask 255.255.0.0 gw 10.4.0.1 up

# route add -net 10.4.0.0 netmask 255.255.255.0 gw 10.4.0.1 up

檢視路由表

# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

10.4.0.0        10.4.0.1        255.255.0.0     U         0 0          0 eth0

10.4.0.0        10.4.0.1        255.255.255.0   U         0 0          0 eth1

方法二:

# route add -net 10.4.0.0 netmask 255.255.0.0 up

# route add -net 10.4.0.0 netmask 255.255.255.0 up

再為系統增加一條預設路由,因為預設的路由是把所有的資料包都發往它的上一級網關(假設位址是10.4.0.1,這個位址依賴于使用的網絡而定,

# route add default gw 10.4.0.1

但重新啟動後,上述配置就失效了,是以可在/etc/sysconfig/network-scripts/目錄下建立檔案。因為我們是做内網的路由,并且内網網卡接口為eth0,是以我們建立route-eth0檔案如下:

# cd network-scripts

# vi route-eth0

10.4.0.0/16 via 10.4.0.1 dev eth0

10.4.0.0/24 via 10.4.0.1 dev eth1 

# /etc/rc.d/init.d/network restart啟動生效

步驟3.啟動IP轉發功能使得linux能夠轉發資料包。

3.1将/proc/sys/net/ipv4/ip_forward 檔案内容置1[臨時生效]

echo “1” > /proc/sys/net/ipv4/ip_forward

IP Forward 将立即生效,但重新開機動失效。

3.2

# vi /etc/sysctl.conf[永久生效]

net.ipv4.ip_forward=1 

注:預設情況下

同一網卡,不可以設定同一網段的多個ip,會沖突

不同網卡,不可以設定同一網段的不同ip,會沖突-->自動修改原來的路由表可能導緻網絡不同

關于這個結論可能并不是100%正确,具體以實際環境為準(出現問題時,關鍵看路由表)。

---------------------------------------------------------------------------

測試實驗

為不同網卡,設定同一網段的不同ip

例子:測試機ip 10.5.8.183,網關10.5.0.1,通過網卡接口eth2同外面的10.4.0.0網段進行網絡通信,修改eth1接口ip之前,路由表如下,網絡可通

# route

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.5.0.0        *               255.255.0.0     U     0      0        0 eth2

1.0.0.0         *               255.0.0.0       U     0      0        0 eth3

default         10.5.0.1        0.0.0.0         UG    0      0        0 eth2

接着,系統界面上修改eth1接口ip為10.5.8.187,網關10.5.0.1,生效,發現10.4.0.0網段無法通路ip 10.5.8.183了

10.5.0.0        *               255.255.0.0     U     0      0        0 eth1

10.5.0.0        *               255.255.0.0     U     0      0        0 eth2

1.0.0.0         *               255.0.0.0       U     0      0        0 eth3

default         10.5.0.1        0.0.0.0         UG    0      0        0 eth1

注:此時,ping網關10.5.0.1, ping不通,從route指令的輸出來看,我們可以發現路由表已經被修改了,要通往預設網關,必須經過eth1,但是eth1并沒有接網線,是以不通。把eth1的網線接到交換機,再ping網關可ping通

斷開eth1的網線,手動修改路由表,修改後如下

1.0.0.0         *               255.0.0.0       U     0      0        0 eth3

發現也可以ping通網關了,,

說明:linux是這麼比對的,按路由表條目順序,從上到下進行比對,添加的預設網關總是放到表中最後,也就是最下面。同時也可以看出,要能互相通信,路由表至少有一條本地路由和一條預設路由

作者:授客

QQ:1033553122

全國軟體測試QQ交流群:7156436

Git位址:https://gitee.com/ishouke

友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!

作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額随意,您的支援将是我繼續創作的源動力,打賞後如有任何疑問,請聯系我!!!

           微信打賞                       

支付寶打賞                  全國軟體測試交流QQ群  

Linux 作業系統下為網卡配置ip
Linux 作業系統下為網卡配置ip
Linux 作業系統下為網卡配置ip

繼續閱讀