如何从脚本更改接口的 IP 地址?
我应该说我不想使用 ifconfig,也不想手动编辑 /etc/network/interfaces 文件。我需要一个脚本。
答案1
如果您使用ifup
配置接口,则可以为接口定义多个所谓的逻辑接口定义,并使用 ifup 和 ifdown 在它们之间切换。例如,您可以在 /etc/network/interfaces 中定义“iface home”和“iface work”,然后使用“ifup eth0=home”或“ifup eth0=eth0-work”启动 eth0。请参阅 ifup(8)。以下是从脚本执行此操作的示例。
#!/bin/sh
ifdown eth0
ifup eth0=home
如果您使用 NetworkManager 配置接口,那么您可以定义多个所谓的连接并使用命令在它们之间切换nmcli
。
#!/bin/sh
nmcli con down id 'Wired connection work'
nmcli con up id 'Wired connection home'
如果您既不使用 ifupdown 也不使用 NetworkManager,并且不想使用 ifconfig,那么您可以使用该ip
实用程序。请参阅 ip(8)。
#!/bin/sh
ip link set dev eth0 ...