linux hosts文件詳解及配置

来源:http://www.cnblogs.com/0201zcr/archive/2016/10/10/5944320.html
-Advertisement-
Play Games

1、名詞解析 主機名: 無論是在區域網還是在INTERNET上,每台主機都有一個IP地址,用來區分當前是那一臺機器(其實底層是使用機器的物理地址),也就是說IP地址就是一個主機的門牌號,唯一的標示這一臺機子。 公網: IP地址不方便記憶,所以又有了功能變數名稱。功能變數名稱只是在公網(INTERNET)中存在,每個 ...


1、名詞解析

主機名:

  無論是在區域網還是在INTERNET上,每台主機都有一個IP地址,用來區分當前是那一臺機器(其實底層是使用機器的物理地址),也就是說IP地址就是一個主機的門牌號,唯一的標示這一臺機子。

公網:

  IP地址不方便記憶,所以又有了功能變數名稱。功能變數名稱只是在公網(INTERNET)中存在,每個功能變數名稱對應著一個IP地址,但一個IP地址可以對應多個功能變數名稱

區域網:

  每台機器都有一個主機名,用於主機與主機之間區別。我們可以為每一臺機器設置主機名,便於以容易的方法來互相訪問。比如我們在區域網中可以根據每台機的功用來為其命名。

  用途:例如我們可以通過主機名,通過ssh命令遠程得登錄別人的電腦。

2、關於/etc/host,主機名和IP配置文件

   Hosts - The static table lookup for host name(主機名查詢靜態表)

用途

  hosts文件是Linux系統中一個負責IP地址與功能變數名稱快速解析的文件,

存儲

  以ASCII格式保存在“/etc”目錄下,文件名為“hosts”(不同的linux版本,這個配置文件也可能不同。比如Debian的對應文件是/etc/hostname)。

內容

  hosts文件包含IP地址和主機名之間的映射,還包括主機名的別名。

作用

  在沒有功能變數名稱伺服器的情況下,系統上的所有網路程式都通過查詢該文件來解析對應於某個主機名的IP地址,否則就需要使用DNS服務程式來解決。通常可以將常用的功能變數名稱和IP地址映射加入到hosts文件中,實現快速方便的訪問。

3、優先順序

   優先順序 : dns緩存 > hosts > dns服務

4、配置hosts文件

  這個文件可以配置主機ip及對應的主機名,對於伺服器類型的linux系統其作用還是不可忽略的。在區域網或是INTERNET上,每台主機都有一個IP地址,它區分開每台主機,並可以根據ip進行通訊。但IP地址不方便記憶,所以又有了功能變數名稱。在一個區域網中,每台機器都有一個主機名,用於區分主機,便於相互訪問。

  Linux主機名的相關配置文件就是/etc/hosts;這個文件告訴本主機哪些功能變數名稱對應那些ip,那些主機名對應哪些ip:

  比如文件中有這樣的定義

192.168.1.100 linumu100 test100

  假設192.168.1.100是一臺網站伺服器,在網頁中輸入http://linumu100或http://test100就會打開192.168.1.100的網頁。

  通常情況下這個文件首先記錄了本機的ip和主機名:

127.0.0.1 localhost.localdomain localhost 

  這就是在我們在調試web項目的時候,我們明明在瀏覽器的地址欄中輸入的是localhost,他會知道我們是本地調試,因為他映射到了127.0.0.1(即本機)。

5、配置文件格式說明

  但這種映射只是本地機的映射,也就是說每台機器都是獨立的,只有在hosts文件中進行了配置才能使用主機名來訪問。

  在hosts文件中,我們會看到類似下麵的內容

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

127.0.0.1   localhost.localdomain localhost

192.168.1.195  debian.localdomain debian

  一般情況下hosts的內容關於主機名(Hostname)的定義,每行為一個主機,每行由三部份組成,每個部份由空格隔開。其中#號開頭的行做說明(即註釋的作用),不被系統解釋。

 hosts文件格式:

ip地址 主機名/功能變數名稱 (主機別名)

  第一部份:網路IP地址;

  第二部份:主機名或功能變數名稱;

  第三部份:主機名別名;

  當然每行也可以是兩部份,即主機IP地址和主機名;比如 192.168.1.100 linmu100。

