我需要允许外部客户端更改运行程序的Linux机器的IP(C ++)。我已经知道如何列出所有本地接口和分配给它们的当前IP。我也知道如何以编程方式更改所述IP。
我需要知道的是如何使此更改成为永久更改,因此,如果计算机重新启动,它将保持相同的网络配置。 最好的方法是什么?手动解析/ etc / network / interfaces?调用一些linux命令?
编辑:我正在使用Debian。
谢谢!
答案 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发行版。