CentOS 7虚拟机安装MEOW代理

2017-05-26|Categories: Linux|Tags: , |

为什么要给虚拟机安装代理软件

起初是要给虚拟机中的Vim安装插件,所有的插件都来自GitHub,虽然GitHub没有被墙彻底封杀,但下载速度奇慢无比,根本无法正常使用,尤其是YouCompleteMe这种包含许多文件的大家伙,如果不用代理,想要安装成功恐怕要等到墙倒下的那一天。

软件环境

  • 主机:macOS Sierra + VMware Fusion + Surge
  • 虚拟机:CentOS 7 + 桥接模式虚拟网卡

安装过程

MEOW的安装本来很简单,麻烦之处就是因为墙的存在,导致无法从GitHub下载安装文件(所有安装文件不超过5M)。无奈之下,只能想办法让虚拟机使用主机的代理,也就是说,让Surge来代理CentOS 7的网络请求。

要实现这个目标,我一开始想到的是Squid代理服务器。

在macOS安装Squid

  • brew install squid
  • cd /usr/local/Cellar/squid/3.5.25/.bottle/etc
  • vim squid.conf
    • cache_peer 127.0.0.1 parent 6152 0 no-query no-digest
    • never_direct allow all
  • cd ../../sbin
  • ./squid

使用Squid只是权宜之计,配置选项是从网上照抄的,唯一的目的就是保证MEOW能安装成功,还好这个目的达到了。

整理这篇笔记的时候,我想到了一个更好、更简单的方法,完全不涉及Squid:

更优方案:让Surge代理局域网内所有网络请求

  • vim ~/Documents/Surge/surge.conf
    • interface = 0.0.0.0
  • 点击菜单栏Surge图标 → Reload Configuration

因为合租的关系,局域网内有其他室友的电脑,让Surge始终监听整个局域网并不合适,绝大多数情况下,我会使用默认的interface = 127.0.0.1,只监听本机的网络请求。

在CentOS 7配置命令行程序的代理

  • export http_proxy='http://192.168.6.200:3128'
    • 3128是Squid的默认监听端口
  • export http_proxy='http://192.168.6.200:6152'
    • 6152是Surge的默认监听端口
  • export https_proxy=$http_proxy

在CentOS 7安装MEOW

  • curl -L git.io/meowproxy | bash
    • 安装路径设置为/usr/local/bin/
  • vim ~/.meow/rc
    • proxy = ss://encrypt_method:password@hostname:port
  • MEOW &

更改代理

  • vim ~/.bashrc
    • export http_proxy='http://127.0.0.1:4411'
      • 4411是MEOW的默认监听端口
    • export https_proxy=$http_proxy
  • source ~/.bashrc

这样配置就保证所有命令行工具的网络请求都由MEOW代理,随后我再升级Vim插件、编译安装Vim 8.0、编译安装tmux都非常顺利,网络速度比起没有代理的时候简直是天壤之别!

MEOW开机启动

通过图形界面设置

  • 点击桌面左上角Applications --> System Tools --> Startup Applications --> Add
    • Name: Run MEOW
    • Command: nohup /usr/local/bin/MEOW >/dev/null 2>&1 &

通过命令行设置

详见《设置Linux开机启动程序》

总结

安装Squid——而不是简单的更改Surge监听端口——以便虚拟机安装MEOW,这个过程明显是走了弯路,但这不重要,重要的是,达成了目标!

而且,走过弯路之后,更容易找到好走的路。

2 Comments

  1. longwhale 2017-10-31 at 11:22 - Reply

    命令行设置开机启动的方式:把 nohup /usr/local/bin/MEOW >/dev/null 2>&1 & 添加到 /etc/rc.local

Leave A Comment