永久地进行网络更改 - C ++

时间:2012-10-10 08:45:49

标签: c++ linux networking network-interface

我需要允许外部客户端更改运行程序的Linux机器的IP(C ++)。我已经知道如何列出所有本地接口和分配给它们的当前IP。我也知道如何以编程方式更改所述IP。

我需要知道的是如何使此更改成为永久更改,因此,如果计算机重新启动,它将保持相同的网络配置。 最好的方法是什么?手动解析/ etc / network / interfaces?调用一些linux命令?

编辑:我正在使用Debian。

谢谢!

3 个答案:

答案 0 :(得分:3)

是的,操纵/etc/network/interfaces是实现这一目标的方法(只需存储备份以防出现问题)。

此外,如果接口由网络管理员管理(对于服务器很少见,但在桌面上发生),我认为你可以通过dbus调用来操作它。

你应该提到分发,顺便说一句,而不是语言 - 如果你没有提到文件就不可能猜到; - )

答案 1 :(得分:1)

要永久更改,您必须在/etc/network/interfaces和DNS服务器(resolv.conf)中编写网络配置。

http://wiki.debian.org/NetworkConfiguration

如果您不想每次都解析接口,可以将IP和网络保存在配置文件中以进行恢复。 然后你必须只重写“/ etc / network / interfaces”。

更改网络接口配置后,必须重新启动网络堆栈(特定于发行版)。

使用auto重启接口:

$ /etc/init.d/networking restart

重启其他界面:

$ ifup [iface]

答案 2 :(得分:0)

您可以在脚本中调用ifconfig并路由commands或更好,您可以编辑您提到的文件,具体取决于您的Linux发行版。