liunx 安装vpn

#1 安装前检查系统

查看 LIUNX 版本
cat /proc/version

查看系统版本

uname -a
cat /etc/redhat-release
cat /etc/issue

#任选一个都可

以下把握几个重点即可快速完成 Linux 的 PPTP VPN 服务器架构:

  • PPP - 点对点协定(Point-to-Point Protocol)
  • PPTP - 点对点通道协定(Point-to-Point Tunneling Protocol)
  • iptables - 设定封包转发规则

在安装之前查看系统是否支持 PPTP VPN:

modprobe ppp-compress-18 && echo success

应该输出”success”,如果不支持尝试安装:

yum install kernel-devel

是否开启 TUN/TAP:

cat /dev/net/tun

应该输出:cat: /dev/net/tun: File descriptor in bad state

是否开启 ppp:

cat /dev/ppp

应该输出:cat: /dev/ppp: No such device or address

确保满足上面 3 个条件,如果不满足,表示不能安装 PPTP VPN。

 

#2 安装软件包

安装需要的软件包:

yum install ppp ||  yum -y install ppp
yum -y install 包名(支持 *) :自动选择 y,全自动
yum install 包名(支持 *) :手动选择 y or n
yum remove 包名(不支持 *)
rpm -ivh 包名(支持 *):安装 rpm 包
rpm -e 包名(不支持 *):卸载 rpm 包

安装完成之后

yum install pptpd ||  yum -y install pptpd

或一次性安装 

 yum install ppp pptpd || yum -y install ppp pptpd 

如果没有没有安装防火墙 在最后加上 iptables 

 

#3 配置 pptpd

建议修改配置文件之前 [备份复制] 一份配置文件

编辑 /etc/pptpd.conf:vim /etc/pptpd.conf 

option /etc/ppp/options.pptpd
logwtmp
# (Recommended)

localip 115.182.x.x #localip 为本机 ip,若远程主机是通过外网连接的话,localip 为外网 ip

remoteip 172.17.12.210-240 # 为拨入 vpn 的用户动态分配的 IP 地址池

注意:关闭 logwmpt 功能,否则会与 ppp 协议冲突引起 VPN 拨号失败!在 RHEL4 中没有问题,而在 RHEL5 中必须关闭! 

 

编辑 /etc/ppp/options.pptpd: vim /etc/ppp/options.pptpd

name pptpd

refuse-pap
refuse
-chap
refuse
-mschap
require
-mschap-v2
require
-mppe-128

proxyarp

lock
nobsdcomp

novj
novjccomp
nologfd

ms-dns 8.8.8.8 #添加主 DNS 服务器地址
ms
-dns 8.8.4.4 #添加备 DNS 服务器地址

添加 VPN 用户和密码:vim /etc/ppp/chap-secrets

# Secrets for authentication using CHAP
# client    server    secret            IP addresses
user_test1       pptpd   123456                 *
user_test2       pptpd   123456                 *

* 代表所有 IP 都可以连接本 vpn 用户。

也可以使用命令添加用户密码 

vpnuser add 用户名  密码

 

#4 开启 IP 路由转发

echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
sysctl -p   # 使生效

 

#5 配置防火墙

iptables -A FORWARD -s 172.16.0.0/24 -o eth0 -j ACCEPT 
iptables -A FORWARD -d 172.16.0.0/24 -i eth0 -j ACCEPT
172.16.0.0/24 代表你上边分配的 IP   eth1 代表你的网卡接口名 可以使用 ifconfig 命令查看
设置防火墙转发规则:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
保存防火墙规则
service iptables save
/etc/init.d/iptables start || service iptables start
chkconfig --level 35 iptables on || chkconfig pptpd on # 本次安装设置开机自启动

#6 启动 pptpd 服务

service pptpd restart 

如果提示:

Warning: a pptpd restart does not terminate existing
connections, so new connections may be assigned the same IP
address and cause unexpected results. Use restart-kill to
destroy existing connections during a restart.

可以使用 service pptpd stop  然后 service pptpd start

设置开机启动 chkconfig --level 35 pptpd on || chkconfig pptpd on 

 

#7 测试连接  

http://www.cnblogs.com/xuey/p/7865575.html

如果连接不稳定,或连不上网络

iptables -A FORWARD -p tcp --syn -s 172.16.0.0/24 -j TCPMSS --set-mss 1356

1356 的值可能需要自己调整,调节到能保证网络正常使用情况下的最大值。

 

多 ip 服务器转发指定规则 【本人未亲测】

  iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j SNAT --to-source 服务器外网 ip

记得保存 防火墙规则

#8 卸载 vpn 

https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/uninstall-zh.md

 

相关文章:如何启用 Shadowsocks 的多端口

     Linux 环境搭建 ---shadowsock FQ     

   Shadowsocks Troubleshooting

     https://github.com/shadowsocks