我修改了 CentOS 网络安装映像以通过 http 加载我的 kickstart 文件。当在具有 DHCP 服务器的网络上运行时,这非常有效。显然,如果没有 DHCP,这将失败,因为安装程序无法获取 IP。
那么,我的问题是我需要修改什么才能设置静态IP?
答案1
您需要将静态 IP 选项传递给内核,以便 kickstart 进程可以找到您的 ks.cfg。如您所知,默认情况下网络安装会查找 dhcp 地址。您可以通过在引导提示符下至少传递ip
和可选的gw
&来设置静态地址。dns
linux ks=http://192.168.0.1/ks.cfg ip=192.168.0.100 gw=192.168.254.254 dns=192.168.0.2
您可以选择以 5 种方式之一指定要使用的设备。
ksdevice=<device>
- 接口的设备名称,例如eth0
- 接口的 MAC 地址,例如 00:12:34:56:78:9a
- 关键字
link
,指定第一个链路处于 up 状态的接口 - 关键字
bootif
,它使用 pxelinux 在 BOOTIF 变量中设置的 MAC 地址。在 pxelinux.cfg 文件中设置 IPAPPEND 2 以使 pxelinux 设置 BOOTIF 变量。 - 关键字
ibft
,使用iBFT指定接口的MAC地址
有很多很多您可以传递用于启动启动的选项。您可以获得 RHEL/CentOS 6 的引导和启动脚本选项的完整列表这里。
答案2
有一些方法可以在 CentOS 系统上静态设置 IP 地址,我提到其中两种:
1)使用命令行:
/sbin/ifconfig eth1 192.168.30.40 netmask 255.255.255.0 broadcast 192.168.30.255
在此命令中,您可以设置您想要的静态 IP 地址代替 192.168.30.40 ,网络掩码代替 255.255.255.0 ,并设置广播代替 192.168.30.255 。
2)基于GUI:以root身份输入以下命令:
/usr/bin/neat
现在您会看到一个窗口,选择要为其设置静态IP的接口(例如eth0),然后按“编辑”键。现在将打开另一个窗口,在该窗口中选择“静态设置 IP 地址”单选按钮,然后根据需要填写“IP 地址”、“子网掩码”、“默认网关地址”字段。然后按“确定”保存更改。