由于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) |