全球主机交流论坛

标题: CentOS Linux系统上安装配置VPN(PPTP) [打印本页]

作者: yoyo    时间: 2014-9-16 18:04
标题: CentOS Linux系统上安装配置VPN(PPTP)
系统环境: CentOS 5.4 Final
网卡: eth0: 98.126.x.x
先检查系统的MPPE,基本上CentOS本身都有,看到ok就可继续往下进行,不行的话就去打一下补丁,网上到处都是。
modprobe ppp-compress-18 && echo ok
CentOS5.4系统本身安装已经带了ppp版本,可以用这个版本,也可以重新安装,这里我卸载了,全部自己重新安装。
rpm -q ppp
rpm -e rp-pppoe
rpm -e ppp
rm -rf /etc/ppp
所需要的软件如下:
wget http://acelnmp.googlecode.com/fi ... -1.rhel5.1.i386.rpm
wget http://poptop.sourceforge.net/yu ... -9.0.rhel5.i386.rpm
(由于sourceforge的网址失效了,所以更新两个网址)
wget http://www.ctohome.com/linux-vps-pack/vpn/pptpd-1.3.4-1.rhel5.1.i386.rpm
wget http://www.ctohome.com/linux-vps-pack/vpn/ppp-2.4.4-9.0.rhel5.i386.rpm
1.安装
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
rpm -ivh ppp-2.4.4-9.0.rhel5.i386.rpm
2.设置Server基本配置
主要的配置文件是放在
/etc/pptpd.conf
/etc/ppp/options.pptpd
/etc/ppp/chap-secrets
vi /etc/pptpd.conf
在配置的最下面添加如下信息
localip 192.168.8.1-30
remoteip 192.168.8.50-80,192.168.8.100-200

(1)定义vpn服务器上的IP。(是客户机连上后能与vpn 服务通信的IP,也就是客户机可能过这个地址访问vpn 服务器)
(2)定义客户端的IP 段。(用-来连接连续的ip,用半角逗号来分隔不同段的ip)
vi /etc/ppp/options.pptpd
在最后增加一行
ms-dns 4.2.2.2 (你可以改成你自己常用的dns)
vi /etc/ppp/chap-secrets 给用户权限和分配IP
格式:用户,服务 密码 * (通陪符)
# vi /etc/ppp/chap-secrets
内容如下:
# Secrets for authentication using CHAP
# client        server secret          IP addresses
test01       pptpd   123456                *    (自动获取)
test02       pptpd   654321            192.168.7.230    (指定IP)
3.打开linux内核的路由功能(保证每次开机都得运行打开路由功能,加入vi /etc/rc.local)
echo “1″>/proc/sys/net/ipv4/ip_forward
(确认系统SELINUX是否关闭 vi /etc/selinux/config,看看里面SELINUX=disabled)
或者编辑/etc/sysctl.conf加入下面的语句:
net.ipv4.ip_forward = 1
要使sysctl立即生效, 运行下面的命令: -
sysctl -p
4.如果开启了iptables,就需要下面规则
打开 1723,47端口
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp --dport 47 -j ACCEPT
5.启动和停止VPN服务
# /etc/rc.d/init.d/pptpd start    启动
# /etc/rc.d/init.d/pptpd stop     关闭
# /etc/rc.d/init.d/pptpd restart 重启

为了使VPN服务可以在系统引导的时候自动启动,执行:
# chkconfig pptpd on
用netstat -anl 查看一下服务器上是否以开放了1723端口
6.这样VPN的服务器就应该可以正常启动了,可是想正常的使用,还需要一条命令,这条命令在网络中很多文章里面是没有的。
下面是可以实现连接VPN上网的方法:
/sbin/iptables -t nat -I POSTROUTING -s 192.168.8.0/24 -j MASQUERADE

另外下面这个命令可实现绑定IP:
# iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j SNAT --to 98.126.x.x (NAT转换,可绑定ip)

查看NAT
iptables -t nat -L
或许还需要加这条路由才可以上网.(两块网卡用到的)
ip route add 192.168.0.0/16 via 192.168.8.1
Windows下创建VPN拨号连接客户端
1、打开网络连接,点击左侧列表里面的“创建一个新的连接”,点击“下一步”。
2、选择“连接到我的工作场所的网络”,点击“下一步”。
3、选择“虚拟专用网络连接”,点击“下一步”。
4、在“公司名”的输入框里面输入任意名字,你自己喜欢即可,点击“下一步”。
5、在“主机名或ip地址”框里面输入vpn服务器上的域名或者ip地址,然后点击“下一步”,点击“完成”就创建完成连接了,网络连接窗口里面也多了一个连接图标。
6、点击图标,然后打开一个连接的窗口,然后输入刚才在/etc/ppp/chap-secrets添加的用户名和密码,然后点击“连接”,如果配置没有问题,就会连接上了,现在所用的ip都会显示服务器上的ip地址。


来源:yoyo blog



作者: 悠悠    时间: 2014-10-24 02:20
对于一些比较新的版本,经常会出现一些版本不兼容的情况,如:

“ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64”或者“ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86”

解决办法就是找到对应的版本:

ppp 2.4.4——————>pptpd 1.3.4
ppp 2.4.5——————>pptpd 1.4.0

作者: imuu    时间: 2014-11-4 17:43
好文章,支持下。
作者: 悠悠    时间: 2014-11-13 11:51
很多时候连不上是因为防火墙开着,所以关闭iptables就好了。
作者: yoyo    时间: 2017-1-18 14:37
补充一个pptpd 1.4.0的下载地址
http://rpm.pbone.net/index.php3/ ... el6.x86_64.rpm.html
作者: xt19950121    时间: 2017-8-3 11:19
好贴




欢迎光临 全球主机交流论坛 (http://bbs.cuwww.com/) Powered by Discuz! X3.2