二、Linux網路基礎
包含(本地網路中)已知主機的一個列表,用於主機名解析;
檔案格式:
ip地址 主機名 別名
$ cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
Internet網路服務檔案,將網路服務名轉換為埠號/協議。由 inetd、telnet、tcpdump 和一些其它程式讀取。檔案中的每一行對應一種服務,它由4個欄位組成,中間用TAB或空格分隔,分別表示“服務名稱”、“使用埠”、“協議名稱”以及“別名”;
檔案格式:
服務 埠/埠型別 別名
$ cat /etc/services |more
tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send protocol
主機名配置檔案,該檔案只有一行,記錄著本機的主機名。
主機名
$ cat /etc/hostname
lt
當系統中同時存在DNS域名解析和/etc/hosts主機表機制時,由該/etc/host.conf確定主機名解釋順序。
order hosts,bind #名稱解釋順序
multi on #允許主機擁有多個IP地址
nospoof on #禁止IP地址欺騙
order是關鍵字,定義先用本機hosts主機表進行名稱解釋,如果不能解釋,再搜尋bind名稱伺服器(DNS)。
名稱服務交換設定檔案。它控制了資料庫搜尋的工作,包括承認的主機,使用者,群組等。此外,這個檔案還定義了所要搜尋的資料庫;:
hosts: files dns
指明主機資料庫來自兩個地方,files ( /etc/hosts file) 和 DNS;
cat /etc/nsswitch.conf
# To use db, put the “db” in front of “files” for entries you want to be
# looked up first in the databases
#
# Example:
#passwd: db files nisplus nis
#shadow: db files nisplus nis
#group: db files nisplus nis
passwd: files
shadow: files
group: files
#hosts: db files nisplus nis dns
hosts: files dns
# Example – obey only what nisplus tells us…
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: files
publickey: nisplus
automount: files
aliases: files nisplus
/etc/resolv.conf
該檔案是DNS域名解析的配置檔案(dns客戶端),它的格式很簡單,每行以一個關鍵字開頭,後接配置引數。resolv.conf的關鍵字主要有四個,分別是:
nameserver #定義DNS伺服器的IP地址
domain #定義本地域名
search #定義域名的搜尋列表
sortlist #對返回的域名進行排序
用於配置常駐核心的網路介面。它用於在引導成功時設定網路介面。此後,只在需要除錯及系統調整時才使用。
命令格式:
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命令檢視網路資訊:
[root@localhost /]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:E5:F4:4D
inet addr:192.168.1.178 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:171903 errors:60 dropped:68 overruns:0 frame:0
TX packets:1142 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:10627497 (10.1 Mb) TX bytes:125156 (122.2 Kb)
Interrupt:10 Base address:0x1080
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
* 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
關閉網路裝置
ifconfig eth0 down
修改網路卡的MAC地址
ifconfig eth0 down
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
ifconfig eth0 up