zhengyshan 2014-03-12
可能有很多朋友不是很了解Linux下PPTP的配置,下面我这里写了一个简单的Shell脚本,直接保存并pptp.sh再执行即可。
1、脚本:yum remove -y pptpd ppp
iptables --flush POSTROUTING --table nat
iptables --flush FORWARD
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp
yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers
yum -y dkms-2.0.17.5-1.noarch.rpm
yum -y kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
rpm -qa kernel_ppp_mppe
yum -y ppp-2.4.4-9.0.rhel5.i386.rpm
yum -y pptpd-1.3.4-1.rhel5.1.i386.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 192.168.168.1" >> /etc/pptpd.conf
echo "remoteip 192.168.168.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 "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets
iptables -t nat -A POSTROUTING -s 192.168.168.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 "请输入连接密码${pass}"
2、设置权限为可执行chmod +X3、执行:/bin/bash pptp.sh4、VPN用户管理:直接编辑/etc/ppp/chap-secrets文件,按照相同格式添加用户名和密码即可。