当前位置: 首页 > news >正文

Centos下***(pptpd)的部署

Centos *** pptpd )的部署 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

作者:田逸( [email]sery@163.com[/email] )from [url]http://netsecurity.51cto.com/art/200812/102721.htm[/url]

一、安装

centos 5下面安装pptpd最省事的安装就是下载rpmpptpd-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.3.4-1.rhel5.1.i386.rpm,然后直接执行 rpm –ivh pptpd-1.3.4-1.rhel5.1.i386.rpm 。幸运的是这个包没有其他依赖,因此安装应该是异常的顺利。如果使用源码安装,会出现ppp版本高的情况,需删除pppd2.3.4 再安装pppp2.4.3,反而麻烦了。

 

安装完rpm包后,自动生成几个配置文件,主配置文件/etc/pptpd.conf,选项文件/etc/ppp/options.pptpd, 帐号文件/etc/ppp/chap-secrets.后面配置pptpd主要就是对这几个文件进行修改。

 

二、***拓扑结构

***的访问逻辑上存在3个网络:

1、  欲访问的目标网络。通常在***服务器所在的内部网络(***服务器有2个网卡,一个是公网的,一个是私有网络的)

2、  ***的公网网络。

3、  ***连接后与客户端形成的虚拟网络。建议单独设置一个网络,这样就不会占用***后面的私有网络(目标网络)的ip资源/地址。

  
当然***隧道网络可以跟目标网络是同一个网段,不过不推荐这样。

 

三、***服务器端的配置
(一)   修改主配置文件/etc/pptpd.conf.只需要加入下面两行:
localip  172.16.195.1
remoteip 172.16.195.101-200
Localip这行是给***服务器设置一个隧道ip
Remoteip是自动分配给客户端的ip地址范围。

 

(二)       修改选项文件/etc/ppp/options.pptpd.需要设定分配给客户端的dns,因此仅需把ms-dns前的注释去掉,改成可用的dns如下:
ms-dns 61.135.154.5

ms-dns 159.226.240.66

为了方便查看调试信息,把debug行前面的注释取消即可。Dump前的注释也取消。

 

(三)       添加帐号。通过编辑文件/etc/ppp/chap-secrets逐行加入;一个账号占一行。一行分4列,其表示如下:

用户名

服务器名

密码

ip

没有字符数限制

Pptpd— 都用这个,如果用其它的名称,需要修改 options.pptpd 文件的 name 行的内容

用双引号的话,密码就不能包含双引号了

* 表示有 pptpd 随机分配 ip

 

账号和密码是明文的,所以需要妥善设置访问权限。一个设置好的账号文件与下列项目类似:

  “sery”    pptpd   “&hds)$+”   *

 

四、运行pptpd.执行命令service pptpd start或者执行/etc/init.d/pptpd 即可启动它。通过检查进程、查看系统日志来确定pptpd是否正常。

 

五、客户端配置(windows)。这个应该很容易了,就不再多费口舌。

 

六、拨号登录。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

拨号过程中,登录到***服务器查看日志,会看到用户的连接情况,下面是截取的一个片断,供参考:

Dec 19 17:16:01 max-*** pppd[9833]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.

Dec 19 17:16:01 max-*** pppd[9833]: pptpd-logwtmp: $Version$

Dec 19 17:16:01 max-*** pppd[9833]: pppd options in effect:

Dec 19 17:16:01 max-*** pppd[9833]: debug               # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: logfile /etc/ppp/***.log            # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: dump                # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: plugin /usr/lib/pptpd/pptpd-logwtmp.so              # (from command line)

Dec 19 17:16:01 max-*** pppd[9833]: require-mschap-v2           # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: refuse-pap          # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: refuse-chap         # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: refuse-mschap               # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: name pptpd          # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: pptpd-original-ip 200.199.118.72            # (from command line)

Dec 19 17:16:01 max-*** pppd[9833]: 115200              # (from command line)

Dec 19 17:16:01 max-*** pppd[9833]: lock                # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: local               # (from command line)

Dec 19 17:16:01 max-*** pppd[9833]: novj                # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: novjccomp           # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: ipparam 200.199.118.72             # (from command line)

Dec 19 17:16:01 max-*** pppd[9833]: ms-dns xxx # [don't know how to print value]                # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: proxyarp            # (from /etc/ppp/options.pptpd)

Dec 19 17:16:01 max-*** pppd[9833]: 172.16.195.1:172.16.195.101-200                # (from command line)

Dec 19 17:16:02 max-*** pppd[9833]: nobsdcomp           # (from /etc/ppp/options.pptpd)

Dec 19 17:16:02 max-*** pppd[9833]: require-mppe-128            # (from /etc/ppp/options.pptpd)

Dec 19 17:16:02 max-*** pppd[9833]: pppd 2.4.4 started by root, uid 0

Dec 19 17:16:02 max-*** pppd[9833]: Using interface ppp0

Dec 19 17:16:02 max-*** pppd[9833]: Connect: ppp0 <--> /dev/pts/1

Dec 19 17:16:02 max-*** pptpd[9832]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!

Dec 19 17:16:02 max-*** pppd[9833]: Unsupported protocol 'IPv6 Control Protovol' (0x8057) received

Dec 19 17:16:02 max-*** pppd[9833]: MPPE 128-bit stateless compression enabled

Dec 19 17:16:04 max-*** pppd[9833]: Cannot determine ethernet address for proxy ARP

