在挂着VPN的虚拟机搭建代理服务
本文最后更新于 2366 天前,其中的信息可能已经有所发展或是发生改变。

背景

公司有台机器需要用VPN访问,资源包括ssh和web页面。在物理机上开VPN能够访问该内网资源,但会影响公网的访问效率和一些资源(毕竟通过VPN绕了一圈内网再回来)。很自然想到用虚拟机挂VPN,需要访问内网资源的时候到虚拟机上去解决。尽管我使用mac,触摸板划一下就能无缝切换虚拟机窗口,但多了个操作系统环境还是有些不方便。毕竟我想在同一个浏览器和终端软件上同时切换公网/内网的tab。

解决方案

  1. VPN还是挂在虚拟机上;
  2. 同时在虚拟机上安装一个网络代理软件,将常用的SOCK和HTTP端口开了就行(SOCK还是HTTP看自己需求);
  3. 但此时物理机是访问不了虚拟机端口的,我们需要在虚拟机软件上设置端口映射(一般虚拟机都支持吧),将物理机某个端口映射到虚拟机监听的SOCK或HTTP端口;
  4. 应用:物理机浏览器:安装一个SwitchyOmega插件,很方便得对某个域名走指定的情景规则(这个情景设置代理为刚刚映射的http/sock代理);ssh添加代理配置即可(下面具体步骤贴命令)

实际操作

以我的案例描述下具体操作,我的物理机是mac。

  1. 安装虚拟机(我安装的是parallels desktop。Windows下可安装VMware或VirtualBox)。然后在虚拟机安装一个操作系统(我安装的是win7)
  2. 下载了一个CCProxy(一款据说比较优秀的代理软件),将其安装在虚拟机。默认已经设置好了端口,可以不改动。
  3. 关掉win的防火墙,另外如果VPN软件有特殊限制的话,需要去掉。例如我使用的思科VPN软件
  4. 在虚拟机软件配置端口映射。如图(parallels desktop >> 偏好设置 >> 网络),我将本地的19888端口映射到了win7虚拟机的808端口(http),将本地的19889端口映射到了win7虚拟机的1080端口(SOCK5)
  5. 浏览器访问内网资源,使用SwitchyOmega。对内网资源配置规则用该情景模式。
  6. ssh登录内网机器,配置~/.ssh/config
    Host xxxx.oa.com
        ProxyCommand          nc -X 5 -x 127.0.0.1:19889 %h %p

    然后直接ssh username@xxxx.oa.com就可以了,是不是很方便。BTW:为了避免两边子网ip冲突,我用域名替换了内网的ip,这个需要在虚拟机那边的hosts文件设置下(Windows在C:\Windows\System32\drivers\etc\hosts更改)

最后

有疑问欢迎留言~

评论

  1. lory
    Windows Chrome
    6年前
    2018-12-14 16:29:52

    SSH和WEB资源这些暂用的带宽并不是很大吧?我选择物理机挂着VPN,骚操作完结

    • foam
      foam 博主
      Macintosh Chrome
      6年前
      2019-1-05 19:43:57

      主要作用是将原本VPN导致的网络隔离打通。这样可以在物理机根据不同的app用途指定不同的网络连接,避免了挂VPN,断开VPN的烦恼操作。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