歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

如何在CentOS 6.4中搭建pptpd(VPN)服務

由於Linux本身並沒有集成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

Copyright © Linux教程網 All Rights Reserved