(轉)centos 網路配置

mahanso發表於2010-12-06

一般CentOS 網路配置是根據自己的需求來設定的。但是,對於一些不經常用CentOS的使用者來說,不知道基本的CentOS 網路配置。如果你沒有特別的要考慮的設定,那麼就可以考慮下我推薦的這種CentOS 網路配置。

CentOS 網路配置

這裡介紹一下Linux下的網路設定檔案,這是網路計算機伺服器的前提條件。

1.CentOS 網路配置之網路的基本設定

我們在設定網路環境的時候,提前要弄清楚以下的相關資訊。
IP IP地址                                                                       
Netmak 子網掩碼 
Gateway 預設閘道器 
HostName 主機名稱 
DomainName 域名 
DNS DNS的IP

2.CentOS 網路配置之網路設定檔案

無論是透過網路配置命令(下文將提到)來配置網路,還是透過圖形化的配置介面,最終的配置資訊都將寫入到某某的檔案中,也就是說一旦我們知道了這些資訊都寫到了什麼檔案中或哪兒個檔案中,我們就可以透過直接的修改某某檔案來直接進行配置,下面就說明一下網路設定將要涉及到的幾個主要的檔案。不光是CentOS 網路配置,其他的UNIX系的OS都可以透過這個方法來配置網路,不過系統的不同定義也不同,比如說有些系統會說到透過直接修改檔案的方法配置網路資訊會導致網路環境的不穩定,提倡使用圖形介面或配置命令的形式來配置網路,這裡要特別的注意。

(1)檔案 /etc/sysconfig/network
這個/etc/sysconfig/network檔案是定義hostname和是否利用網路的不接觸網路裝置的對系統全體定義的檔案。
設定形式:設定值=值
/etc/sysconfig/network的設定專案如下:
NETWORKING 是否利用網路                                         
GATEWAY 預設閘道器 
IPGATEWAYDEV 預設閘道器的介面名 
HOSTNAME 主機名 
DOMAIN 域名

(2)檔案 /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts在這個目錄下面,存放的是網路介面(網路卡)的制御指令碼檔案(控制檔案),ifcfg- eth0是預設的第一個網路介面,如果機器中有多個網路介面,那麼名字就將依此類推ifcfg-eth1,ifcfg-eth2,ifcfg- eth

3.CentOS 網路配置。這裡面的檔案是相當重要的,涉及到網路能否正常工作

設定形式:設定值=值
設定專案專案如下:
DEVICE 介面名(裝置,網路卡) 
BOOTPROTO IP的配置方法(static:固定IP, dhcpHCP, none:手動)           
HWADDR MAC地址 
ONBOOT 系統啟動的時候網路介面是否有效(yes/no) 
TYPE 網路型別(通常是Ethemet) 
NETMASK 網路掩碼 
IPADDR IP地址 
IPV6INIT IPV6是否有效(yes/no) 
GATEWAY 預設閘道器IP地址 

這裡有一個CentOS 網路配置例子一:

