由于centos本身并没有集成PPTP功能,所以需要安装相关组件以让我们的RedHat支持PPTP,根据内核的版本,下载相应的安装包,所用组件如下: dkms-2.2.0.3-1.noarch.rpm kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm pptpd-1.3.4.tar.gz 1.PPTP需要PPP支持,虽然系统本身有PPP功能,但它并不支持MPPE,所以需要更新系统的PPP组件, [root@htuidc local]# yum -y install gcc gcc-c++ rpm-build make wget automake [root@htuidc etc]# yum -y install ppp
2.安装内核MPPE(Microsoft Point to Point Encryption,微软点对点加密)补丁,安装命令如下: [root@htuidc etc]# rpm -ivh dkms-2.2.0.3-1.noarch.rpm [root@htuidc etc]# rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm 用以下命令检查内核MPPE补丁是否安装成功,MPPE module可否载如:
[root@htuidc ~]# modprobe ppp-compress-18 && echo success success
[root@htuidc etc]# cd /usr/local/src [root@htuidc src]#tar zxvf pptpd-1.3.4.tar.gz [root@htuidc src]#cd pptpd-1.3.4 [root@htuidc pptpd-1.3.4]# ./configure --prefix=/usr/local/pptpd [root@htuidc pptpd-1.3.4]# make && make install 编译安装完成后,首先需要手工建立一些目录以及复制原始的 pptpd 配置文件: [root@htuidc pptpd-1.3.4]# mkdir /usr/local/pptpd/etc [root@htuidc pptpd-1.3.4]# vi /usr/local/pptpd/etc/pptpd.conf 填入内容如下: # pptpd.conf option /usr/local/pptpd/etc/options.pptpd debug stimeout 30 localip 10.0.0.254 remoteip 10.0.0.200-210
说明: option /usr/local/pptpd/etc/options.pptpd ———— 指定 pptpd 扩展属性配置文件 options.pptpd 的位置。 debug ———— 开启调试模式,有关 pptpd?的信息和错误都会记录在 /var/logs/message 中,方便排错和调试。 stimeout 30 ———— 设置客户端连接 pptpd server 时的最长连接等待时间(连接超时时间),30 秒。 localip 10.0.0.254 ———— pptpd server?所在服务器的 IP 地址,可以设置为服务器上绑定的任意一个 IP 地址。 remoteip 10.0.0.200-210 ———— 设置客户端连接到 pptpd server 后可供分配的 IP 地址范围( 10.0.0.200 – 10.0.0.210 ),可以这样设置:10.0.0.200-208,10.0.0.209,10.0.0.210,效果是一样的。
[root@htuidc pptpd-1.3.4]# vi /usr/local/pptpd/etc/options.pptpd 填入内容如下: # options.pptpd name htu-VPN refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 202.106.46.151 ms-dns 202.106.0.20 # ms-dns 208.67.222.222 米国用 # ms-dns 208.67.220.220 proxyarp debug lock nobsdcomp novj novjccomp nologfd
说明: name IsMole-VPN ———— pptpd server 的名称。 refuse-pap ———— 拒绝 pap 身份验证模式。 refuse-chap ———— 拒绝 chap 身份验证模式。 refuse-mschap ———— 拒绝 mschap 身份验证模式。 require-mschap-v2 ———— 在端点进行连接握手时需要使用微软的 mschap-v2 进行自身验证。 require-mppe-128 ———— MPPE 模块使用 128 位加密。 ms-dns 202.106.46.151 ms-dns 202.106.0.20 ———— ppp 为 Windows 客户端提供 DNS 服务器 IP 地址,第一个 ms-dns 为 DNS Master,第二个为 DNS Slave。 proxyarp ———— 建立 ARP 代理键值。 debug ———— 开启调试模式,相关信息同样记录在 /var/logs/message 中。 lock ———— 锁定客户端 PTY 设备文件。 nobsdcomp ———— 禁用 BSD 压缩模式。 novj novjccomp ———— 禁用 Van Jacobson 压缩模式。 nologfd ———— 禁止将错误信息记录到标准错误输出设备(stderr)。
配置好上面的两个文件后,我们开始添加客户端帐号。 客户端帐号控制文件位于:/etc/ppp/chap-secrets shell> vi /etc/ppp/chap-secrets # PPTP User Accounts # username server_name "password" ip vpnuser1 IsMole-VPN "123456" 10.0.0.201
三、启动 PPTPD [root@htuidc pptpd-1.3.4]# /usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/etc/pptpd.conf -o /usr/local/pptpd/etc/options.pptpd [root@htuidc pptpd-1.3.4]# netstat -tnlpu|grep pptp tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 3719/pptpd 如果tcp的1723端口是打开的,就说明启动OK。
四、打开linux路由转发
echo 1 > /proc/sys/net/ipv4/ip_forward
五、开启10.0.0.0/24段的转发: [root@htuidc ~]# iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE 特殊情况注意: 开启pptp vpn转发,vpn服务器和内网路由器 modprobe ip_conntrack_pptp modprobe ip_nat_pptp
出现的问题: 连接出现如下678错误,是因为防火墙没有开启1723端口允许:
解决办法: [root@htuidc ~]# iptables -A INPUT -p TCP --dport 1723 --sport 1024:65534 -j ACCEPT (责任编辑:IT) |