最近工作中 經常得重裝系統,所以就得自己配置網路。這在windows下應該說是非常簡單,幾秒鐘就搞定。
但在linux下,有時會有點麻煩,對有視窗介面的還好一點,一般都會提供相應的視窗進行網路設定。如在Ubuntu中 就有System->Administration->Network 在其中可對ip,host,dns等進行配置。
但我是對遠程機器進行配置,用的是伺服器上blade的imm 或者 amm來進行串連,介面操作有時真的是太卡。
故命令列是一種好的選擇。下來我就介紹一些常用的方法。
1.通過修改網路設定檔
/etc/network/interfaces
網路介面參數設定檔, 下面是一個配置樣本 , 有兩個網路介面 , 其中 eth0 分配靜態 IP 位址 , eth1 動態擷取 IP 位址 :
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.254
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
auto eth1
iface eth1 inet dhcp
修改完成後,需要重啟網路裝置
# /etc/init.d/networking restart
配置dns 則修改 /etc/resolve.conf檔案。
search necas.nec.com.cn
nameserver 192.168 .203.2
配置hostname 則是 修改 /etc/hosts
127.0.0.1 localhost
127.0.0.1 cobain
配置完hostname後,可以用ping命令測試一下你的hostname是否已經通了。
ping yourhostname
這樣就完成了一次網路設定所需要配置的ip資訊,dsn資訊,hostname 資訊等配置。
但對於不同的linux來說,也許設定檔不同,上面在Ubuntu中做過測試。
在red hat中有些不同。
主機名稱 和 預設閘道 儲存在/etc/sysconfig/network該檔案中。
而網路設定資訊儲存在網卡裝置檔案中 /etc/sysconfig/network-scripts/ifcfg-ethn其中n是網卡的編號。
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.203.255
IPADDR= 192.168.203 .2
NETMASK=255.255.255.0
NETWORK= 192.168.203 .9
GATEWAY= 192.168.203.1
HOSTNAME=cobain
ONBOOT=yes
TYPE=Ethernet
貌似這裡也可以修改hostname 和 預設閘道。
總之上面已經可以完成一次網路設定了。
2. 採用命令列配置
只要是應用ifconfig命令。
用於配置常駐核心的網路介面。它用於在引導成功時設定網路介面。此後,只在需要調試及系統調整時才使用。
命令格式:
ifconfig [介面 ]
ifconfig 介面 [aftype] options | address ...
如沒有給出參數, ifconfig 顯示當前有效介面的狀態。如給定單個 介面 作為參數,它只顯示給出的那個介面的狀態;如果給出一個 -a 參數,它會顯示所有介面的狀態,包括那些停用的介面。否則就對一個介面進行配置。
選項
介面 介面名稱。通常是一個後跟單元號的驅動裝置名稱,例如第一個以太介面 eth0 。
up
此選項啟用介面。如果給介面聲明了地址,等於隱含聲明了這個選項。
down
此選項使介面驅動裝置關閉。
netmask addr
為介面設定 IP 網路遮罩。預設值通常是 A , B 或 C 類的網路遮罩 ( 由介面的 IP 地址推出 ) ,但也可設為其它值。
add addr/prefixlen
為介面加入一個 IPv6 地址。
del addr/prefixlen
為介面刪除一個 IPv6 地址。
hw class address
如介面驅動程式支援,則設定介面的硬體地址。此選項必須後跟硬體的類型名稱和硬體地址等價的可列印 ASCII 字元。當前支援的硬體類型包括 ether ( 乙太網路 ) , ax25 (AMPR AX.25) , ARCnet 和 netrom (AMPR NET/ROM)
利用ifconfig 命令查看網路資訊 :
ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:58:3E:F2:6B
inet addr:192.168.1.254 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:58ff:fe3e:f26b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:29458 errors:0 dropped:0 overruns:0 frame:0
TX packets:23690 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10945195 (10.4 MiB) TX bytes:2935004 (2.7 MiB)
Interrupt:169 Base address:0xe200
eth0:0 Link encap:Ethernet HWaddr 00:15:58:3E:F2:6B
inet addr:192.168.1.244 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:169 Base address:0xe200
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:354 errors:0 dropped:0 overruns:0 frame:0
TX packets:354 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:45062 (44.0 KiB) TX bytes:45062 (44.0 KiB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:18.18.18.13 P-t-P:18.18.18.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:9631 errors:0 dropped:0 overruns:0 frame:0
TX packets:9189 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:8460352 (8.0 MiB) TX bytes:913898 (892.4 KiB)
ifconfig的第一種格式(或使用不帶任何參數的 ifconfig 命令)可以用來查看當前系統的網路設定情況。
* eth0 : 表示網卡代號
* lo : Linux 內部的網路迴環地址 , 用於類比網路行為 ,
* HWaddr :網卡的硬體地址 , 也就是 MAC 位址
* inet addr :網卡的 ip 地址
* Bcast :廣播位址 ( broadcast ) ;
* Mask :子網路遮罩;
* MTU :傳輸單元最大值的縮寫 (Maximum Trasmission Unit), 標示此網路介面的可傳輸的最大封包 , 此值的設定錯誤可能引起網路故障 .
* RX :網路從起動到現在為止資料的接收情況
* TX :網路從起動到現在為止資料的發送情況
* collisions :網路訊號發生衝突的情況;
啟用網路裝置
ifconfig eth0 up
更改網路裝置資訊
#ifconfig eth0 192.168.1.112 netmask 255.255.255.0
關閉網路裝置