[root@www ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0                <== 網路卡代號,必須要 ifcfg-eth0 相對應

BOOTPROTO=none             <== 取得IP的方式,其實關鍵字只有dhcp,手動可輸入none

ONBOOT=yes                 <== 是否預設啟動此介面的意思

IPADDR=192.168.1.11        <== 就是 IP 啊

NETMASK=255.255.255.0      <== 就是子網路遮罩

GATEWAY=192.168.1.254      <== 就是預設路由

HWADDR=08:00:27:F3:5D:23   <== 就是網路卡位址,若只有一張網路卡,可省略此專案
# 重點是上面這幾個,底下的則可以省略的囉!

NETWORK=192.168.1.0        <== 就是該網段的第一個 IP,可省略

BROADCAST=192.168.1.255    <== 就是廣播位址囉,可省略

MTU=1500                   <== 就是最大傳輸單元的設定值,若不更改則可省略

#GATEWAYDEV=eth0           <== 主要路由的裝置為那個,通常不用設定

例子二:

  1. CODE:  
  2. [root@linux ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-eth0  
  3. 1  DEVICE=eth0 
  4. 2  BOOTPROTO=static 
  5. 3  BROADCAST=192.168.1.255  
  6. 4  HWADDR=00:0C:2x:6x:0x:xx  
  7. 5  IPADDR=192.168.1.23  
  8. 6  NETMASK=255.255.255.0  
  9. 7  NETWORK=192.168.1.0  
  10. 8  TYPE=Ethernet 
  11. [root@linux ~]#  

CentOS 網路配置之檔案 /etc/resolv.conf

這個檔案是用來配置主機將用的DNS伺服器資訊。在這個檔案中如果不設定DNS伺服器的IP地址,那麼在通訊的時候,將無法指定像[url=../] [url=centospub.com[/url][/url[/url]]這樣的域名。(DNS是Domain Name
System的簡稱,中文名稱域名解析伺服器,主要是IP和域名轉換功能)/etc/resolv.conf的設定專案:
domain ←定義本地域名
search ←定義域名和搜尋列表
nameserver←定義被參照的DNS伺服器的IP地址(最多可指定3個)
一般來說最重要的是第三個nameserver專案,沒有這項定義,用域名將無法訪問網站,並且yum等服務將無法利用

CentOS 網路配置之檔案 /etc/hosts

/etc/hosts這個檔案是記載LAN內接續的各主機的對應[HostName和IP]用的。在LAN內,我們各個主機間訪問通訊的時候,用的是內網的IP地址進行訪問(例:192.168.1.22,192.168.1.23),從而確立連線進行通訊。除了透過訪問IP來確立通訊訪問之外,我們還可以透過HostName進行訪問,我們在安裝機器的時候都會給機器起一個名字,這個名字就是這臺機器的HostName,透過上圖可以看到,HostA的 hostname是centos1,HostB的hostname是centos2那我們怎麼能不但透過IP確立連線,透過這個IP對應的 HostName進行連線訪問呢?解決的辦法就是這/etc/hosts這個檔案,透過把LAN內的各主機的IP地址和HostName的一一對應寫入這個檔案的時候,就可以解決問題。
要在HostA上用ssh訪問HostB的時候,在命令列下做這樣的操作:

  1. [ - ]CODE:  
  2. [root@centos1 ~]# ssh 192.168.1.23  
  3. [email=root@192.168.1.23's]root@192.168.1.23's[/email] password:   
  4. Last login: Mon Dec 25 15:04:58 2006 from centos1  
  5. [root@centos2 ~]#  
  6. 訪問成功後,我們看到hostname的地方變化了。  
  7. 那麼我們用hostname試試看:  
  8. [ - ]CODE:  
  9. [root@centos1 ~]# ssh centos2  
  10. ssh:centos2: Name or service not known ←提示錯誤,不知道主機  
  11. [root@centos1 ~]#  

那麼我們編輯/etc/hosts檔案,將HostB的IP和hostname的對應關係寫入這個檔案,如果主機有域名,可以將域名寫在IP地址之後hostname之前,並且用空格隔開,形式如第三行127.0.0.1的設定。

  1. [ - ]CODE:  
  2. [root@centos1 ~]# cat -n /etc/hosts  
  3.      1 # Do not remove the following line, or various programs  
  4.      2 # that require network functionality will fail.  
  5.      3 127.0.0.1       localhost.localdomain   localhost  
  6.      4 192.168.1.23 centos2  
  7. [root@centos2 ~]#  
  8. 然後我們再從復#ssh CentOS 網路配置的操作  
  9. [ - ]CODE:  
  10. [root@centos1 ~]# ssh centos2  
  11. [email=root@centos2's]root@centos2's[/email] password:   
  12. Last login: Mon Dec 25 15:05:07 2006 from centos1  
  13. [root@centos2 ~]#   

可以看到訪問成功了,這個檔案就是這樣的,倘若你要用windowsXP訪問區域網中的linux你也可以用上面的方法,只不過在 windowsXP下面你也要修改hosts這個檔案,檔案路徑:C:\WINDOWS\system32\drivers\etc\hosts,在這個檔案中新增你要訪問的區域網中的主機的IP和ostname,就能透過主機名訪問主機了。這樣就完成了基本的CentOS 網路配置。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12272958/viewspace-680973/,如需轉載,請註明出處,否則將追究法律責任。

相關文章