Linux环境下完成远程系统迁移

一、基础

了解:

netcat是个计算机网络公用程式,用来对网络连线TCP或者UDP进行读写。nc命令是netcat命令的简称,都是用来设置路由器。netcat 在2001年insecure.org对nmap用户邮件列表举办的投票被推选为第二有用的网络保全工具。2003年投票结果是第四名;2006年的投票继续稳占同样第四名宝座。 来自: https://zh.wikipedia.org/wiki/Netcat

clip_image002

参数:

-p<通信端口>:设置本地主机使用的通信端口;
-h:在线帮助;

-l:使用监听模式,监控传入的资料;

-z:使用输入/输出模式,只在扫描通信端口时使用。

使用:

主机:指定主机的IP地址或主机名称;

端口号:可以是单个整数或者是一个范围。

CentOSA(admin,192.168.1.1): nc -lp 1234

CentOSC(client,192.168.1.2): nc 192.168.1.1 1234

二、实验环境:

左边CentOSA为需要迁移的机器。IP为192.168.1.1

右边CentOSC为迁移至的机器,配有俩快磁盘。IP为192.168.1.2

三、传送数据(三种方法):

I-普通法:

左边CentOSA使用: dd if=/dev/sdx | nc ip port

右边CentOSC使用: nc -l port | dd of=file

这是最保守的,在进行上述操作时。应该多次匹配MD5,防止文件损坏

注意:要先开启CentOSC的netcat数据监听端口,再使用CentOS传送。

缺点:不安全(可使用iptables),耗时(操作需要多次,传送文件巨大)

II-便捷法:

这是比较便捷的,但是(满足便捷)牺牲的也比较多。

注意:这里为了演示将nc的数据经过解压直接dd至磁盘

优点:便捷,传送(经过压缩)文件小

III-安全法:

使用openssh进行传送,这是最安全的。

注意:这里使用的是openssh,不是netcat!当然,使用iptables的nc传送也可以但是比较没有隧道加密的openssh更加安全。

优点:安全,保守,可保证文件完整性。

缺点:传送慢(加密的SSH一定没有不加密的NC快)

四、克隆至磁盘

dd if=<文件所在位置> of=/dev/sd<磁盘编号>

如果迁移过程有问题可以查看我的博客关于迁移系统一文:

博客园:http://www.cnblogs.com/itxdm/p/linux_lvm.html

LinuxCN: https://linux.cn/article-7718-1.html

思考与其他

1、 操作前应该多次备份资料。(小心使得万年船)

2、 操作中应该多次配对MD5值(防止出现文件损坏问题)

3、 传送中(受信任)应该开启iptables安全设置(仅ACCEPT对端连接本地PORT)

4、 传送中(因特网)应该使用SSH的方式传送(Netcat传送不加密)

5、 应该使用bzip2等压缩传送时间及流量人力成本。

原文地址:https://www.cnblogs.com/itxdm/p/nc.html