模拟新机器批量设置IP地址

之前同事生产系统批量安装600台服务器,当时他是做的无盘启动,最近在学习shell脚本,尝试写脚本安装,过程也很曲折,目前也有一些问题没解决,写下自己的安装过程

思路:一台机器安装DHCP服务器,设置一个地址池 ,开机后获取地址,前提是知道这些机器的序列号,新建一个excle表,分配上你想要的地址,通过awk提取原IP和规划IP,通过hostname批量设置IP地址

新建五台服务器,我是通过PXE安装的,大家也可以手动安装,网络我是使用的NAT模式,提示下,我当初内存设置的1G,pxe安装时报错,更改成2G就好了。

首先是获取机器SN,dmidecode | grep -i “serial N” | head -n1 ,我为了方便使用以下命令:dmidecode | grep -i “serial num” | head -n1| awk -F: ‘{print $2}’| sed “s/ //g” | awk -F “-” ‘{print $3}’;d966bd11eb910693这个我就认为是机器的SN号
ifconfig | grep 192.168.247 -C2| grep ether | awk '{print $2}'这个命令可以获取mac地址

#!/bin/bash
rm -rf tmp0 tmp1
for i in {
   5..50};do
	echo 192.168.247.$i
done | tee tmp0

这是获取192.168.247.5~50内存在的所有IP地址;

rm -rf ztmp1
for i in `cat ztmp0` ;do
        if ping -c 4 $i ;then
        echo $i >> ztmp1
        fi
done

获取能够ping通的地址,接下来我们要批量ssh到节点上,但是需要输入密码;我找了半天发现安装sshpass可以输入明文密码;yum install sshpass;同时修改ssh_config文件vim /etc/ssh/ssh_config StrictHostKeyChecking no

rm -rf ztmp2
for i in `cat ztmp1`;do
	mac=`sshpass -p 123456 ssh $i ifconfig | grep 192.168.247 -C2| grep ether | awk '{print $2}'`
	sn=`sshpass -p 123456  ssh $i dmidecode | grep -i "serial num" | head -n1| awk -F: '{print $2}'| sed "s/ //g" | 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值