Vmware虚拟机时间同步

本地安装了vm多个虚拟机用于开发和测试,但是发现frp客户端无法与客户端进行认证,查看文档发现客户端与服务端的时间差不能超过15分钟,因为时间戳被用于加密验证,于是修改本地CentOS7时间。

首先修改时区:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

命令是建立了一个从/usr/share/zoneinfo/Asia/Shanghai/etc/localtime本地时间的一个软链接(符号链接)。

然后安装ntpdate来进行时间校准:

yum -y install ntp ntpdate
ntpdate ntp.sjtu.edu.cn

需要值得注意的是,这里的授时服务器网上找到的一堆并不是所有都可以使用的,我这里使用的是测试可用的一个服务器。

时间同步的时候可能会发生以下报错:
no server suitable for synchronization found

这里有可能是防火墙问题,也有可能是授时服务器无法访问,对于后者多换几个服务器进行尝试即可。
前者问题网上也有多种说法可能是防火墙问题,修改你的iptables配置,开放udp 123端口即可:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 123 -j ACCEPT

不过经我这里遇到的基本都是后者。

问题已经解决,但是又出现新的状况,个人一直习惯不关虚拟机直接关电脑,利用vm的恢复功能来让虚拟机恢复到主机关机时的状态。
然后又发生了frp无法与服务器进行认证的情况,检查一下发现情况自然是客户端时间问题,突然意识到vm提供了vmware-tools来增强虚拟机和宿主机的交互体验,其中有一项就是同步主机时间

安装vmware-tools,在你的Vmware中选择虚拟机->安装Vmware Tools,进入虚拟机,由于我的CentOS没有安装图形界面就只能命令行安装了。

注意Vmware Tools有些功能需要额外依赖,所以最好先安装好 kernel-devel, gcc等。
gcc yum就可以安装,至于kernel-devel,如果你从elrepo中安装了最新的内核从yum中搜索到的不是对应的内核,可以使用

yum install "kernel-devel-uname-r == $(uname -r)"

但还是是可能会找不到对应的内核,所以你需要手动安装,在这里你可以找到对应的内核,下载安装即可

  1. 首先创建目录并挂载cdrom
    mkdir -p /mnt/cdrom
    mount -t auto /dev/cdrom /mnt/cdrom

    出现mount: /dev/sr0 is write-protected, mounting read-only说明挂载成功

  2. 拷贝出软件包并解压
    cd /mnt/cdrom
    cp /mnt/cdrom/VMwareTools-10.2.0-7259539.tar.gz /home/vm-tools.tar.gz
    cd /home
    tar -xzvf vm-tools.tar.gz
    
  3. 进入解压目录进行安装
    cd vmware-tools-distrib
    ./vmware-install.pl
  4. 卸载cdrom
    umount /mnt/cdrom

注意别忘了到你的虚拟机设置中开启与主机时间同步。

参考文档:
https://docs.vmware.com/cn/VMware-Workstation-Pro/14.0/com.vmware.ws.using.doc/GUID-08BB9465-D40A-4E16-9E15-8C016CC8166F.html
https://github.com/fatedier/frp/blob/master/README_zh.md#身份验证

  
BugHome版权所有丨转载请注明出处:https://minei.me/archives/353.html
  

4 comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注