科学上网—-利用阿里云ECS架设VPN
原理
- 阿里云上ECS上架设VPN
- 本地连接使用VPN拨号到阿里云ECS
- 使用阿里云实现翻墙等功能
首先要台国外IP的服务器
架设VPN
安装ppp pptpd iptables
ppp 数据链层协议
pptpd VPN服务类型
iptables 防火墙,用来消息转发
yum install ppp pptpd iptables
安装后的版本信息
1 2 3 4 5 6 7 8 9 10 11 12
| $ lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch Distributor ID: CentOS Description: CentOS release 6.6 (Final) Release: 6.6 Codename: Final $ pptpd --version pptpd v1.4.0 $ iptables --version iptables v1.4.7
|
配置ppp DNS 信息
编辑 options.pptpd 配置文件
1
| vim /etc/ppp/options.pptpd
|
修改为一下内容 去掉前面的#
1 2
| ms-dns 8.8.8.8 ms-dns 8.8.4.4
|
配置ppp VPN帐号信息
编辑chap-secrets配置文件
1
| vim /etc/ppp/chap-secrets
|
设置规则为VPN帐号 服务类型 VPN密码 IP,若IP为*则代表所有IP都可以使用该帐号密码
1 2 3
| # Secrets for authentication using CHAP # client server secret IP addresses SeeSea pptpd wing *
|
这里帐号是SeeSea 密码是wing
配置pptpd
编辑options.pptpd 配置文件
修改成一下内容,将注释去掉即可
1 2
| localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
|
配置内核支持转发
编辑sysctl.conf 配置文件
找到第7行进行修改 修改结果为
重新加载内核配置项
配置iptables
首次运行 iptables 查看iptables运行状态
1 2
| service iptables status iptables: Firewall is not running
|
启动iptables服务
配置规则
第一次配置
1 2 3 4
| iptables -A INPUT -i lo -j ACCEPT #允许127.0.0.1访问本地服务 iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT #允许访问外部服务 iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT #允许 ping iptables -A INPUT -p tcp --dport 22 -j ACCEPT #开启 ssh 端口
|
已经配置 iptables
设置转发策略(because 阿里云是双网卡,内网eth0,外网eth1)
1
| iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -jMASQUERADE
|
设置VPN端口策略
1
| iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
|
保存iptables 选项并重新启动iptables
##Finally
1 2 3 4 5 6
| service iptables restart #重新启动 iptables sudo service pptpd restart #重新启动 pptpd sudo chkconfig iptables on #开机启动 iptables sudo chkconfig pptpd on #开机启动 pptpd sudo iptables -P INPUT DROP #加载防火墙策略
|
各种参考资料