Dec 19 17:16:04 max-*** pppd[9833]: local  IP address 172.16.195.1

Dec 19 17:16:04 max-*** pppd[9833]: remote IP address 172.16.195.101

Dec 19 17:16:04 max-*** pppd[9833]: pptpd-logwtmp.so ip-up ppp0 sery 200.199.118.72

[root@max-*** ~]#            

这段日志表明已经有一个来自200.199.118.72连接到***服务器,其账号为sery,分配给这个客户端机器的***地址是172.16.195.101.在拨号的机器(windows)上查看其现在的网络参数:

 

C:\Users\sery>ipconfig/all

 

Windows IP 配置

 

   主机名   . . . . . . . . . . . . . : sery-sony

   DNS 后缀 . . . . . . . . . . . :

   节点类型   . . . . . . . . . . . . : 混合

   IP 路由已启用 . . . . . . . . . . :

   WINS 代理已启用 . . . . . . . . . :

   DNS 后缀搜索列表   . . . . . . . . : maxthon.net

 

PPP 适配器 *** 连接 :

 

   连接特定的 DNS 后缀 . . . . . . . :

   描述 . . . . . . . . . . . . . . . : *** 连接

   物理地址 . . . . . . . . . . . . . :

   DHCP 已启用 . . . . . . . . . . . :

   自动配置已启用 . . . . . . . . . . :

   IPv4 地址 . . . . . . . . . . . . : 172.16.195.101( 首选 )

   子网掩码   . . . . . . . . . . . . : 255.255.255.255

   默认网关 . . . . . . . . . . . . . : 0.0.0.0

   DNS 服务器   . . . . . . . . . . . : 61.135.154.5

                                       159.226.240.66

   TCPIP 上的 NetBIOS  . . . . . . . : 已启用

 

七、设置路由及ip伪装。虽然在这里可以登录***服务器,但由于没有设置相关的转发规则,因此还是没办法访问***后面的私有网络或者通过***访问互联网(windows机器会在状态栏的网络连接图标显示一个黄色的感叹号)。所以还需要完成下面几步才算真正结束了看了一些网上的文章,通常就是在这里结束了,看来作者只是登录了一下虚拟环境。

 

(一)   开启ip转发功能:修改配置文件/etc/sysctl.conf,使net.ipv4.ip_forward = 1

(二)   写个脚本文件,实现路由,其内容大致如下:

[root@max-*** ~]# more /usr/local/bin/***_route.sh

#!/bin/bash

/sbin/iptables -t nat -A POSTROUTING -s 192.168.195.0/24 -o eth0 -j SNAT --to-source 61.135.251.50

/sbin/iptables -t nat -A POSTROUTING -s 172.16.195.0/24 -o eth1 -j SNAT --to-source 192.168.195.166

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

 目标网络/***的内部网络为192.168.195.0/24,***服务器有2个网卡,其中一个连接公网(eth0),ip地址是61.135.251.51,另外一个网卡连私有网络,ip192.168.195.166。这样就能正常地路由所涉及的网络了。手动执行一下这个脚本,看客户端(windows)是否能访问目标网络里的机器:最简单的方法就是ping,假定目标网络里有一个192.168.195.100的机器,并请允许icmp通过,ping 192.168.195.100 ,正常的话,再进一步访问这个服务器(如远程登录)。没有问题的话,把它加在开机自启里面。为安全起见,你可以在这个脚本里加更多的iptables规则。

 

 

相关文章:

  • squid的安装使用
  • 活动目录—远程安装额外域控制器
  • 配置 Site-to-Site and Extranet ×××
  • sharepoint中eventhandler的ItemUpdated
  • 计算机配置信息收集 C/S版本
  • 配置 Dynamic IPsec LAN−to−LAN Peer and *** Clients
  • 你的网络管理存在“次贷”吗?
  • DOM4J介绍与代码示例
  • Delphi 与 DirectX 之 DelphiX(18): TDXDraw 中描绘图片的命令
  • 产品设计体会(1003)用户研究
  • Hello, Memory Leak
  • 公车理论
  • 讲述专业乞丐年薪10万的生活
  • symantec中liveuodate服务器安装
  • 转-SQL 2005修改系统表
  • php的引用
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • CODING 缺陷管理功能正式开始公测
  • ComponentOne 2017 V2版本正式发布
  • django开发-定时任务的使用
  • gitlab-ci配置详解(一)
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • JDK 6和JDK 7中的substring()方法
  • JS变量作用域
  • js算法-归并排序(merge_sort)
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Less 日常用法
  • nginx 负载服务器优化
  • orm2 中文文档 3.1 模型属性
  • PhantomJS 安装
  • session共享问题解决方案
  • Spring声明式事务管理之一:五大属性分析
  • ubuntu 下nginx安装 并支持https协议
  • Yeoman_Bower_Grunt
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 代理模式
  • 对象引论
  • 关于Java中分层中遇到的一些问题
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 扑朔迷离的属性和特性【彻底弄清】
  • 深入 Nginx 之配置篇
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 写给高年级小学生看的《Bash 指南》
  • 怎么将电脑中的声音录制成WAV格式
  • Java数据解析之JSON
  • 说说我为什么看好Spring Cloud Alibaba
  • 组复制官方翻译九、Group Replication Technical Details
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #define 用法
  • #stm32驱动外设模块总结w5500模块
  • $refs 、$nextTic、动态组件、name的使用
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (三分钟)速览传统边缘检测算子