使用免费EC2构建PPTP VPN 以及 squid代理服务器

2011年5月11日 | 分类: 翻墙相关 | 标签: , ,

Amazon ec2 为了推广云服务,提供了为期一年的免费体验活动,如果不舍得花钱买VPN又想翻墙的人,正好可以利用其大家一套翻墙梯子,周末做了一下,这里摘要一下:

EC2的Free Tie:

AWS Free Usage Tier (Per Month):

  • 750 hours of Amazon EC2 Linux Micro Instance usage (613 MB of memory and 32-bit and 64-bit platform support) – enough hours to run continuously each month*
  • 750 hours of an Elastic Load Balancer plus 15 GB data processing*
  • 10 GB of Amazon Elastic Block Storage, plus 1 million I/Os, 1 GB of snapshot storage, 10,000 snapshot Get Requests and 1,000 snapshot Put Requests*
  • 5 GB of Amazon S3 standard storage, 20,000 Get Requests, and 2,000 Put Requests*
  • 30 GB per of internet data transfer (15 GB of data transfer “in” and 15 GB of data transfer “out” across all services except Amazon CloudFront)*
  • 25 Amazon SimpleDB Machine Hours and 1 GB of Storage**
  • 100,000 Requests of Amazon Simple Queue Service**
  • 100,000 Requests, 100,000 HTTP notifications and 1,000 email notifications for Amazon Simple Notification Service**
  • 10 Amazon Cloudwatch alarms**

值得注意的是下面的这行小字:

* These free tiers are only available to new AWS customers and are available for 12 months following your AWS sign-up date.

也就是说只针对新AWS用户有效,如果你以前就曾经注册过AWS,即便没有开启过任何服务,如果想用这个Free Tier,Amazon也是一样要收费的。我上过当,所以建议重新注册一个amazon帐户的妥当。注册成功后需要提交VISA信用卡,Amazon扣除1美元之后,即可创建EC2虚拟机了(Sign in to the AWS Management Console)。

按照条款中写的,创建Linux Micro Instance的虚拟机类型,amazon会在右侧用黄色的五角星表示出来那些符合Free Tier规格的Instance。我选择的是Type是t1.micro的Debian os。

instance 创建好后,amazon会提供一个pem文件,利用这个文件,就可以无需密码连接到创建好的Instance中,右键点击instance后,选择connect,会拿到instance的完整域名,和登陆提示。

下一步就开始以root身份安装PPTP和squid

PPTP 部分

aptitude update;aptitude install  pptpd

修改/etc/pptpd.conf

localip 192.168.11.1
remoteip 192.168.11.234-238,192.168.11.245

修改 /etc/ppp/chap-secrets 添加用户名和密码(注意看文件的格式要求)

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
user   *                mypassword         *

编辑/etc/sysctl.conf。
修改#net.ipv4.ip_forward=1为net.ipv4.ip_forward=1。然后执行如下命令:

sysctl -p

编辑/root/ipt.sh,加入一下内容并执行 /root/ipt.sh

iptables –flush POSTROUTING –table nat
iptables –flush FORWARD
iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -j SNAT –to-source `ifconfig  | grep ‘inet addr:’| grep -v ’127.0.0.1′ | cut -d: -f2 | awk ‘NR==1 { print $1}’`
iptables -A FORWARD -p tcp –syn -s 192.168.11.0/24 -j TCPMSS –set-mss 1356

然后把/root/ipt.sh加入/etc/rc.local

执行/etc/init.d/pptpd restart,启动pptpd

另外别忘记打开amazon 防火墙Security Groups的TCP 1723 port

SQUID part

aptitude install squid

修改/etc/squid/squid.conf,将http_port改成如下:这样只有pptp vpn连入主机的用户才可以是用这个代理.

http_port 192.168.11.1:3128

启动Squid

/etc/init.d/squid

 

随后VPN进去之后,使用代理服务器192.168.11.1:3128就可以正常翻墙了。

在使用mac os的情况下,不要选择“Send all traffic over VPN connection”

这样也就意味着system的default router依旧保持原样,而非全部流量都走192.168.11.1 (PPTP 对端IP),只有在是用代理的情况下才会是用EC2的流量,这样既节约流量,又可以灵活的控制哪些是需要翻墙访问,哪些使用本地ISP。

另外firefox代理设置推荐是用FoxyProxy

That’s all!

原文http://www.eyelu.com/blog/archives/31

  1. 匿名
    2011年5月11日22:33

    好倒好 不过付$的信用卡咋整呢

    • iGFW
      2011年5月11日23:50

      不知要,没信用卡就算了。