Debian / Ubuntu的網絡配置
這章涉及的大部分Fedora / Redhat命令和配置文件也可一個用於基於Debian的作業系統,但也有一些關鍵的差別。
[編輯] /etc/network/interfaces文件
主網絡配置文件是/etc/network/interfaces ,所有網絡接口相關的參數都是在這裏定義的。文件劃分成多個小節:
[編輯] auto小節
auto小節定義了接口是不是要在系統啟動時自動初始化。
[編輯] mapping小節
本小節根據腳本的輸出結果為接口映射配置參數。例如,在啟動時,可以彈出一個腳本詢問你的筆記本Linux系統是在家使用還是在單位使用,預設的映射語句通過答案來配置相應的IP地址。
缺省的,當假定接口只有一個目的時使用簡單得多的熱插拔系統。典型的熱插拔配置就是把每個物理接口分配一個邏輯接口名稱(別名)。
mapping hotplug script grep map eth0 eth0 map eth1
在這個例子里,接口eth0被專門給與了邏輯名稱eth0,邏輯名稱eth1也是一樣的。
[編輯] iface小節
iface小節定義的邏輯接口的特性。通常小節的第一行是以單詞iface開頭,跟着接口的邏輯名稱,使用的協議,最後是使用的尋址模式,例如DHCP或者靜態。協議關鍵詞包括對應常規TCP/IP協議的inet,IPv6的inet6,Novell舊的IPX協議的ipx,和loopback地址的loopback。
小節後面的行定義了協議的特性,例如地址,子網掩碼,和缺省網關。在這個例子中,eth1接口被賦予IP地址216.10.119.240/27,而eth0接口使用DHCP。
# The primary network interface auto eth1 iface eth1 inet static address 216.10.119.240 netmask 255.255.255.224 network 216.10.119.224 broadcast 216.10.119.255 gateway 216.10.119.241 dns-nameservers 216.10.119.241 # The secondary network interface auto eth0 iface eth0 inet dhcp
注意: 當使用靜態IP地址時,通常也要定義一個缺省網關。記得把網關定義和對應路由器IP地址放在正確的小節。
[編輯] 創建接口別名
一旦主接口被定義了,在/etc/network/interfaces文件中定義IP別名就容易了。只需要一個修改過的主接口的iface小節副本。第一行要加上冒號和子接口編號,而且後面只需要跟上子網掩碼和新的IP地址。在這個例子中接口eth1:1的IP地址是216.10.119.239。
auto eth1:1 iface eth1:1 inet static address 216.10.119.239 netmask 255.255.255.224
[編輯] 添加永久靜態路由
在/etc/network/interfaces
文件的恰當iface
小節中添加up
選項,可以讓你在制定接口被激活時有選擇性的用ifup
執行命令。這在添加永久靜態路由是很有用。
在這個例子中,添加了一個通過路由器216.10.119.225到網絡10.0.0.0/8的路由。記住,up
選項和此命令必須在小組的同一行。
# The primary network interface auto eth1 iface eth1 inet static ... ... ... up route add -net 10.0.0.0 netmask 255.0.0.0 gw 216.10.119.225 eth1
[編輯] 一個完整的/etc/network/interfaces文件
現在我們可以用根據之前討論的例子構造一個完整的文件。就像在Fedora中一樣,可用ifup和ifdown命令激活接口。
# # Debian / Ubuntu # # # File: /etc/network/interfaces # # The loopback network interface auto lo iface lo inet loopback # This is a list of hotpluggable network interfaces. # They will be activated automatically by the hotplug subsystem. mapping hotplug script grep map eth0 eth0 map eth1 eth1 # The primary network interface auto eth1 iface eth1 inet static address 216.10.119.240 netmask 255.255.255.224 network 216.10.119.224 broadcast 216.10.119.255 gateway 216.10.119.241 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 216.10.119.241 wireless-key 98d126d5ac wireless-essid schaaffe up route add -net 10.0.0.0 netmask 255.0.0.0 gw 216.10.119.225 eth1 auto eth1:1 iface eth1:1 inet static address 216.10.119.239 netmask 255.255.255.224 # The secondary network interface auto eth0 iface eth0 inet dhcp
關於更多關於/etc/network/interfaces
文件的信息,只要在命令行執行man interfaces
就可以了。