说明:公司原***服务器使用windows2003,放在内部通讯RTX服务器上,由于公司人员增多,RTX在线人数相应增加,×××服务器出现经常不能拨入或拨入后不能访问相关应用情况。
为确保×××服务稳定,现将服务迁移到linux平台。
源码包下载地址:http://sourceforge.net/
官方安装手册及RPM包下载地址:http://poptop.sourceforge.net/dox/replacing-windows-pptp-with-linux-howto.phtml
参照如下链接:http://blog.doylenet.net/?p=17
http://lihuipeng007.blog.163.com/blog/static/121084388201061510549623/
一、先查看操作系统
[root@dic172 ~]# cat /etc/issue #查看系统版本
CentOS release 5.6 (Final)
Kernel \r on an \m
[root@dic172 ~]# getconf LONG_BIT #查看操作系统位数
32
[root@dic172 ~]# uname -a
Linux dic172 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:23:01 EDT 2011 i686 i686 i386 GNU/Linux
备注:内核版本在2.6.15后的默认都已经有了MPPE(Microsoft Point to Point Encryption,微软点对点加密)补丁,所以不需要再安装dkms和kernel_ppp_mppe内核补丁。
二、CentOS release 5.6默认已经安装PPP软件包
[root@dic172 ~]# modprobe ppp-compress-18 && echo success #查看PPP模块是否加载成功
[root@dic172 ~]# lsmod |grep ppp
ppp_mppe 10437 0
ppp_generic 30037 1 ppp_mppe
slhc 10433 1 ppp_generic
三、检查PPP是否支持MPPE,如果以下命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持
[root@dic172 ~]# strings '/usr/sbin/pppd' |grep -i mppe |wc --lines
42
四、开始安装pptpd
[root@dic172 media]# cp pptpd-1.2.3-1.i386.rpm /usr/src/
[root@dic172 media]# cd /usr/src
[root@dic172 src]# rpm -ivh pptpd-1.2.3-1.i386.rpm
Preparing... ########################################### [100%]
1:pptpd ########################################### [100%]
五、修改配置文件如下
step1: 修改/etc/pptpd.conf
[root@dic172 etc]# grep -v "#" pptpd.conf
ppp /usr/sbin/pppd
option /etc/ppp/options.pptpd #PPP组件将使用的配置文件
debug /var/log/messages #把所有debug信息记入系统日志/var/log/messages
stimeout 60 #开始PPTP控制连接的超时时间,以秒计
localip 192.168.100.172 #×××服务器地址,即服务器本地公网IP
remoteip 192.168.101.1-234 #×××客户端连接成功后所获得的IP地址池
备注:要注释logwtmp,不然客户端拨号连接时,报619错误,不知道啥原因?
step2: 修改/etc/ppp/options.pptpd
[root@dic172 etc]# grep -v "#" ppp/options.pptpd
lock
debug
nologfd
name dic172 #服务器名
nobsdcomp
proxyarp
refuse-pap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 202.96.134.133
step3: 修改/etc/ppp/chap-secrets
[root@dic172 etc]# grep -v "#" ppp/chap-secrets
test dic172 "test" *
#用户名 服务名 密码 IP
step4: 修改内核参数,开启IP转发功能
[root@dic172 etc]# vi sysctl.conf
net.ipv4.ip_forward = 1 #开启路由转发功能
[root@dic172 etc]# sysctl –p #使内核参数修改生效
六、在cisco2821路由器上做一个映射,将***服务器1723端口映射到公网
ip nat inside source static tcp 192.168.100.172 1723 202.105.137.115 1723 extendable
七、关闭防火墙,启动pptpd服务,查看服务所用端口
[root@dic172 etc]# service iptables stop
[root@dic172 etc]# service pptpd start
Starting pptpd: [ OK ]
[root@dic172 etc]# netstat -antp |grep pptpd
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 651/pptpd
tcp 0 0 192.168.100.172:1723 192.168.163.96:60109 ESTABLISHED 494/pptpd [192.168.
tcp 0 0 192.168.100.172:1723 192.168.161.173:1257 ESTABLISHED 553/pptpd [192.168.
[root@dic172 etc]# ifconfig -a #可查看到
eth0 Link encap:Ethernet HWaddr 00:0C:29:C3:66:8D
inet addr:192.168.100.172 Bcast:192.168.161.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec3:668d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:73388 errors:0 dropped:0 overruns:0 frame:0
TX packets:5656 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5754576 (5.4 MiB) TX bytes:735684 (718.4 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2295 errors:0 dropped:0 overruns:0 frame:0
TX packets:2295 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4081876 (3.8 MiB) TX bytes:4081876 (3.8 MiB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.100.172 P-t-P:192.168.1.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:54 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:4998 (4.8 KiB) TX bytes:120 (120.0 b)
ppp1 Link encap:Point-to-Point Protocol
inet addr:192.168.100.172 P-t-P:192.168.1.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:48 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:11774 (11.4 KiB) TX bytes:120 (120.0 b)
sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
-------------------------------------------------------------
在完成×××服务端配置后,windows客户端拨***相当简单,在此不做说明。但公司内网有部分linux服务器也需要拨***调用***网段服务器数据。如下配置PPTP ×××客户端配置
step1: 先检查***客户端是否安装以下包
[root@rac1 ppp]# rpm -qa |grep ppp
ppp-2.4.4-2.el5
rp-pppoe-3.5-32.1
step2: 下载pptp-1.7.2-3.rhel5.src.rpm 源码rpm包,可解决包依赖性问题
[root@tydic5f15 src]# wget http://nchc.dl.sourceforge.net/project/pptpclient/pptp/pptp-1.7.2/pptp-1.7.2-3.rhel5.src.rpm
[root@tydic5f15 src]# rpmbuild --rebuild pptp-1.7.2-3.rhel5.src.rpm #.src.rpm包安装方法
[root@tydic5f15 peers]# cd /usr/src/redhat/RPMS/x86_64/
[root@tydic5f15 x86_64]# rpm -ivh pptp-1.7.2-3.x86_64.rpm pptp-debuginfo-1.7.2-3.x86_64.rpm
step3: 生成***客户端配置文件并做相应修改
[root@tydic5f15 x86_64]# pptpsetup --create int*** --server 202.105.139.114 --username test --password test #此步可生成***连接文件
命令 ***连接名 服务器地址 用户名 密码
[root@tydic5f15 peers]# pwd
/etc/ppp/peers
[[root@tydic5f15 peers]# cat int*** #int***是由pptpsetup --create命令生成,再修改内容如下
# written by pptpsetup
pty "pptp 202.105.139.114 --nolaunchpppd"
lock
#noauth
nobsdcomp
nodeflate
name test
remotename int***
ipparam int***
require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap
step4: ***客户端拨入
[root@tydic5f15 peers]# cp /usr/share/doc/ppp-2.4.4/scripts/pon /usr/sbin/
[root@tydic5f15 peers]# cp /usr/share/doc/ppp-2.4.4/scripts/poff /usr/sbin/
[root@tydic5f15 peers]# chmod +x /usr/sbin/pon /usr/sbin/poff
[root@tydic5f15 peers]# pon int*** #连接int***,断开×××用poff int***
[root@tydic5f15 peers]# ifconfig #可查看到多了一个ppp0
step5: 完成以上操作后,***拔号成功,但此时只能连接×××服务器,而不能访问与×××同段的应用服务器,需要添加以下路由
[root@tydic5f15 peers]# route add 192.168.100.172 gateway 192.168.100.1
[root@tydic5f15 peers]# route add -net 192.168.100.0 netmask 255.255.255.0 dev ppp0
完成以上配置后,已基本满足应用!
疑问:如何设置让***客户端定期自已修改密码,让***拨入更安全?