LINUX 下 服务器 pptpd 配置 经过大半天的拆腾,终于把服务器搞定了,现将具本过程公布出来供大家参考
一、配置环境
Linux(2.6.7)(FC2)
eth0: 192.168.1.8
eth0:1 192.168.0.1 (手工添加)
二、所需软件
1、kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm (MPPE的内核补丁)
2、dkms-1.12-1.noarch.rpm (升级dkms)
3、pptpd-1.2.1.tar.gz (pptpd服务软件)
注:系统必须安装了PPP服务,否则要单独安装
三、安装软件
1、首先安装dkms
rpm -Uvh dkms-1.12-1.noarch.rpm (升级安装)
2、安装mppe
rpm -Uvh kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm
3、安装pptpd
tar -vxzf pptpd-1.2.1.tar.gz
cd pptpd-1.2.1
./configure
make
make install
安装完成了,现在开始配置
四、配置服务器
将pptpd-1.2.1/samples/下的文件
pptpd.conf 拷贝至/etc下
chap-secrets 拷贝至/etc/ppp下
options.pptpd 拷贝至/etc/ppp下
修改pptpd.conf文件:
ppp /usr/sbin/pppd
指定PPP服务程序
option /etc/ppp/options.pptpd
指定选项配置
localip 192.168.1.8
指定本地IP
remoteip 192.168.0.10-245
指定分配的远程IP
netmask 255.255.255.0
指定子网掩码
修改/etc/ppp/options.pptpd文件
name pptpd
auth
require-chap
-chap
-mschap
+mschap-v2
require-mppe
lcp-echo-failure 30
lcp-echo-interval 5
ipcp-accept-local
ipcp-accept-remote
multilink
proxyarp
logfd 2
logfile /var/log/pptpd.log
debug
dump
lock
修改/etc/ppp/chap-secrets文件
# client server secret IP addresses
#username pptpd password *
“xinhe” pptpd “xinhe” *
这里是配置的用户帐号
启动服务:
/usr/local/sbin/pptpd
然后用netstat查看一下1723端口是不是开的,如果是的话则说明服务已成功启动。
找一台windows的机器,IP为:192.166.1.7,新建一个的连接,服务器为192.168.1.8,用户名为:xinhe,密码为:xinhe,可以成功连接了。
在windows的cmd下运行:ipconfig
看到多了一个网络连接,IP为:192.168.0.10,正是前是配置文件里设置的远程IP,这样这台windows的客户端成功连上了这个服务器
但是这里出现了一个问题,原来这台windows机器可以通过网关192.168.1.1上网,但连了之后就不能上网了。因为数据全到服务器上来了,为解决这个问题,我们可利用iptables发数据转发。
新建一个iptables文件,内容如下:
echo 1 > /proc/sys/net/ipv4/ip_forward
echo “clear the iptables rules”
/etc/init.d/iptables stop
/sbin/iptables -A INPUT -p icmp -j DROP
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
/sbin/iptables -F FORWARD
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
/sbin/iptables -F FORWARD
/sbin/iptables -A FORWARD -p udp -s 192.168.1.0/24 –dport 53 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 –dport 1723 -j ACCEPT
/sbin/iptables -A FORWARD -p gre -s 192.168.1.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT
然后执行这个iptables文件,OK,windows的客户机可以上网了
另一个版本
十步建立Linux 服务器2006-04-04 16:271)安装DKMS包
rpm –install dkms-1.12- 2.noarch.rpm
这是动态内核模块支持。你需要在内核级用它简化安装和配置。这将在安装过程中使几乎所有东西对用户透明。
2)安装ppp内核模块
rpm –install kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm
点对点协议安装你的“调制解调器”或任何组成你的连接的设备。这是你的内核的一部分。
3)确定ppp工作正常
modprobe ppp-compress-18 && echo James Garvin has saved me from a life of Windows
如果modprobe命令成功,执行echo命令。Modprobe向Linux内核添加模块,而echo只是将你所说的写到终端上。
4)升级ppp
rpm –upgrade ppp- 2.4.3-0.cvs_20040527.4.fc2.i386.rpm
这是用户的ppp。Ppp的内核模块已经安装,而这是用户的。
5)获得PPTP客户端
rpm –install pptp-linux- 1.5.0-1.i386.rpm
可以说这是“客户端”。这是GUI客户端,你可以从中安装连接和各种选项。
6)获得phppcntl
rpm –instalGetphp-pcntl php-pcntl-4.3.8-1.i386.rpm
它帮助GUI工作。
7)获得phpgtk模块
rpm –install php-gtk-pcntl-1.0.0-2.i386.rpm
这个文件也帮助GUI工作。
8)安装pptpconfig
rpm –install pptpconfig-20040722-0.noarch.rpm
这个命令安装点对点隧道协议。这使得可以实际地创建从A到B的隧道。可以使用两种协议,L2TP和PPTP。L2TP是第二层隧道协议。它工 作在OSI模型的第二层,数据链路层。
9)现在对命令行输入
pptpconfig这条命令将为你弹出一个GUI。
pptconfig GUI