给iptables打pptp-conntrack-nat 补丁

这里好象没有最新的关于经过iptables 1.3.4 nat 后 pptp client connect *** server  和2.6.14.2内核的文章.

pptp 采用GRE封装,GRE header里不象tcp,udp里有端口号,如果你编译内核时在netfilter没有选上pptp,那么在iptables是不认的,protocol field "unkown".编译好后,记得modprobe ip_nat_pptp,默认不加载,我不知道怎么默认加载,呵呵.
再添加入下:
iptables -t nat -I PREROUTING -p gre -d natserveripaddress -j DNAT --to pptp-client-ip-addres
以上的意思是将所有来自*** server 的GRE包转发到pptp client.

iptables 1.3.4 和2.6.14.2内核已经支持pptp 了,不必再patch-o-magic.
多个PPTP ×××客户机通过LINUX网关连接×××服务器
PPTP方式的×××使用了GRE协议,这个协议跟TCP/UDP是同一级的协议。因为GRE协议没有端口的概念,LINUX不能像TCP/UDP那样IP伪装。所以,LINUX网关后面的pptp ***客户机连接***时总会遇见这种那种的问题。
所以,当只有单个客户机通过linux网关连接×××的时候,最简单的办法是用iptables把所有GRE协议的包转发给客户机。比如客户机的ip是192.168.0.2,iptables命令是
iptables -t nat -I PREROUTING -p gre -j DNAT --to-destination 192.168.0.2
上面的命令感觉很奇怪,当这个规则输入了,即使立刻删除,也依旧生效,一直过了好久才断掉。
当然,如果客户机连接的*** ip地址互不相同,还可以根据源ip地址DNAT。但是,当多台机器要连接相同的pptp ***服务器时,问题就出现了,简单的DNAT规则并不能生效,因为他们都是GRE协议。唯一能分辨的就只有GRE包里面的Class ID。这个ID在默认的linux防火墙上并没有得到支持。解决方法有两个
1,使用2.0版本以上的iptables,里面内置了ip_nat_gre等模块用于支持gre包的ip伪装。这个方案比较复杂,工程浩大,还要给内核打补丁。以后更新内核的时候也更加麻烦。
2,使用pptp proxy([url]http://www.mgix.com/pptpproxy/[/url])。这是一个用户空间下的gre包转发工具。只要下载源码,编译,得到了pptpproxy。比如你的linux网关内网ip是192.168.0.254,***服务器是202.202.202.202,只要运行
pptpproxy -p 202.202.202.202
就可以了
这时,***客户机只要把192.168.0.254作为***服务器ip地址就可以了。
当然,让pptp监听在127.0.0.1,然后配合一些iptables转发规则,甚至可以做成一个透明pptpproxy代理。
pptpproxy还支持多*** server代理。
如果你运行的是*BSD或者MAC,也许frickin([url]http://frickin.sourceforge.net/[/url])更符合你的需要

转载于:https://blog.51cto.com/coolerfeng/76115

日记 [2008年03月23日]LINUX网关后面的pptp ***客户机连接***相关推荐

  1. 日记 [2008年03月23日]不编译内核给iptables增加模块

    TFTP上传所需软件包到 /usr/src/ 目录下 ipp2p-0.8.2.tar.gz patch-o-matic-ng-20060509 iptables-1.3.5.tar.bz2 l7-pr ...

  2. 日记 [2008年03月26日]

    今天把视频和录音整合到一台机器上,工作尚未结束,只实现了视频监控的迁移 因为视频监控软件不能开机自己启动,于是把快捷方式放在启动组.然后把win2003设置为自动启动 网上查了一下方法有3个 开始运行 ...

  3. 日记 [2008年03月11日]

    服务器上如果出现大量的1030.1058 application error ,那么肯定是everyone on sysvol permission 出了问题,注意sysvol 的路径和所在文件夹的权 ...

  4. 京佳名师点评:2008年2月23日海关面试题 京佳公务员考试培训学校

    一.自我介绍. [相似题目] 1. 2008年1月26日京佳面试培训班题本:请作下自我介绍? 2. 2008年1月26日京佳面试培训班题本:做一分钟的自我介绍.主要谈谈家庭和工作经历. 3.(MS)- ...

  5. 测鬼记(下)之职场日记——坎坷不安(6月23日)

    6月23日   中午睡觉起来,打开邮件收到沉露发的邮件: 贾总:你好! 今天物流项目测试骨干小玉,问我工作调动的事情,这时我才知道她调动到A线,并立即生效,不需要工作交接!我作为B线测试负责人,人员工 ...

  6. 日记 [2008年01月21日]

    linux查看系统版本. #lsb_release -a #cat /proc/version #cat /etc/issue #cat /etc/redhat-realease(redhat才有的文 ...

  7. 2008年8月23日-国家体育馆 祥云小屋 白天

    做地铁到北土城下车,现在才知道如果没有门票是不能做奥运地铁专线的,更何况进入鸟巢,奥林匹克公园周边了,在进入奥运专线之前就进行安检,比别的奥运比赛严格多了,自己带的很多吃的都不允许进入,没办法只能拽了 ...

  8. 日记 [2007年05月23日]启动ORACLE 10G

    上一篇安装好ORACLE 10G后数据库就自动启动了,如果重启了电脑,那么数据库默认是没有运行的 下面我们先试着手动启动它: 首先需要启动侦听器.切换到oracle用户 su - oracle $OR ...

  9. 日记 [2007年03月10日]重回blog,开始2007

    过了个年,blog都不管了,大概过年的时候都没有心思了吧.其实过年挺无聊的.可是中国人就这么喜欢扎堆,过完年,回来,又开始上班了. 正月初六去逛庙会,和几个朋友去玩.倒是挺开心.同去的一个MM,对她有 ...

最新文章

  1. 前缀和 + ST表 ---- CF 1556 E. Equilibrium(两个序列 + - 操作使得每位相等) 详解
  2. Vivado 随笔(6) Timing Summary 相关讨论(一)
  3. SQLite数据库简介
  4. Spring 属性配置
  5. c++ error函数_R语言中广义线性模型(GLM)中的分布和连接函数分析
  6. 67-Flutter中高德地图插件的使用
  7. Kafka 为什么能那么快的 6 个原因
  8. python 求点到线段距离
  9. python将数据导入wps_使用python调用wps v9转换office文件到pdf
  10. 数据挖掘概念与技术_第三版_课后习题
  11. 织梦 - PHP开源网站管理系统
  12. 云科技网络验证源码_黑科技网络验证软件 1.52.0.0免费版
  13. payjs 源码_ZFAKA发卡系统用宝塔安装详细图文教程+对接Payjs个人支付版本
  14. Interpreting visually-grounded navigation instructions in real environments论文翻译
  15. js 打开指定的浏览器_如何实现一个谷歌浏览器插件
  16. Vue+ elementui 布局混乱
  17. python pie图
  18. 小学语文阅读教学育人价值研究实施方案
  19. 程序员与HR博弈之:有城府的表达你的兴趣爱好
  20. 2022-2028全球2-氨基-4-乙基吡啶行业调研及趋势分析报告

热门文章

  1. 直播APP开发:直播人数是否该有限制
  2. 如何利用FineReport制作动态树报表
  3. SegmentFault 技术周刊 Vol.17 - 听说你还没用上 AngularJS
  4. 在“DNS管理器”中手工增加DNS主机(A)或者别名(CNAME)记录时,出现被拒绝的错误...
  5. window.location.Reload()和window.location.href 区别
  6. Xenapp安装后手动更改XML Service端口,以便使用不同于 IIS 的端口
  7. 程序员娶妻子的经典准则
  8. 那些到了 30 岁的技术人,后来都去哪了?
  9. 4节点近160万IOPS:SDS/超融合测试不能只看数字
  10. [译]ASP.NET Core 2.0 部分视图