Jack's Blog

My blogging place

各种代理设置

| Comments

Mac中配置Squid

首先,用Homebrew安装Squid

brew install squid

启动Squid

launchctl load /usr/local/opt/squid/*.plist

这样就可以使用你的本机地址+3128端口使用http和https代理了。

关闭Squid

launchctl unload /usr/local/opt/squid/homebrew.mxcl.squid.plist

Ubuntu配置apt代理

修改配置文件/etc/apt/apt.conf.d/80proxy,添加如下内容:

Acquire::http::Proxy "http://your-ip-addr:3128/";

Ubuntu配置系统全局代理

修改配置文件/etc/environment,添加http及https代理:

http_proxy=http://your-ip-addr:3128/
https_proxy=http://your-ip-addr:3128/

这样配置以后支持http代理的软件都可以访问外网了,不支持的则不行,这时候就需要全局的socket代理了。

Ubuntu配置socket代理,使用proxychains进行全局配置

前面几种方式都无法正常访问网络,那就需要最后这种方法了。

安装proxychains:

sudo apt-get install proxychains

修改配置文件/etc/proxychains.conf,只需要修改其中的ProxyList,添加本地的ssh代理即可,如:

socks5 127.0.0.1 7777

使用proxychains,比如要进行bundler安装:

sudo -u git -H bundle install --without development test postgres --deployment

修改为:

sudo -u git -H proxychains bundle install --without development test postgres --deployment

bundler就可以使用ssh隧道代理进行更新了。总之就是在要执行的命令前键入一个proxychains就可以使用代理了。

路由器上使用Cisco IPSec连接网络

| Comments

安装vpnc

连接IPSec需要用到vpnc这个包,通过opkg进行安装。

配置vpnc

/etc/vpnc/目录下创建配置文件,内容如下:

IPSec gateway server-address
IPSec ID group-name 
IPSec secret psk-secret
Xauth username vpn-username
Xauth password vpn-password
NAT Traversal Mode cisco-udp

然后运行命令即可启动ipsec了,也创建了一个tun的网络设备

vpn /etc/vpnc/your-config

完善

虽然已经创建了tun的设备,但是会发现有些网页可以打开,有些则不行,丢包的情况非常严重,这是因为vpnc创建的这个网络设备的mtu值是1412,而不是一般的1500,所以利用iptables对数据包进行整形。

/etc/firewall.user中添加如下内容:

iptables -t mangle -I FORWARD -o tun+ -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t mangle -I FORWARD -i tun+ -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t mangle -A OUTPUT -o tun+ -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

重启firewall后网站就能正常打开了。

路由表

与OpenVPN相同,最好也配置一下路由表,让国内IP不走tun设备,可以依然使用之前的chnroute生成的vpnup.sh文件,但是要进行一点点修改。把OLDGW手动进行设置为上级路由器的网关,如我的上级路由器的网关是192.168.1.1,则设置:

OLDGW=192.168.1.1

即可。

启动好vpnc后,运行一下vpnup.sh,就配置好国内路由了。

OpenWrt的DNS配置

| Comments

本文主要研究一下OpenWrt中的DNS配置的相关内容,介绍以下内容:

  1. dnsmasq的更多配置,给域名设置独立的DNS server。
  2. 用pdnsd配置一个更安全、快速的DNS server。

dnsmasq

国外域名用Google DNS进行解析还好说,国内的域名如果用Google DNS进行解析,可能会出现返回的服务器IP不是离你最近的情况,导致服务器响应没那么快,比较常见的是Youku等视频网站。所以针对这种情况,针对国内的域名,配置国内的DNS服务。

OpenWrt脱机下载

| Comments

一般为了实现脱机下载,可能会考虑搭建一个自用的NAS系统,不过这样的一个系统一般要准备一个小机箱之类的PC来搭建。考虑到耗电和成本的因素,加上OpenWrt很好很强大,所以完全没必要为了脱机下载专门配个Atom芯片的PC,一个路由器足以搞定。

准备

一个可以刷OpenWrt的路由器(我用的wr703n),一个大U盘(现在U盘都非常便宜,100多就可以买一个32G的),一个Linux虚拟机或者物理机。

配置OpenWrt

刷好OpenWrt之后,只需要先把网络、无线先配置好,然后通过wifi连接路由器。

让路由器从U盘引导启动

这么做,有几个好处:

  1. 使用opkg安装的东西就默认在U盘了,需要装什么就可以尽情的装。
  2. 如果以后再对路由器修改配置导致路由器变砖或者无法启动,拔掉U盘就可以从路由器的存储启动了,不用重新刷机。

今天都折腾了些什么

| Comments

zsh

在看Ruby的时候,发现有人在提zsh,于是打算再次尝试。之前装过,但是重装系统后觉得麻烦就没再装了,今天看到一个不错的项目oh-my-zshell。它是一个帮助我们安装、管理和配置zsh的工具,使用起来也很简单。按主页上的说明自动安装即可:

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

安装好了以后会在~目录创建一个.zshrc的zsh配置文件。其中前面的部分是oh-my-zsh的配置部分,可以对配色插件进行配置。zsh的一个优势是和bash兼容,能执行.bash_profile.bashrc中的配置,所以把bash的配置拷到zshrc的最后即可完成对已有配置的修改。