我创建了一台 Centos 虚拟机。我还创建了一些 IP 别名。一旦我暂停并恢复虚拟机,我的 IP 别名就会全部消失。所以我只想在暂停之前捕获别名地址并在恢复后调出这些 IP。
这个怎么做?
我只想要一个脚本,我不想为此使用 VMware 工具..
答案1
在 CentOS 中,可以通过使用名为 .clone 的配置文件来创建别名(NIC 品种 - 又名.clone 设备)ifcfg-<if-name>:<alias-value>
。这些文件位于此处:/etc/sysconfig/network-scripts/
.
例子
创建以下文件,/etc/sysconfig/network-scripts/ifcfg-eth0:0
。然后在文件内创建以下内容:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
您可以在此处添加其他行,具体取决于别名/克隆的性质;行例如:
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no
有关更多详细信息,请参阅 RHEL/CentOS 官方文档,它们很好地涵盖了众多选项并且易于理解,标题为:13.2.接口配置文件。
打开/关闭网络接口
添加行后,您可以使用此服务停止/启动网络堆栈:
$ sudo /etc/init.d/network <cmd>
仅启动/关闭单个 NIC 设备:
$ sudo ifup <interface>
$ sudo ifdown <interface>
例子
调出整个网络堆栈:
$ sudo /etc/init.d/network start
调出个人界面:
$ sudo ifup eth0:0
在虚拟机状态更改期间运行自定义脚本
如果您不想更改所有别名,则可以使用 VMware 提供的工具来创建将在其状态更改(挂起/启动/停止/恢复)期间运行的脚本。
可执行 ( chmod +x ...
) 的自定义脚本可以放置在这些目录中。
- (工具目录)/script/resume-vm-default.d/
- (工具目录)/script/suspend-vm-default.d/
- ETC。
ToolsDir 的位置取决于软件在系统上的安装位置。如果您不确定该位置在哪里,则必须搜索该位置。