Linux常用網絡設置文件介紹
發表時間:2023-08-09 來源:明輝站整理相關軟件相關文章人氣:
[摘要]在 Linux 系統中,TCP/IP 網絡是通過若干個文本文件進行配置的,需要編輯這些文件來完成聯網工作。系統中重要的有關網絡配置文件為:/etc/sysconfig/network/etc/hos...
在 Linux 系統中,TCP/IP 網絡是通過若干個文本文件進行配置的,需要編輯這些文件來完成聯網工作。系統中重要的有關網絡配置文件為:
/etc/sysconfig/network
/etc/hosts
/etc/services
/etc/host.conf
/etc/nsswitch.conf
/etc/resolv.conf
/etc/xinetd.conf
/etc/modules.conf
/etc/sysconfig/network-scripts/ifcfg-ethN
接下來我們將對這些文件逐一講述, 這些文件都可以在系統運行時進行修改,不用啟動或者停止任何守護程序,更改會立刻生效( 除了/etc/sysconfig/network)。 另外,這些文件都支持由”#”開頭的注釋,每一個文件都有在UNIX手冊頁中的第5 部分中有一項,可以用man 命令來獲取它們。
/etc/sysconfig/network 網絡設置
該文件用來指定服務器上的網絡配置信息, 包含了控制和網絡有關的文件和守護程序的行為的參數。下面是一個例子文件:
NETWORKING=yes
HOSTNAME=machine1
GATEWAY=210.34.6.2
FORWARD_IPV4=yes
GATEWAYDEV=
其中, NETWORK=yes/no 表示網絡是否被配置;
HOSTNAME=hostname hostname 表示服務器的主機名;
GATEWAY=gw-ip gw-ip 表示網絡網關的IP 地址;
FORWARD_IPV4=yes/no 是否開啟IP 轉發功能;
GAREWAYDEV=gw-dev gw-dw 表示網關的設備名,如:eth0 等;
/etc/hosts IP 地址和主機名的映射
/etc/hosts 中包含了IP 地址和主機名之間的映射還,包括主機名的別名IP,地址的設計使計算機容易識別,但對于人卻很難記住它們,為了解決這個問題,創建了/etc/hosts 這個文件。下面是一個例子文件:
127.0.0.1 machine1 localhost.localdomain localhost
192.168.1.100 machine7
192.168.1.101 otherpc otheralias
在這個例子中 ,本機名是machine1, otherpc 還有別名otheralias ,它可以指向otheralias。 一旦配置完機器的網絡配置文件,應該重新啟動網絡以使修改生效,使用下面的命令來重新啟動網絡:
service network restart
/etc/hosts 文件通常含有主機名、localhost 和系統管理員經常使用的系統別名,有時候telnet 到Linux 機器要等待很長時間,可以通過在”/etc/hosts”加入客戶的機器的IP 地址和主機名的匹配項,就可以減少登錄等待時間。在沒有域名服務器情況下,系統上的所有網絡程序都通過查詢該文件來解析對應于某個主機名的IP 地址,否則,其他的主機名通常使用DNS 來解決,DNS 客戶部分的配置在文件/etc/resolv.conf 中。
/etc/services
/etc/services 中包含了服務名和端口號之間的映射,不少的系統程序要使用這個文件,下面是RedHat 安裝時缺省的/etc/services 中的前幾行:
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
最左邊一列是主機服務名 ,中間一列是端口號,“/ ”后面是端口類型, 可以是TCP 也可以是UDP 。任何后面的列都是前面服務的別名。在這個文件中也存在著別名,它們出現在端口號后面,在上述例子中sink 和null 都是discard服務的別名。
/etc/host.conf 配置名字解析器
有兩個文件聲明系統到哪里尋找名字信息來配置 UNIX名字解析器的庫。文件/etc/host.conf 由版本5 的libc 庫所使用,而/etc/nsswitch.conf 由版本6 使用(glibc )。 問題在于一些程序使用其中一個,而一些使用另一個,所以將兩個文件都配置正確是必要的。
/etc/host.conf 文件指定如何解析主機名,Linux 通過解析器庫來獲得主機名對應的IP。 地址下面是RedHat 安裝后缺省的”/etc/host.conf”內容:
order hosts bind
multi on
“order ” 指定主機名查詢順序,其參數為用逗號隔開的查找方法,支持的查找方法為bind、 hosts 和nis ,分別代表DNS 、/etc/hosts 和NIS, 這里規定先查詢”/etc/hosts”文件然后再使用DNS 來解析域名。
“trim” 表明當通過DNS 進行地址到主機名的轉換時,域名將從主機名中被裁剪掉,trim 可以被多個域包含多次,對/etc/hosts 和NIS 查詢方法不起作用,注意在/etc/hosts 和NIS 表中主機名是被適當地(有或沒有全域名)列出的。
“multi” 指定是否”/etc/hosts”文件中指定的主機可以有多個地址,值為on 表示允許,擁有多個IP 地址的主機一般稱為具有多個網絡界面。
“nospoof ” 指是否允許對該服務器進行IP 地址欺騙,值為on 表示不允許。IP欺騙是一種攻擊系統安全的手段,通過把IP 地址偽裝成別的計算機,來取得其它計算機的信任。
“alert” 當nospoof 指令為on 時,alert 控制欺騙的企圖是否用syslog 工具進行記錄,值為on 表示使用,缺省值為off。
“rccorder” 如果被設置為on ,所有的查詢將被重新排序,所以在同一子網中的主機將首選被返,回缺省值為off。
/etc/nsswitch.conf 配置名字解析器
/etc/nsswitch.conf 文件是由Sun 公司開發并用于管理系統中多個配置文件查找的順序,它比/etc/host.conf 文件提供了更多的功能。/etc/nsswitch.conf 中的每一行或者是注釋(以#號開頭)或者是一個關鍵字后跟冒號和一系列要試用的有順序的方法。每一個關鍵字是在/etc/目錄可以被/etc/nsswitch.conf 控制的/etc 文件的名字。下面是可以被包含的關鍵字:
aliases 郵件別名;
passwd 系統用戶;
group 用戶組;
shadow 隱蔽口令;
hosts 主機名和I P 地址;
networks 網絡名和號;
protocols 網絡協議;
services 端口號和服務名稱;
ethers 以太網號;
rpc 遠程進程調用的名稱和號;
netgroup 網內組;
/etc/resolv.conf 配置DNS 客戶
文件/etc/resolv.conf 配置DNS 客戶,它包含了主機的域名搜索順序和DNS服務器的地址,每一行應包含一個關鍵字和一個或多個的由空格隔開的參數。
下面是一個例子文件:
nameserver 192.168.0.36
nameserver 192.168.0.37
search huawei-3com.com
合法的參數及其意義如下:
nameserver 表明DNS 服務器的IP 地址,可以有很多行的nameserver ,每一個帶一個I P 地址。在查詢時就按nameserver 在本文件中的順序進行,且只有當第一個nameserver 沒有反應時才查詢下面的nameserver.
domain 聲明主機的域名。很多程序用到它,如郵件系統;當為沒有域名的主機進行DNS 查詢時,也要用到。如果沒有域名,主機名將被使,用刪除所有在第一個點( . )前面的內容。
search 它的多個參數指明域名查詢順序。當要查詢沒有域名的主機,主機將在由search 聲明的域中分別查找。domain 和search 不能共存;如果同時存在,后面出現的將會被使用。
sortlist 允許將得到域名結果進行特定的排序。它的參數為網絡/掩碼對,允許任意的排列順序。Red Hat 中沒有提供缺省的/ e t c / r e s o l v. c o n f 文件,它的內容是根據在安裝時給出的選項動態創建的。
/etc/xinetd.conf
redhat 7.1 及以后版本計和以往的版本有一個明顯的區別,就是用xinetd.conf代替原來的inetd.conf ,并且直接使用了firewall 服務.xinetd(eXtended InterNET services daemon)對inetd 功能進行了擴展,xinetd 的默認配置文件是/etc/xinetd.conf ,它看起來盡管和老版本的/etc/inetd.conf 完全不同,其實只是以一個腳本的形式將inetd 中每一行指定的服務擴展為一個/etc/xinetd.d/下的配置文件,其格式為:
service service-name
{
disabled = yes/no; //是否禁用
socket_type = xxx; //TCP/IP socket type,such as stream,dgram,raw,….
protocol = xxx; //服務使用的協議
server = xxx; //服務daemon 的完整路徑
server_args = xxx; //服務的參數
port = xxx; //指定服務的端口號
wait = xxx; //是否阻塞服務即單線程或多線程
user = xxx; //服務進程的uid
group = xxx; //gid
REUSE = xxx; //可重用標志
……
}
示例:
1 )配置ftp 服務
在/etc/xinetd.d 目錄下,編輯wu-ftpd
# default: on
# description: The wu-ftpd FTP server serves FTP connections. It uses
\
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.ftpd
server_args = -l -a
log_on_success += DURATION
nice = 10
}
2 )配置telnet 服務
在/etc/xinetd.d 目錄下,編輯telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
配置完成后 重新啟動服務
#/etc/rc.d/init.d/xinetd restart
/etc/modules.conf 文件
該配置文件定義了各種需要在啟動時加載的模塊的參數信息 ,文件格式如下:
alias eth0 tg3
alias eth1 3c905
/etc/sysconfig/network-scripts/ifcfg-ethN 文件
系統網絡設備的配置文件保存在”/etc/sysconfig/network-scripts”目錄下,ifcfg-eth0 包含第一塊網卡的配置信息,ifcfg-eth1 包含第二塊網卡的配置信息。
下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.66
NETMASK=255.255.255.0
GATEWAY=192.168.0.65
若希望手工修改網絡地址或在新的接口上增加新的網絡界面,可以通過修改對應的文件(ifcfg-ethN) 或創建新的文件來實現。
Linux是一套免費使用和自由傳播的類Unix操作系統