主機名(hostname)和功能變數名稱(Domain)的區別:

  • 主機名通常在區域網內使用,通過hosts文件,主機名就被解析到對應ip;
  • 功能變數名稱通常在internet上使用,但如果本機不想使用internet上的功能變數名稱解析,這時就可以更改hosts文件,加入自己的功能變數名稱解析。

6、hosts文件的用途

6.1 解決遠程登錄linux主機過慢問題

  有時客戶端想遠程登錄一臺linux主機,但每次登錄輸入密碼後都會等很長一段時間才會進入,這是因為linux主機在返回信息時需要解析ip,如果在linux主機的hosts文件事先加入客戶端的ip地址,這時再從客戶端遠程登錄linux就會變很快。

  註:這裡所說的遠程登錄不僅僅是ssh,還可能是mysql遠程登錄,或是文件共用的查詢等。

6.2 雙機互連

  當兩台主機只是雙機互連時,這時兩台主機都需要設置自己的ip,同時在對方的hosts文件裡加入自己的ip和主機名。

 7、修改主機名

其實主機名的修改也有專用工具,就是hostname

hostname - show or set the system’s host name

顯示主機名:

# hostname

zhengcanrui

此主機的主機名是zhengcanrui,不加參數是用來顯示當前主機的主機名;

臨時設置主機名:

# hostname test100

# hostname 註:顯示主機名

test100

通過hostname 工具來設置主機名只是臨時的,下次重啟系統時,此主機名將不會存在;

顯示主機IP:

# hostname -i

192.168.1.100

  致謝:感謝您的閱讀!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 回到目錄 對於StackExchange.Redis這個驅動來說,之前的版本在使用Proxy為Twemproxy代理時,它是不支持Password屬性的,即不支持原始的Auth指令,而我也修改過源代碼,為CommandMap添加了Auth但最後測試的結果還是失敗了,就在10月1過完後的第一天,我升級 ...
  • SQL語句中count(1)count(*)count(欄位)用法的區別 在SQL語句中count函數是最常用的函數之一,count函數是用來統計表中記錄數的一個函數, 一. count(1)和count(*)的區別 1. count(1)和count(*)的作用: 都是檢索表中所有記錄行的數目,不 ...
  • 表簇索引(cluster index) 對於表簇索引而言,必須使用表簇。 由於簇索引與索引表簇關聯緊密,無法單獨拿出來總結,因此一併進行總結。 1.1 表簇的定義 表簇是一組通過相同公共列(簇鍵),構成的表的集合。 如上圖,右側獨立的兩張表,employees員工表與departments部門表,通 ...
  • 在ORACLE資料庫中有物理讀(Physical Reads)、邏輯讀(Logical Reads)、一致性讀(Consistant Get)、當前模式讀(DB Block Gets)等諸多概念,如果不理解或混淆這些概念的話,對你深入理解一些知識無疑是一個障礙,但是這些概念確實挺讓讓人犯暈的。下麵我... ...
  • JDBC part1 JDBC概述 jdbc是一種用於執行SQL語句的Java API,通過這套API可以訪問各種關係資料庫,例如;Oracle,MySql,SQLServer等. JDBC驅動程式是各個資料庫廠家根據JDBC的W3C規範製作的JDBC實現類. oracle 驅動地址:F:\Orac ...
  • 【原文地址】https://docs.mongodb.com/manual/ 引言 MongoDB是一種開源文檔型資料庫,它具有高性能,高可用性,自動擴展性 1.文檔資料庫 MongoDB用一個文檔來表示一條記錄,文檔的數據結構由鍵值對組成。MongoDB文檔類似於JSON對象,欄位值可能是文檔,數 ...
  • 資料庫運維中盛傳一個小段子,我誤刪除了資料庫,改怎麼辦?有備份還原備份,沒有備份就準備簡歷!聽起來有趣但發生在誰身上,誰都笑不起來。接觸了很多的客戶發現90%客戶的運維策略都不是很完善。本篇就分享一些常規的運維腳本,本篇沒有涉及到的或不足的也請大家留言無私貢獻深藏多年的腳本,謝謝! 郵件 郵件主要用 ...
  • 1.是用軟體提供的字體 如果只想簡單的設置,可進行如下設置Tools->IDE Options->Editor->Colors and Fonts->Editor Font->Font但是這裡邊似乎也沒有什麼舒服的字體,在網上找了找,還真找到了一個比較不錯的字體,現呈現給大家 2.使用系統提供的字體 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...