pptp模式***搭建與管理

安裝*** 配置好yum源

yum -y install ppp

yum -y install pptpd

服務ip地址

eth0      Link encap:Ethernet  HWaddr 00:16:3E:00:0A:85  

          inet addr:10.90.16.156  Bcast:10.90.31.255  Mask:255.255.240.0(內網)

eth1      Link encap:Ethernet  HWaddr 00:16:3E:00:05:B9  

          inet addr:58.96.171.210  Bcast:58.96.171.255  Mask:255.255.252.0(外網)


vi /etc/pptpd.conf

ppp /usr/sbin/pppd

option /etc/ppp/options.pptpd  

#logwtmp  註釋這一行

localip 10.90.16.156

remoteip 192.168.0.234-238,192.168.0.245  ***客戶端獲取的ip地址範圍


vi /etc/ppp/options.pptpd

添加 爲***客戶端指定dns

ms-dns 202.106.196.115

ms-dns 8.8.8.8


vi /etc/ppp/chap-secrets

# Secrets for authentication using CHAP

# client        server  secret                  IP addresses

test       pptpd   test123                  *

添加用戶名,密碼 ,* 代表從IP地址範圍內獲取,或者直接指定


1.       修改內核文件,使系統支持轉發


#vi /etc/sysctl.conf  

net.ipv4.ip_forward = 1

然後執行下列命令,使其生效: 

#sysctl –p

配置iptables 

iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT --to-source `ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`
iptables -A FORWARD -p tcp --syn -s 172.16.36.0/24 -j TCPMSS --set-mss 1356

保存一下iptables 

/sbin/service iptables save 

啓動pptpd 服務

/etc/init.d/pptpd start  檢查1723端口


2 ,增加***客戶端ip範圍 

vi /etc/pptpd.conf 

修改 

remoteip 192.168.0.234-243 來修改允許客戶端連接的ip範圍 

保存退出 

重啓pptpd 服務 

執行 service pptpd restart 

ok 之後即生效 

3,增加***客戶端賬號 

vi /etc/ppp/chap-secrets 

內容如下 

# Secrets for authentication using CHAP 

#client server secret IP address 

vacn_*** pptpd vacn123!@# * 

此行即爲創建密碼爲vacn123!@# 的賬號vacn_*** 

添加其他賬號按照 vacn_*** pptpd vacn123!@# * 此種格式 

vacn_*** ----用戶名 

test123!@#3456---密碼 

* -----------***連接的ip *爲自動分配給***客戶端192.168.0.234-243 其中的一個地址,或者直接指定地址

保存退出,不用重啓pptpd服務

一鍵安裝腳本

#!/bin/bash function install***(){
	echo "begin to install *** services";	#check wether vps suppot ppp and tun 	yum remove -y pptpd ppp
	iptables --flush POSTROUTING --table nat
	iptables --flush FORWARD	rm -rf /etc/pptpd.conf	rm -rf /etc/ppp
 	arch=`uname -m` 	wget http://www.hi-vps.com/downloads/dkms-2.0.17.5-1.noarch.rpm	wget http://wty.name/linux/sources/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm	wget http://www.hi-vps.com/downloads/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm	wget http://www.hi-vps.com/downloads/pptpd-1.3.4-2.el6.$arch.rpm	wget http://www.hi-vps.com/downloads/ppp-2.4.5-17.0.rhel6.$arch.rpm
 
 	yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers
	rpm -ivh dkms-2.0.17.5-1.noarch.rpm
	rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
	rpm -qa kernel_ppp_mppe
	rpm -Uvh ppp-2.4.5-17.0.rhel6.$arch.rpm	
	rpm -ivh pptpd-1.3.4-2.el6.$arch.rpm
 	mknod /dev/ppp c 108 0 
	echo 1 > /proc/sys/net/ipv4/ip_forward 
	echo "mknod /dev/ppp c 108 0" >> /etc/rc.local	echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local	echo "localip 172.16.36.1" >> /etc/pptpd.conf	echo "remoteip 172.16.36.2-254" >> /etc/pptpd.conf	echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd	echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd
 	pass=`openssl rand 6 -base64`
	if [ "$1" != "" ]
	then pass=$1
	fi 	echo "*** pptpd ${pass} *" >> /etc/ppp/chap-secrets
 
	iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT --to-source `ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`
	iptables -A FORWARD -p tcp --syn -s 172.16.36.0/24 -j TCPMSS --set-mss 1356
	service iptables save
 
	chkconfig iptables on
	chkconfig pptpd on
 
	service iptables start
	service pptpd start
 	echo "*** service is installed, your *** username is ***, *** password is ${pass}" } function repaire***(){
	echo "begin to repaire ***";	mknod /dev/ppp c 108 0
	service iptables restart
	service pptpd start} function add***user(){
	echo "input user name:"
	read username	echo "input password:"
	read userpassword	echo "${username} pptpd ${userpassword} *" >> /etc/ppp/chap-secrets
	service iptables restart
	service pptpd start} echo "which do you want to?input the number."echo "1. install *** service"echo "2. repaire *** service"echo "3. add *** user"read num
 case "$num" in[1] ) (install***);;[2] ) (repaire***);;[3] ) (add***user);;*) echo "nothing,exit";;esac


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章