Chinaunix首页 | 论坛 | 博客
  • 博客访问: 116456
  • 博文数量: 84
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-17 12:39
个人简介

大连Linux/Unix高端就业、认证培训的领导者。

文章分类

全部博文(84)

文章存档

2013年(25)

2012年(1)

2010年(4)

2009年(9)

2008年(14)

2007年(4)

2006年(27)

分类: LINUX

2006-11-22 09:58:31

在redhat4 sp3上配置pptp服务器
 
 
在redhat4 sp3上配置pptp服务器(本文主要是下面参考网址的内容,比着做了一遍,放这里作为一个记录,并不是发表什么文章)
参考:

1、确认核心版本
#uname -r 
2.6.9-34.EL
版本低于2.6.15需要打补丁

上下载dkms-2.0.10-1.noarch.rpm
kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm 安装内核MPPE(Microsoft Point to Point Encryption,微软点对点加密)
pptpd-1.3.3-1.rhel4.i386.rpm
ppp-2.4.3-5.rhel4.i386.rpm  安装PPP(Point-to-Point Protocol,点到点协议)
pptp-1.7.0-1.i386.rpm
安装它们

用以下命令检查内核MPPE补丁是否安装成功: 
  #modprobe ppp-compress-18

用以下命令检查PPP是否支持MPPE: 
  #strings '/usr/sbin/pppd' |grep -i mppe | wc --lines
  如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持。
 
修改配置文件
  1.修改modules.conf文件
  编辑/etc/modules.conf配置文件,加入如下内容:
alias char-major-108 ppp_generic
alias tty-ldisc-3 ppp_async 
alias tty-ldisc-14 ppp_synctty 
alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
alias net-pf-47 ip_gre

  2.修改pptpd.conf文件 
  编辑/etc/pptpd.conf配置文件,添加如下内容,确定本地VPN服务器的IP地址和客户端登录后分配的IP地址范围。 
    ppp /usr/sbin/pppd
  debug 
  option /etc/ppp/options.pptpd
  localip 192.168.0.254 #本地VPN服务器的IP
  remoteip 192.168.0.1-253 #客户端被分配的IP范围
3.修改options.pptpd文件 
  编辑/etc/ppp/options.pptpd配置文件,替换成如下内容: 
  auth
  lock
  debug
  proxyarp
  lock
  name rh9vpn #VPN服务器的名字
  multilink
  refuse-pap
  refuse-chap
  refuse-mschap
  refuse-eap
  refuse-mschap-v2
  require-mppe
  ms-wins 192.168.1.2 #把想要在网络邻居中看到的机器的IP填写到这里
  ms-dns 192.168.1.2 #DNS服务器地址 
  dump 
  logfile /var/log/pptpd.log #日志存放的路径
4.修改chap-secrets文件 
  编辑/etc/ppp/chap-secrets配置文件,添加如下内容: 
  # client server secret IP addresses
  "abc1" * "test" *
上面第二行代码的四项内容分别对应第一行中的四项。“abc1”是Client端的VPN用户名;“server”对应的是VPN服务器的名字,该名字必须和/etc/ppp/options.pptpd文件中指明的一样,或者设置成“*”号来表示自动识别服务器;“secret”对应的是登录密码;“IP addresses”对应的是可以拨入的客户端IP地址,如果不需要做特别限制,可以将其设置为“*”号。
5.设置IP伪装转发
  只有设置了IP伪装转发,通过VPN连接上来的远程计算机才能互相ping通,实现像局域网那样的共享。用下面的命令进行设置:
  #echo 1 > /proc/sys/net/ipv4/ip_forward
  可以将这条命令放到文件/etc/rc.d/rc.local里面,以实现每次开机时自动运行该命令。
  6.打开防火墙端口
  将Linux服务器的1723端口和47端口打开,并打开GRE协议。
  #/sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
  #/sbin/iptables -A INPUT -p tcp --dport 47 -j ACCEPT
  #/sbin/iptables -A INPUT -p gre -j ACCEPT
  到这里Linux服务器的设置就完成了,下面将利用Windows客户端进行测试。 
如果要求外网机器通过vpn连接其它网段的机器,还要用iptable做NAT转发


在实际应用中,我的防火墙是这样设置的:
#!/bin/sh
# load any special modules
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

# delete any existing chains
iptables -F
iptables -F -t nat
iptables -X
iptables -Z

# turn on ip forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
 
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A INPUT -i eth0   -p tcp  --dport 22  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0   -p tcp  --dport 21  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
[color=Red]#iptables -A INPUT -p tcp --dport 47 -j ACCEPT[/color]
[color=Red]#iptables -A INPUT -p gre -j ACCEPT[/color]
iptables -t nat -A POSTROUTING  -s 192.168.0.0/24 -j SNAT --to-source 192.168.1.2#(VPN服务器本机地址)
阅读(1102) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~