VPN服务器环境搭建
一、VPN服务器环境说明
操作系统:CentOS release 6.4 (Final)
本地网卡:
代码如下:
em1 Link encap:Ethernet HWaddr 78:2B:CB:42:C3:68
inet addr:192.168.123.201 Bcast:192.168.123.255 Mask:255.255.255.0
em2 Link encap:Ethernet HWaddr 78:2B:CB:42:C3:6A
inet addr:10.100.100.201 Bcast:10.100.100.255 Mask:255.255.255.0
说明:本地网卡em1负责连接vpn客户端,em2负责与10.100.100.0网段服务器的连接。
本实验目的:
(1)vpn客户端能够成功的连接到vpn服务器上;
(2)vpn服务器可以转发来自vpn客户端对10.100.100.0网段的请求。
二、安装VPN服务器包
使用yum安装ppp和pptp包
代码如下:
yum -y install pptp*
如果yum不具备pptp,可到 <a href="http://pptpclient.sourceforge.net">http://pptpclient.sourceforge.net</a> 下载安装,这里建议选用rpm包。
三、 配置VPN服务器
1. 编辑/etc/pptpd.conf文件,找到“locapip”和“remoteip”这两个配置项,将前面#去掉。将后面的IP地址更改为自己需要IP
locapip表示VPN服务器自己的本地IP地址;
remoteip表示VPN客户端连到服务器上将会被分配的IP地址范围。
代码如下:
ppp /usr/sbin/pppd
option /etc/ppp/options.pptpd
#logwtmp
localip 192.168.123.201
remoteip 192.168.0.234-238,192.168.0.245
2. 再编辑文件/etc/ppp/options.pptpd,在末尾添加DNS地址
代码如下:
ms-dns 202.106.196.115
ms-dns 192.168.123.5
保存退出文件。
3. 添加VPN客户端帐号和口令
代码如下:
# Secrets for authentication using CHAP
# client server secret IP addresses
shen pptpd 123456 *
这里,我们创建了一个vpn用户:shen,口令:123456。一个帐号一行,可以添加多个帐号。
4. 启动VPN服务器
代码如下:
至此VPN服务器搭建完成了,但实际环境中还需要给VNP服务器增加路由功能
四、配置VPN服务器的路由转发功能
1. 修改内核文件,使系统支持转发
代码如下:
将net.ipv4.ip_forward = 0中的0改为1就OK了。
然后执行下列命令,使其生效:
代码如下:
2. 配置防火墙增加转发规则
代码如下:
说明:来自192.168.123.0网段的访问流经eth0网卡做转发
五、FAQ
1. /var/log/messages日志中出现下面的错误,如何解决?
错误日志内容:from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
解决办法:
修改 /etc/pptpd.conf 文件,注释掉logwtmp 这行,重启pptpd服务。
代码如下:
# /etc/init.d/pptpd restart
再次尝试连接vpn客户端,可以成功验证用户和口令了。
相关链接
http://www.jb51.net/os/RedHat/128137.html
http://www.bitbottle.com/archives/132.html/2
http://bbs.51cto.com/thread-708223-1.html
最新文章
- [Objective-c开源库]HHRouter
- .net中事件引起的内存泄漏分析
- <;实训|第四天>;Linux下的vim你真的掌握了吗?附上ftp远程命令上传。
- argparse
- iOS 数字字符串的直接运算 + - * /
- 错误 1 Files 的值“ <; <; <; <; <; <; <; .mine”无效。路径中具有非法字符。
- Unity3d修炼之路:载入一个预制体,然后为该对象加入组件,然后查找对象,得到组件。
- 使用 WTForms 进行表单验证的例子
- 同源策略 &; 高效调试CORS实现
- Java -- JDBC 学习--获取数据库链接
- nginx安装以及常用配置
- LeetCode题解之Copy List with Random Pointer
- 个推应用统计产品(个数)Android集成实践
- 设计模式学习笔记(1)Iterator
- Docker学习--Linux基础准备篇
- 冒泡排序(高级版)之C++实现
- 开源NFV管理器 - OpenStack Tacker介绍 NFV和Tacker介绍和主要功能
- 基于IDEA和Maven的SSM分层项目搭建
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别
- PageAdmin环境配置要求