安装软件
yum install -y ppp pptpd
配置 pptpd
1. 编辑配置文件 vi /etc/pptpd.conf,将如下配置:
#localip 192.168.0.1
#remoteip 192.168.0.234-238
修改为:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
# 以上设置的 IP 地址: localip 192.168.0.1 和 remoteip 192.168.0.2-200 分别是 vpn 的网关地址和 vpn 拨号获取地址段。可以根据需要进行调整
即将这两行第一个字符 # 去掉,取消注释,保存退出。
2.编辑 vi /etc/ppp/options.pptpd,将如下配置:
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2
修改为
ms-dns 223.5.5.5
ms-dns 223.6.6.6
# 223.5.5.5 和 223.6.6.6阿里云公共 DNS 服务地址,也可以按需配置为其它公共 DNS。
即将这两行第一个字符“#”去掉,而后修改 DNS 服务器的 IP 地址。
3. 设置使用 pptp 的用户名和密码命令:
vi /etc/ppp/chap-secrets
打开后只有两行,而且一个账号都没有,如下所示:
# Secrets for authentication using CHAP
# client server secret IP addresses
根据需要添加账号,每行一个。按照:“用户名 pptpd 密码 ip地址” 的格式输入,每一项之间用空格分开,例如:test pptpd 123456 (表示所有IP),保存并退出。
4. 设置 MTU 大小
$ vi /etc/ppp/ip-up
.....
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"
# 这行后面增加如下内容:
ifconfig ppp0 mtu 1472
修改内核设置以支持数据转发
1. 编辑配置文件 vi /etc/sysctl.conf
将 net.ipv4.ip_forward=0 改成 net.ipv4.ip_forward=1
保存并退出。然后执行以下命令使修改后的参数生效
sysctl -p
2. 添加 iptables 转发规则
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
添加好转发规则后,使用如下命令保存设置并重启防火墙
/etc/init.d/iptables save
/etc/init.d/iptables restart
服务配置
1. 重启 pptp 服务
/etc/init.d/pptpd restart
注意:其实此时 pptp 还没运行起来,所以使用 restart 重启,会显示 Shutting down pptp [FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启 pptp 服务,相关告警信息就会消失。
2. 设置 pptp 和 iptables 自启动:
chkconfig pptpd on
chkconfig iptables on
至此,PPTP VPN 服务端安装结束。在本地计算机"网络和共享中心",设置新的连接或网络,即可访问 VPN。
CentOS PPTP VPN客户端配置
1. 安装软件包
yum install -y ppp pptp pptp-setup
2. 连接 VPN 服务端
pptpsetup --create test --server IP--username 用户名 --password 密码 --encrypt --start
# IP、用户名、密码替换为VPN服务端实际配置的值
连接成功后,提示已经被分配了 192.168.0.234 的客户端地址,执行 ifconfig 可以看到一块 ppp0 的网卡:
3. 增加默认路由
ip route replace default dev ppp0
增加路由后查看已经可以访问外网。
常见问题
1. PPTP VPN搭建后,测试可以连接,并且网站域名可以 ping 通,但浏览器无法打开网页。
此问题一般是由于 MTU 设置不正确导致的。
可以在配置 VPN 的 Centos 服务器中执行 ifconfig ppp0 mtu 1472 进行调整。
注:上述方式设置是临时生效,如果需要长期生效,需要修改 /etc/ppp/ip-up文件,增加如下内容:
$ vi /etc/ppp/ip-up
......
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"
# 这行后面增加
ifconfig ppp0 mtu 1472
配置后再测试已经正常:
2. 客户端成功连接上 VPN 后,获取到的地址错误:获取到的地址不是 VPN 服务端分配的地址,而是 ECS 的内网网卡地址,如图:
如果出现这种情况,假设配置的 VPN 客户端配置名称是 testvpn,可以参照如下步骤尝试处理:
1. 如下图所示,在 ppp 客户端配置文件 /etc/ppp/peers/testvpn 中手工添加 noipdefault 参数。
2. 使用如下指令重启客户端,重新连接后通常即可获取到正确的地址。
poff testvpn
pon testvpn
说明 :该参数在重启客户端的时候,可能会被服务端传递过来的参数覆盖掉,如果该参数被覆盖则需要检查下服务端的配置。
除特别注明外,本站所有文章均为小杜博客原创,转载请注明出处来自https://www.alextoo.com/498.html
暂无评论