banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[Linux] CentOS配置VPN代理服务器

之前讲到使用 VPS 的 SSH 加密通道实现透明代理来轻松实现翻越 GFW,但是未越狱的 iphone 设备却无法使用 SSH,只能使用 VPN,为了使自己的 iphone 能够翻越 GFW,最近我在自己的 VPS 上使用 PPTP 搭建了 VPN 服务,搭建过程相对还是比较简单的,我这里使用的是 CentOS 6.4, 其他发行版本 linux 的配置基本一致。

1. 首先确认 VPS 的 PPP 和 TUN 设备是否安装正确

ls /dev/ppp
ls /dev/net/tun

#

cat /dev/ppp
cat /dev/net/tun

如果提示 “No such file or directory” 或 “No such device or address” 则表示未安装,一般来说可以直接向你的 VPS 提供商发工单要求打开即可。 2. 安装 pptp,由于 pptp 依赖于 ppp,因此需要先安装 ppp

yum install -y ppp
yum install -y pptp

3. 创建 VPN 专用管道

mknod /dev/ppp c 108 0

如果连接 VPN 时出现 619 错误的话,也可以执行以上

4. 修改 /etc/sysctl.conf,打开 ipv4 转发 打开文件后找到以下内容,并修改。

net.ipv4.ip_forward=1
net.ipv4.tcp_syncookies=0

生效对 /etc/sysctl.conf 的修改(可选)

sysctl -p

或者执行

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/tcp_syncookies

5. 修改 /etc/pptpd.conf 文件,设置 VPN IP 地址。写入

localip XXX.XXX.XXX.XXX
remoteip XXX.XXX.XXX.XXX-XXX

localip 为本地 IP,即本机 IP remoteip 为远程主机会被分配的 IP, 通常设置为连续 ip 段

6. 修改 /etc/ppp/options.pptpd 文件,完成 VPS 服务器 DNS 修改

ms-dns 8.8.8.8
ms-dns 8.8.4.4

7. 编辑 /etc/ppp/chap-secrets,配置 VPN 连接的用户 格式为

username pptpd password *

username: 用户名 password: 密码

或者执行

echo "username pptpd password *" >> /etc/ppp/chap-secrets

8. 修改 iptables 设置,打开防火墙

iptables -A FORWARD -s XXX.XXX.XXX.XXX/XX -p tcp -m tcp --tcp-flags
FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

#save
service iptables save

其中 XXX.XXX.XXX.XXX/XX 为第 5 步设置的远程 IP

9. 配置开机启动服务(可选)

chkconfig iptables on
chkconfig pptpd on

10. 启动或重启 pptp 和 iptables 服务

# service iptables start

service pptpd start#

service iptables restart
service pptpd restart

最后提供一个 CentOS/RHEL 适用的一键安装脚本 http://www.diahosting.com/dload/pptpd.sh

用法:

wget http://www.diahosting.com/dload/pptpd.sh
sh pptpd.sh

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。