Linux網路——修改配置文件 摘要:本文主要學習瞭如何通過修改配置文件來設置網路參數。 配置文件 通過修改系統的配置文件為系統設置網路參數,這種方式的優點是可以永久保存,電腦重啟後仍然生效。缺點是這樣的設置不會立刻生效,需要重啟電腦或者相關服務才可以使其生效。 在Linux系統里,跟網路有關的 ...
Linux網路——修改配置文件
摘要:本文主要學習瞭如何通過修改配置文件來設置網路參數。
配置文件
通過修改系統的配置文件為系統設置網路參數,這種方式的優點是可以永久保存,電腦重啟後仍然生效。缺點是這樣的設置不會立刻生效,需要重啟電腦或者相關服務才可以使其生效。
在Linux系統里,跟網路有關的主要設置文件如下:
1 /etc/host.conf:配置功能變數名稱服務客戶端的控制文件。 2 /etc/hosts:完成主機名映射為IP地址的功能。 3 /etc/resolv.conf:功能變數名稱服務客戶端的配置文件,用於指定功能變數名稱伺服器的位置。 4 /etc/sysconfig/network:包含了主機最基本的網路信息,用於系統啟動。 5 /etc/sysconfig/network-script/:系統啟動時初始化網路的一些信息。 6 /etc/xinetd.conf:定義了由超級進程xinetd啟動的網路服務。 7 /etc/networks:完成功能變數名稱與網路地址的映射。 8 /etc/protocols:設定了主機使用的協議以及各個協議的協議號。 9 /etc/services:設定主機的不同埠的網路服務。
/etc/host.conf
內容
1 [root@localhost ~]# cat /etc/host.conf 2 multi on
說明
multi設置為on表示允許主機擁有多個IP地址。
/etc/hosts
內容
1 [root@localhost ~]# cat /etc/hosts 2 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 3 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
說明
預設存放的是本機IP和本機一些主機名的對應關係,第一行是ipv4信息,第二行是ipv6信息,如果用不上ipv6本機解析,一般把該行註釋掉。
localhost、localhost.localdomain、localhost4、localhost4.localdomain4都會被解析成127.0.0.1。
/etc/resolv.conf
內容
1 [root@localhost ~]# cat /etc/resolv.conf 2 # Generated by NetworkManager 3 search localdomain 4 nameserver 192.168.35.2
說明
指定功能變數名稱解析的DNS伺服器IP等信息,配置參數一般接觸到的有4個:
1 nameserver:指定DNS伺服器的IP地址。 2 domain:定義本地功能變數名稱信息。 3 search:定義功能變數名稱的搜索列表。 4 sortlist:對gethostbyname返回的地址進行排序。
但是最常用的配置參數是nameserver,其他的可以不設置,這個參數指定了DNS伺服器的IP地址,如果設置不正確,就無法進行正常的功能變數名稱解析。
一般來說,推薦設置2個DNS伺服器,比如我們用google的免費DNS伺服器,那麼該文件的設置內容如下:
1 nameserver 8.8.8.8 2 nameserver 8.8.4.4
同樣,這個文件也是危險的,如果被人惡意改成了他自己的DNS伺服器,他就可以為所欲為的控制你通過功能變數名稱訪問的每個目的地了,這就是常說的DNS劫持。
/etc/sysconfig/network
內容
1 [root@localhost ~]# cat /etc/sysconfig/network 2 # Created by anaconda
說明
設置主機名和網關,是針對本電腦的一個標識,典型的配置如下:
1 NETWORKING=yes 2 NETWORKING_IPV6=no 3 HOSTNAME=localhost 4 GATEWAY=192.168.0.1
參數簡要解釋:
1 NETWORK:設置網路是否有效,yes有效,no無效。 2 NETWORKING_IPV6:設置ipv6網路是否有效,yes有效,no無效。 3 HOSTNAME:設置伺服器的主機名,最好和/etc/hosts里設置一樣,否則在使用一些程式的時候會有問題。 4 GATEWAY:指定預設網關IP。
/etc/sysconfig/network-scripts/ifcfg-ethx
說明
設置對應網口的IP等信息,比如第一個網口,那麼就是/etc/sysconfig/network-scripts/ifcfg-eth0,配置例子:
1 DEVICE="eth0" 2 BOOTPROTO="static" 3 BROADCAST="192.168.0.255" 4 HWADDR="00:16:36:1B:BB:74" 5 IPADDR="192.168.0.100" 6 NETMASK="255.255.255.0" 7 ONBOOT="yes"
參數簡要解釋:
1 DEVICE:此配置文件對應的設備的名稱,和文件ifcfg-ethx里的ethx要一致。 2 HWADDR:設備的MAC地址。 3 UUID:此設備的惟一標識。 4 BROADCAST:廣播地址。 5 IPADDR:IP地址。 6 IPV6INIT:是否初始化IPv6。 7 NETMASK:子網掩碼。CentOS 7支持使用PREFIX以長度方式指明子網掩碼(PREFIX=16)。 8 GATEWAY:預設網關。 9 DOMAIN:DNS搜索域。 10 DNS1:第一DNS伺服器指向。 11 DNS2:備用DNS伺服器指向。 12 ONBOOT:啟動或者重啟網路時,是否啟動該設備,yes是啟動,no是不啟動。 13 BOOTPROTO:開機協議,最常見的三個參數如下:static是靜態IP。none是不指定,可以用在固定IP的情況,但是如果多網口綁定bond,必須設成none。dhcp是動態IP。 14 TYPE:介面類型,常見的有Ethernet、Bridge。 15 USERCTL:是否允許普通用戶控制此設備。 16 PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcpserver分配的dns伺服器指向覆蓋本地手動指定的DNS伺服器指向。預設為yes。 17 NM_CONTROLLED:是否使用NetworkManager服務來控制介面。對centos6一般為no,centos7為yes。
/etc/sysconfig/network-scripts/route-ethx
說明
設置對應網口的路由信息,比如第一個網口eth0的路由信息,那麼就是/etc/sysconfig/network-scripts/route-eth0。