Ip

配置 IP 地址的另一種方法

  • October 16, 2019

我正在設置一個嵌入式 linux 設備,它應該在啟動時從文件系統中的文件中獲取其 IP 地址和 MAC 地址。假設有一個文件/root/ipaddress,其內容只有 “192.168.10.10” 和/root/macaddress“02:02:02:02:02:02” 。其餘的配置不應該是可配置的。

目前,網路配置是通過 完成的ifup -i /etc/interfaces -a,其中 IP 地址在節中定義:

# The loopback network interface
#auto lo
#iface eth0 inet loopback

# The primary network interface
auto eth0

iface eth0 inet static
   address 192.168.10.10
   netmask 255.255.255.0

我試圖在 /etc/interfaces 文件中使用環境變數但沒有成功。

我可以使用命令建構一個腳本ip,在其中我會再次關閉介面,配置 IP 和 MAC 地址,然後再次啟動它。但是,這似乎效率很低。

ifupdown一組腳本並非旨在以這種方式工作。

相反,您可以:

  1. 停止使用ifupdown並管理自己在專用腳本中配置網路。(我可能會選擇這個選項)
  2. 使用 的post-up特性ifupdown,這樣:
iface eth0 inet static
 pre-up ifconfig eth0 hw ether `cat /root/macaddress`
 address 0.0.0.0
 netmask 255.255.255.0
 post-up ifconfig eth0 `cat /root/ipaddress`

請注意,我沒有測試 post-up 是否能夠管理反引號結構。..

也許你也可以探勘manual方法(而不是static)……

引用自:https://unix.stackexchange.com/questions/547051