我需要允许外部客户端更改程序运行的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'从它。但是,你有这个想法;-) –