我需要允許外部客戶端更改程序運行的Linux機器的IP(C++)。我已經知道如何列出所有分配給它們的本地接口和當前IP。我也知道如何以編程方式更改所述IP。使網絡更改永久 - C++
我需要知道的是如何使此更改成爲永久性的,因此,如果計算機重新啓動,它將保持相同的網絡配置。 這樣做的最好方法是什麼?手動解析/ etc/network/interfaces?調用一些linux命令?
編輯:我正在使用Debian。
謝謝!
我需要允許外部客戶端更改程序運行的Linux機器的IP(C++)。我已經知道如何列出所有分配給它們的本地接口和當前IP。我也知道如何以編程方式更改所述IP。使網絡更改永久 - C++
我需要知道的是如何使此更改成爲永久性的,因此,如果計算機重新啓動,它將保持相同的網絡配置。 這樣做的最好方法是什麼?手動解析/ etc/network/interfaces?調用一些linux命令?
編輯:我正在使用Debian。
謝謝!
是的,操縱/etc/network/interfaces
是實現這一點的方法(只需存儲備份以防萬一出錯)。另外,如果接口是由網絡管理員管理的(服務器很少出現這種情況,但發生在桌面上),我想你可以通過dbus調用它。
你應該已經提到的分佈,順便說一句,不是語言 - 如果你沒有提到的文件是不可能猜測;-)
你可以調用腳本ifconfig
和路線commands
或更好,你可以編輯你提到的文件,這取決於你的Linux發行版。
要進行更改永久,你必須寫在/etc/network/interfaces
網絡配置,也許DNS服務器(resolv.conf的)。
http://wiki.debian.org/NetworkConfiguration
如果你不想每次解析接口,可以爲您節省了IP和網絡的配置文件來恢復它。 然後你必須重寫「/ etc/network/interfaces」。
更改網絡接口配置後,必須重新啓動網絡堆棧(發行版專用)。
重啓接口與auto
:
$ /etc/init.d/networking restart
重啓其它接口:
$ ifup [iface]
是的,對不起,我正在使用Debian 6.所以要走的路是手動解析和編輯/ etc/network/interfaces?該死......) – pparescasellas
對此深感抱歉;-)其實,這不是一個大問題,尤其是如果沒有其他人的文件打交道了 - 你甚至可以讓您的數據更適合用於解析文件並生成'interfaces'從它。但是,你有這個想法;-) –