![對 /etc/network/interfaces 的變更將被忽略並在重新啟動時恢復](https://rvso.com/image/1428763/%E5%B0%8D%20%2Fetc%2Fnetwork%2Finterfaces%20%E7%9A%84%E8%AE%8A%E6%9B%B4%E5%B0%87%E8%A2%AB%E5%BF%BD%E7%95%A5%E4%B8%A6%E5%9C%A8%E9%87%8D%E6%96%B0%E5%95%9F%E5%8B%95%E6%99%82%E6%81%A2%E5%BE%A9.png)
我想根據本教學設定虛擬機器:http://www.howtoforge.com/virtualization-with-kvm-on-a-debian-lenny-server
我已經到了必須修改介面文件的地步,它看起來像這樣:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 176.9.XXX.XXX
netmask 255.255.255.255
pointopoint 176.9.XXX.XXX
gateway 176.9.XXX.XXX
並將其更改為這樣:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 176.9.XXX.XXX
netmask 255.255.255.255
pointopoint 176.9.XXX.XXX
gateway 176.9.XXX.XXX
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
然後我做了:/etc/init.d/networking restart,但我的 ifconfig 輸出保持不變,當我重新啟動伺服器時,介面檔案看起來像以前一樣。為什麼會發生這種情況?
如果配置:
eth0 Link encap:Ethernet HWaddr 00:18:51:XX:XX:XX
inet addr:176.9.XXX.XXX Bcast:176.9.XXX.XXX Mask:255.255.255.255
inet6 addr: fe80::218:51ff:XXXX:XXXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4236 errors:0 dropped:0 overruns:0 frame:0
TX packets:4569 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:414559 (404.8 KiB) TX bytes:501379 (489.6 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3406 errors:0 dropped:0 overruns:0 frame:0
TX packets:3406 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:319219 (311.7 KiB) TX bytes:319219 (311.7 KiB)
答案1
並不是真正的答案,但有些觀察太長而無法發表評論,這可能會有所幫助...
首先,你有沒有bridge-utils
安裝了?原因是,ifupdown
負責解析/etc/network/interfaces
和管理網路的套件只是一堆調用適當的較低層級工具(例如iproute
dhcp3-client
等等),因此,如果您缺少負責建立橋樑的繁重工作的工具,則ifupdown
僅靠自己將無法建立橋樑。
其次,您應該利用其和腳本ifupdown
形式提供的互動式內容,而不是「重新啟動網路」 :要測試 brindge 介面是否能夠啟動,您可以這樣做ifup
ifdown
# ifup br0
看看會發生什麼事。請諮詢適當的手冊頁。
三、請停止使用
# /etc/init.d/<foo> <action>
並做
# service <foo> <action>
相反(自 Squeeze 以來可用)。這有很多優點:
無論安裝哪個 init 系統,它都可以工作,也就是說,它甚至可以與 、 等一起工作,
upstart
而systemd
每個openrc
系統都提供自己的特定工具來控制服務。因此,使用
service
後可以輕鬆過渡到另一個 init 系統(systemd
預設情況下 Jessie 會將您的系統過渡到),而不需要您快速重新學習如何管理您的服務。- 使用
sysvinit
(您目前正在使用的),它會在呼叫目標初始化腳本之前正確清理環境。舊的直接呼叫方法很容易受到呼叫腳本的 shell 狀態的影響。該service
腳本確保它所呼叫的 init 腳本看到具有合理的$PATH
、umask
、 工作目錄等的環境。