在centos 6.6 使用pptpd上構建V*N服務

jopen 9年前發布 | 41K 次閱讀 CentOS


原理:PPTP 使用 PPP 協議對用戶數據進行封裝,然后將 PPP 數據幀封裝在 IP 數據包里,pptpd 更多是負責客戶端到服務器的連接,ppp協議負責用戶數據包的封裝和轉發,當客戶端連接到服務器時pptpd服務就是創建一個虛擬網卡ppp0進行用戶數據包的封裝,和轉發到物理網卡,進入以太網

1:驗證內核是否加載MPPE模塊

modprobe ppp-compress-18 && echo MPPE is ok  #打印ok表示已加載


2:安裝ppp軟件

yum install ppp -y



3:安裝pptpd



rpm -ivh http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm



4:配置pptpd和ppp



vi /etc/ppp/options.pptpd   #把以下選項的注釋#去掉
1 name pptpd
 2 refuse-pap
 3 refuse-chap
 4 refuse-mschap
 5 require-mschap-v2
 6 require-mppe-128
 7 ms-dns 8.8.8.8
 8 ms-dns 8.8.4.4
 9 proxyarp
10 lock
11 nobsdcomp
12 novj
13 novjccomp
14 nologfd




以上至于不知道指定什么的,可以看配置文件的解釋,雖然都是英文但是解釋還是挺清楚

5:添加用戶


vi /etc/ppp/chap-secrets  #打開配置文件

username1 pptpd passwd1 *   #一行一個用戶 
username2 pptpd passwd2 *   #分別是 用戶名 服務  密碼 來源ip(這個可以指定網段或者唯一IP)如果不符合全都拒絕掉,*號知道正則表達式的都知道是什么



6;配置pptpd服務



vi /etc/pptpd.conf

把以下行的注釋去掉


1 option /etc/ppp/options.pptpd
2 logwtmp
3 localip 192.168.0.1
4 remoteip 192.168.0.207-217



7:打開內核轉發



vi /etc/sysctl.conf   
net.ipv4.ip_forward = 1   #找到這個選項并且改成1
#保存后執行
sysctl -p


8:啟動pptpd服務


chkconfig pptpd on  #加入開機自動啟動
service pptpd start  #啟動pptpd服務




9:添加防火墻規則

iptables -P INPUT ACCEPT #設置全部為允許,以免等下清除防火墻規則時,ssh斷開
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z   #清除防火墻規則結束
#添加防火墻規則
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
#設置共享ip,nat表預路由
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
#備份原來的防火墻規則
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
#因為命令生成的重啟后就會失效,所以我們要把它不保存到配置文件中
iptables-save > /etc/sysconfig/iptables
vi /etc/sysconfig/iptables #打開配置文件把filter表中的INPUT鏈設置DROP如下
:INPUT DROP[0:0]
#重啟iptables
service iptables restart


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!