全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 2351|回复: 9
打印 上一主题 下一主题

[翻译] NAT遇到PPTP,两台以上机器同时登录pptp扶墙的问题,callid,gre

[复制链接]
跳转到指定楼层
1#
发表于 2015-6-6 14:12:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 恋花 于 2015-6-7 07:19 编辑

RT

服务端是centos6 + ppp + pptpd

小白啊,搞pptp服务器花费了很长时间,头都炸了.

好不容易以为成功了,结果发现局域网内只有1台能连上,其他的都连不上,而不在局域网内的机器是可以同时连上的.

形象点:Z是pptp服务器 A B是同一局域网的2台机器 C是独立机器 D也是独立机器
ACD , BCD 都能同时连接Z ; AB却不能同时连上,AB间只有1台能连上.

这是pptpd的默认限制吗?求教有什么办法解决吗?

------------------------------------------------------------------------

已经解决, 见 7 楼 !!

感谢 雨宫音羽 ,我已经把标题修改,利于遇到这个问题的童鞋搜索到这个帖子.

2#
发表于 2015-6-6 14:22:27 | 只看该作者
是关于/etc/sysctl.conf里面的一个参数。具体忘了。。
3#
发表于 2015-6-6 14:24:49 | 只看该作者
本帖最后由 雨宫音羽 于 2015-6-6 14:26 编辑

这似乎跟pptpd无关系 和你路由器对PPTP的支持有关系
http://www.isaserver.org/blogs/pouseele/isa-corner/multiple-pptp-扶墙-clients-behind-a-nat-device-52.html(请将扶墙替换成V.P.N)

根据这篇文章所写 你的路由器需要对PPTP的GRE通道的CALLID进行妥善处理 否则可能遇上两个客户端的CALLID冲突

GRE出问题的在Win下的提示一般是619
4#
发表于 2015-6-6 14:32:50 | 只看该作者
8640032 发表于 2015-6-6 14:22
是关于/etc/sysctl.conf里面的一个参数。具体忘了。。


你可能是在说net.ipv4.tcp_tw_recycle。然而这跟PPTP关系不算太大

这个参数出问题 楼主连服务器的SSH都可能出问题。更别提PPTP了

这个参数默认是关闭的 打开时才可能出问题 如果楼主的sysctl.conf里打开了这个参数 设成0再重启下看看
5#
 楼主| 发表于 2015-6-6 18:39:35 | 只看该作者
本帖最后由 恋花 于 2015-6-6 18:50 编辑
雨宫音羽 发表于 2015-6-6 14:24
这似乎跟pptpd无关系 和你路由器对PPTP的支持有关系
http://www.isaserver.org/blogs/pouseele/isa-corner/ ...


非常感谢你的回答.
是gre的问题,也百度了一下,大概了解了一点点call id的问题,但是不知道如何解决.

请问下pptp客户端所在的局域网,需要开放gre规则的是网关还是dhcp服务器?

    局域网其实是母鸡底下开的几台小鸡,网关是母鸡虚拟的一块网卡桥接的 vmbr2 10.21.21.254 , DHCP服务器是其中一台windows的小鸡

    网关所在的那块网卡配置如下

auto vmbr2
iface vmbr2 inet static
    address 10.21.21.254
    netmask 255.255.255.0
    bridge_ports none
    bridge_stp off
    bridge_fd 0
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s '10.21.21.0/24' -o vmbr0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.21.21.0/24' -o vmbr0 -j MASQUERADE
    post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 5001 -j DNAT --to 10.21.21.101:22
    post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 5001 -j DNAT --to 10.21.21.101:22
    post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 5002 -j DNAT --to 10.21.21.101:5901
    post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 5002 -j DNAT --to 10.21.21.101:5901
    post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.21.21.101:80
    post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.21.21.101:80
    post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 21 -j DNAT --to 10.21.21.101:21
    post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 21 -j DNAT --to 10.21.21.101:21
    post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 2222 -j DNAT --to 10.21.21.102:2222
    post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 2222 -j DNAT --to 10.21.21.102:2222


    如果是网关的话,我应该在这里加上什么语句?

我自己试了在母鸡上执行

iptables -A INPUT -p gre -j ACCEPT

但无效,母鸡下的2个小鸡还是只有1个能连上,不能2个及以上同时连上.
6#
 楼主| 发表于 2015-6-6 18:45:23 | 只看该作者
雨宫音羽 发表于 2015-6-6 14:24
这似乎跟pptpd无关系 和你路由器对PPTP的支持有关系
http://www.isaserver.org/blogs/pouseele/isa-corner/ ...

由于是小白,不懂规则,就网上找到的试试,现在又测试了一次母鸡执行

iptables -I FORWARD -p gre -s 10.21.21.0/24 -j ACCEPT
iptables -I FORWARD -p gre -d 10.21.21.0/24 -j ACCEPT

但是问题依旧,母鸡局域网下的小鸡还是只能1台连上pptp
7#
发表于 2015-6-6 18:53:33 | 只看该作者
恋花 发表于 2015-6-6 18:39
非常感谢你的回答.
是gre的问题,也百度了一下,大概了解了一点点call id的问题,但是不知道如何解决.


ACCEPT都没啥鬼用。。

你需要装载nat helper的内核相关模块

modprobe ip_nat_pptp
或者
modprobe nf_nat_pptp
//应该都一样。。
8#
发表于 2015-6-6 19:15:31 | 只看该作者
本帖最后由 雨宫音羽 于 2015-6-6 19:16 编辑

顺便一说。。

这么做只是临时的 如果需要开机加载。。视系统你可能需要修改(看起来你是Debian家族系统((如果不是就不是改这个文件,例如这个文件不存在时
/etc/modules
增加一行ip_nat_pptp或nf_nat_pptp

因为其实优先级也不需要很高 你也可以直接把modprobe命令丢到/etc/rc.local
9#
 楼主| 发表于 2015-6-7 06:47:38 | 只看该作者
本帖最后由 恋花 于 2015-6-7 07:27 编辑
雨宫音羽 发表于 2015-6-6 19:15
你需要装载nat helper的内核相关模块

modprobe ip_nat_pptp
或者
modprobe nf_nat_pptp
//应该都一样。。 ...


执行这2条命令后内网机器已经能同时成功连接pptp.

33.png (30.78 KB, 下载次数: 0)


我的母鸡是proxmox,基于debian的,但我其实对debian很不熟悉,centos倒是稍微熟悉点,开的小鸡都是centos的.

真心感谢你,本来都打算放弃了,没想到如此简单的命令就解决了.
10#
 楼主| 发表于 2015-6-7 07:11:05 | 只看该作者
本帖最后由 恋花 于 2015-6-7 07:17 编辑

这是NAT下的同一局域网内的2台机器,原本是不能同时拨上相同pptp扶墙服务器的,现在可以了.



22222.jpg (186.81 KB, 下载次数: 0)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-13 09:19 , Processed in 0.096645 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表