如何远程登录linux主机并更换ip地址

来源: 电脑维修教程 阅读:     发表时间:

经由过程vcenter对rhel6.0以下版本的系统进行克隆的时辰,没法利用高级选项进行ip的指定操作,下面为大家介绍下长途登录linux主机改换ip地址,需要的朋侪

经由过程vcenter对rhel6.0以下版本的系统进行克隆的时辰,没法利用高级选项进行ip的指定操作,下面为大家介绍下长途登录linux主机改换ip地址,需要的朋侪不要错过

问题阐发:

按照开辟组同事反映,经由过程vcenter对rhel6.0以下版本的系统进行克隆的时辰,没法利用高级选项进行ip的指定操作,从而经由过程cloudstack对新的实例指定ip也是不克不及实现的,并且,不克不及够利用dhcp服务器解决该问题,不然会致使新虚拟机ip地址跟指定ip的纷歧致,也可能致使整个系统中ip地址分派的紊乱。

解决思绪:

给rhel6.0以下系统建造的模板均指定一个固定的保存ip地址,好比192.168.3.0/24网段中,保存192.168.3.240~192.168.3.250给此类模板系统。

不论是经由过程vcenter克隆虚拟机仍是cloudstack新建实例,只如果经由过程该固定ip地址启动的所有虚拟机,均会成功以原有ip地址启动,并正常跟网段内其他ip地址通信,需要保证统一时候不许可统一ip地址的模板同时启动。

下文以模板固定ip为:10.196.18.250的系统,在节制节点,如cloudstackmanagement节点上面/etc/hosts中进行解析:

10.196.18.250 vm250

1.启动vm250 ,经由过程检测机制判定其启动成功,法式中去对10.196.18.250进行简单的毗连测试,ping 通便可。

2.在启动实例的进程中,同时将ip地址信息写入当地目次中,依照以下格局留存:

假定文件名为:ifcfg-eth0.001,内容为以下

device=eth0

onboot=on

bootproto=static

ipaddr=10.196.28.208

netmask=255.255.255.0

gateway=10.196.28.254

3.挪用剧本文件:changeip.sh ,该剧本文件完成两项使命:

【1】将ifcfg-eth0.id 拷贝到vmid指定目次中,重定名为ifcfg-eth0

【2】经由过程cloudstack management 登岸vmid,重启收集服务,使得新的收集设置装备摆设文件生效。

利用方式:./changeip.sh id_of_ifcfg-eth0 id_of_vm

如:./changeip.sh 001 250 ,将ifcfg-eth0.001 文件拷贝纸vm250系统中,并从头启动收集服务,使得新实例的最终ip地址为10.196.28.208

复制代码

代码以下:

#!/bin/bash

#description: change ip on instances

#usage: ./changeip.sh fileid vmid

# flush the caches of remote hosts

>~/.ssh/known_hosts

#define the network configfile location

dist=/etc/sysconfig/network-scripts/ifcfg-eth0

# define a function which copy the new ifcfg-eth0 file

# from cloudstack management or from other host to new

# instance boot from vm_fixip without interactive

function scp_file(){

expect -c "

set timeout -1

spawn -noecho scp $1 $2

expect "yes/no"

send "yesr"

expect "password:"

send "passwordr"

expect eof

"

}

scp_file ifcfg-eth0.$1 root@vm$2:$dist

# this function named res_new means restart network

# on new instance loading from new network config file

# without interactive

function res_net(){

expect -c "

set timeout -1

spawn -noecho ssh $1 $2

expect "password:"

send "passwordr"

expect eof

"

}

res_net root@vm$2 "service network restart > /dev/null 2>&1 &"

sleep 2

exit 0

以上是:解决如何远程登录linux主机并更换ip地址问题的详细资料教程