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