Linux下interface文件修改


我們來通過一些例子,來記錄interfaces文件的書寫。詳情可參照man interfaces。

設置常用ethernet參數

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
  address 192.168.0.42
  network 192.168.0.0
  netmask 255.255.255.0
  broadcast 192.168.0.255
  gateway 192.168.0.1

auto wlan0
iface wlan0 inet dhcp
  wpa-ssid "TP-LINK_8D0B8A"
  wpa-psk "12345678"

- auto是給ifup做識別用的,當我們使用ifup -a來打開網絡設備的時候(init里面啟動網卡的方式,以及networking start,都是使用ifup -a),ifup會找這些auto的項來進行操作。

- iface后面是logical interfaces的名字,如果我們沒有使用過maping,那這里的名字就是物理設備的名字;在設備名字之后的,是這個接口使用的address family,inet或inetv6。最后的static是靜態IP的意思,如果需要DHCP,把static換成DHCP就可以了。

- 從iface下一行起,就是具體這一個interface的參數設置了;格式沒有縮進也是可以的,只是為了看起來清晰,但是,具體哪一個接口的設置參數,必須是跟在它的iface之后的。上面就是一些常見的設置項,應該不用過多解釋。

- 作為無線設備的具體參數,我們可以直接在這里傳ssid和passwd過去。注意,這里的ssid和passwd是wpa加密用的,這里需要wpa-supplicant支援。

另外,除了常見的loopback、static和dhcp外,網口的method還可以是以下幾種(具體自己了解下吧):

1、manual,如果不是在默認這些啟動方式行列,可以用manual方式,然后在隨后的up,或者down里面定義我們如何來操作它;后面有一個例子。

2、bootp,boot protocol是無盤工作站啟動時使用的協議,它向host發送請求,得到ip以及啟動鏡像讓后把自己啟動起來。

3、ppp,point to point protocol是一種數據鏈路層協議,被多種物理網絡采用,常被ISP用作網絡接入控制。

4、wvdial,操作貓來完成ppp撥號的機制。

 

啟用網口時增加新路由

這個是我們在進行ifup或ifdown時,可以伴隨執行一些什么動作,這里是直接執行添加路由。

 
         

auto eth0
iface eth0 inet dhcp
  up route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
  up route add default gw 192.168.1.200
  down route del default gw 192.168.1.200
  down route del -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
  

allow-hotplug wlan0
iface wlan0 inet manual
  wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

up和down之后可以跟任何的command,分別是我們執行ifup和ifdown時,需要同時進行一些其他的什么操作。這里是添加和刪除路由。

另外還有,pre-up,pre-down,post-up,post-down,他們分別表示,需要為ifup做什么准備,需要為ifdown做什么准備,ifup完成之后我們還要做些什么,ifdown之后我們還要做些社么。

我們還可以在/etc/network/目錄下還可以建目錄if-up.d,if-down.d等等文件夾,在文件夾下我們可以放置我們要執行的腳本。比如,我們可以把配置無線網卡的wpa_supplicant相關腳本放在if-pre-up.d里面。

 

mapping機制

在debian系統里面,會存在網卡啟動順序的問題,所以,到底哪塊網卡是eth0,哪塊網卡是eth0還真說不上來,這時候mapping就很有用了。

 auto eth0 eth1
 mapping eth0 eth1
  script /path/to/get-mac-address.sh
  map 11:22:33:44:55:66 lan
  map AA:BB:CC:DD:EE:FF internet
 iface lan inet static
  address 192.168.42.1
  netmask 255.255.255.0
  pre-up /usr/local/sbin/enable-masq $IFACE
 iface internet inet dhcp
  pre-up /usr/local/sbin/firewall $IFACE

上面的代碼先是根據MAC地址,給每塊網卡起了一個邏輯名,然后根據邏輯名來對網卡進行配置。

必須的是,每個mapping必含有一個script。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM