CentOS配置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:用户名 或者执行 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 |
Ubuntu配置VPN代理服务器
操作系统是Ubuntu Server12.04.3。所有操作都在sudo su后执行。
1.确认PPP设备或TUN设备是否安装(DigitalOcean VPS的跳过)
代码如下 | 复制代码 |
ls /dev/ppp ls /dev/net/tun # 或 cat /dev/ppp cat /dev/net/tun |
如果提示“No such file or directory”或“No such device or address”则表示未安装。发工单要求开通即可
2.安装pptpd
代码如下 | 复制代码 |
apt-get install pptpd |
3.安装成功后修改/etc/pptd.conf文件,配置VPN 的IP地址 写入
代码如下 | 复制代码 |
localip XXX.XXX.XXX.XXX remoteip XXX.XXX.XXX.XXX-XXX #参考配置 #localip 10.0.0.1 #remoteip 10.0.0.100-200 |
localip 为本地IP,即本机IP
remoteip 为远程主机会被分配的IP,通常设置为连续ip段
4.修改/etc/ppp/options.pptpd文件,完成VPS服务器DNS修改
代码如下 | 复制代码 |
ms-dns 8.8.8.8 ms-dns 8.8.4.4 |
5.编辑/etc/ppp/chap-secrets,配置VPN连接的用户
格式为
代码如下 | 复制代码 |
username pptpd password * username表示用户名 |
6.打开IP转发,修改/etc/sysctl.conf,打开ipv4转发
打开文件后找到以下内容,并修改。没有请添加。
#打开IP转发
代码如下 | 复制代码 |
net.ipv4.ip_forward=1 |
#打开SYN cookies功能,避免SYN洪水攻击,多用户连接时推荐打开
net.ipv4.tcp_syncookies=0
生效对/etc/sysctl.conf的修改(可选)
代码如下 | 复制代码 |
sysctl -p |
7.打开防火墙
代码如下 | 复制代码 |
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save |
8.启动pptp vpn服务
代码如下 | 复制代码 |
service pptpd start |