V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
benjunk
V2EX  ›  Linux

主机和虚拟机只有 ftp 相连,还有别的办法互通么?

  •  
  •   benjunk · 2019-06-11 09:29:29 +08:00 · 3262 次点击
    这是一个创建于 902 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司的开发环境是一个本地一个远程虚拟机,虚拟机中可以访问外网,所以一般在虚拟机中开发。 开发完成的前端代码需要在本机的设备上才能运行,本机和远程之间不能互通,不知道什么原理,子网掩码没学好- -。 但是两个机器可以互通的地方就是 ftp 了,,所以我们一般把远程虚拟机写好的代码通过 ftp 传到本地来。 有好的解决方案么?之前想到的是本机的设备挂载 ftp 来解决,但是有点麻烦,,,

    23 条回复    2019-06-11 20:47:09 +08:00
    chavyleung
        1
    chavyleung   2019-06-11 09:45:59 +08:00
    不知道我有没理解错。
    你的根本问题是否:你本地机不能上外网,所以你需要借助虚拟机的网络环境来开发

    如果是,了解下内网穿透这类工具,可以让你本机借助虚拟机来上外网,如:FRP
    这样是否能解决你问题
    benjunk
        2
    benjunk   2019-06-11 09:49:22 +08:00
    @chavyleung 本机和虚拟机网络不互通,frp 也得两边都能连上才行呀
    benjunk
        3
    benjunk   2019-06-11 09:50:10 +08:00
    @chavyleung 不是跑在本地的虚拟机,是远程的 windows 虚拟机,跑在公司内部服务器中的
    Jirajine
        4
    Jirajine   2019-06-11 09:53:09 +08:00 via Android
    FTP 能通那网络肯定是通的。不是什么网络原理,你应该查看防火墙规则,开放的端口,协议等(如果你有权限的话)
    chavyleung
        5
    chavyleung   2019-06-11 09:55:06 +08:00 via iPhone
    @benjunk 对网络不是特别懂,我以为只要能远程上了,至少网络是通的

    frp 确实需要网络连通,也需要服务端能开放特定的端口给客户机,如果前两个不满足就不能走这条路了
    benjunk
        6
    benjunk   2019-06-11 09:58:22 +08:00
    @Jirajine 看不到,普通开发一名- -、所以想有没有曲线救国之路,不然每次 ftp 拷贝代码太麻烦了
    benjunk
        7
    benjunk   2019-06-11 09:58:34 +08:00
    @chavyleung 恩啊,,开发起来太恼火
    also24
        8
    also24   2019-06-11 10:03:28 +08:00
    两边分别是什么系统呢?

    既然是虚拟机,内网环境应该不错,直接挂载确实是选项之一。

    懒得折腾的话,也可以用 IDE/编辑器 上的 FTP 插件来实现保存自动 upload 之类的功能,例如:
    https://packagecontrol.io/packages/SFTP
    https://packagecontrol.io/packages/FTPSync
    also24
        9
    also24   2019-06-11 10:05:07 +08:00
    @chavyleung #1
    即使可以通过伪装绕过防火墙,打通了 frp,也最好不要。

    既然会 “多此一举” 的这样开发,说明楼主公司的 IT 对安全是非常在意的(甚至可能是保密部门),你这样破坏规则,实在是不好。
    natsji
        10
    natsji   2019-06-11 10:08:36 +08:00 via Android
    你的意思是你公司有个远程的 Windows 服务器,你想让在服务器上写的代码直接推送到本地?为什么我觉得一般都是在本地写好代码再推到服务器呢。你们没有自己的 git 服务器吗。
    benjunk
        11
    benjunk   2019-06-11 10:14:53 +08:00
    @natsji 远程的不是 windows 服务器,只是一个虚拟机。公司走安防项目的,要求所有代码在虚拟机中开发,设备都在本机连着的,所以只有虚拟机的代码拷贝到本地,然后再设备中运行
    snip
        12
    snip   2019-06-11 11:44:16 +08:00
    挂载很方便吧
    a22124497
        13
    a22124497   2019-06-11 11:46:57 +08:00
    vm 的话,是有个 CLI 中是有个命令,可以直接上传下载文件
    jcbound
        14
    jcbound   2019-06-11 11:51:28 +08:00
    磁盘映射
    lyog
        15
    lyog   2019-06-11 11:56:48 +08:00 via iPhone
    听着和前东家的工作方式类似,本地远程连虚拟桌面开发,当时我是在虚拟桌面开启了 iis,然后映射到一个文件夹下,每次下载把文件放到那,然后浏览器访问下载
    Jirajine
        16
    Jirajine   2019-06-11 12:03:15 +08:00 via Android
    @benjunk 不懂网络基础你咋写的代码。。
    防火墙如果限制的不太严格,可可以试试开个高位端口,或者伪装成可放行的进程。不过赞同楼上说的,这么严格的情况下还是最好不要这么干。可以跟你们 IT 说一下换成 samba 或者 nfs 等方便点的协议。
    zjsxwc
        17
    zjsxwc   2019-06-11 12:06:34 +08:00
    看了帖子,
    楼主的工作应该是为某个硬件设备编写 JS 代码,
    而楼主的公司要求所有开发工作都在远程 Windows 虚拟机里完成,
    但远程虚拟机并不能直接连接真实的硬件设备,

    于是楼主通过 ftp 获取代码到本地电脑,然后本地电脑连接硬件设备,让硬件设备运行 JS 代码。
    yoshiyuki
        18
    yoshiyuki   2019-06-11 13:43:38 +08:00
    用 vscode 或者 webstorm 之类的软件,使用一个 ftp 插件,勾选本地保存自动上传远程服务器的选项,就可以实现本机和远程的代码实时同步了
    benjunk
        19
    benjunk   2019-06-11 13:53:34 +08:00
    @zjsxwc 大佬一语中的
    benjunk
        20
    benjunk   2019-06-11 13:55:24 +08:00
    @yoshiyuki @a22124497 麻烦的不是代码推送到 ftp,是到了 ftp 还得拷贝到本地的设备里面去。可能设备挂载 ftp 这个办法了吧,,,但是我们 ftp 有个蛋疼的问题,,,只准上传不准删除,,,
    yoshiyuki
        21
    yoshiyuki   2019-06-11 14:04:59 +08:00
    @benjunk 我的方案,代码是在本地的编辑器里写的。请仔细再看一遍理解工作流程
    benjunk
        22
    benjunk   2019-06-11 14:08:02 +08:00
    @yoshiyuki 远程不是服务器,远程是开发环境。没有所谓的服务器,代码运行在本机连接的一个设备上
    akira
        23
    akira   2019-06-11 20:47:09 +08:00
    问公司其他人 /主管 怎么处理的,不要自己想方案
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1721 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:54 · PVG 00:54 · LAX 08:54 · JFK 11:54
    ♥ Do have faith in what you're doing.