V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
findwho
V2EX  ›  问与答

pptp 竟然提示用户名密码不正确

  •  
  •   findwho · 2014-05-25 09:38:24 +08:00 · 6768 次点击
    这是一个创建于 3616 天前的主题,其中的信息可能已经有所发展或是发生改变。
    debian 下之前是按照教程装的,一点问题都没有,然后手贱,把系统disk upgrade了一下,然后pptp就不能连接了,一看之前的配置都没了,然后我重新配置了一下,还是按照原来的教程

    但是一直现实用户名,密码错误,我去看了,应该没有错,
    是按照这个格式填写,另外一台ubuntu 也是同样的问题 username pptpd password *

    错误提示:
    disconnected by server,check the usename and password pleade

    解决了放共享帐号,作为答谢!
    第 1 条附言  ·  2014-05-25 10:28:46 +08:00
    May 24 22:23:41 boy pptpd[2856]: CTRL: Client 218.2**.1*9.*** control connection started
    May 24 22:23:41 boy pptpd[2856]: CTRL: Starting call (launching pppd, opening GRE)
    May 24 22:23:41 boy pppd[2857]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
    May 24 22:23:41 boy pppd[2857]: pppd 2.4.6 started by root, uid 0
    May 24 22:23:41 boy pppd[2857]: Using interface ppp0
    May 24 22:23:41 boy pppd[2857]: Connect: ppp0 <--> /dev/pts/1
    May 24 22:23:45 boy pppd[2857]: peer from calling number 218.205.19.237 authorized
    May 24 22:23:45 boy pppd[2857]: MPPE required but peer negotiation failed
    May 24 22:23:45 boy pppd[2857]: Connection terminated.
    May 24 22:23:45 boy pppd[2857]: Connect time 0.1 minutes.
    May 24 22:23:45 boy pppd[2857]: Sent 10 bytes, received 53 bytes.
    May 24 22:23:45 boy pppd[2857]: Exit.
    May 24 22:23:45 boy pptpd[2856]: GRE: read(fd=6,buffer=b7753480,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
    May 24 22:23:45 boybeta pptpd[2856]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
    第 2 条附言  ·  2014-05-25 12:06:49 +08:00
    May 24 23:56:50 boybeta pppd[4007]: Cannot determine ethernet address for proxy ARP

    能够连接,但是没有接收不到数据,
    第 3 条附言  ·  2014-05-26 18:36:29 +08:00
    网上看到执行这个转发
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j --to-source SNAT XXX.XXX.XXX.XXX(vps ip)
    显示这个错误,
    Bad argument `SNAT'

    把这一条写到 iptables.rules 然后在执行
    iptables-restore </etc/iptables.rules
    显示这个错误,
    iptables-restore v1.4.21: The -t option (seen in line 2) cannot be used in iptables-restore.

    把其他规则加进来没有问题,然后执行iptables也发现有规则了
    # 拒绝 ping
    iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT

    # 允许 SSH 服务端口
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT

    # 允许 Web 服务端口
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    16 条回复    2014-07-07 18:19:08 +08:00
    humiaozuzu
        1
    humiaozuzu  
       2014-05-25 09:59:23 +08:00   ❤️ 1
    @Livid 建议问与答加入审核功能,问问题都不贴 log,浪费大家时间
    findwho
        2
    findwho  
    OP
       2014-05-25 10:30:18 +08:00
    @humiaozuzu 之前不会看日志,谢谢你的提醒!!
    我手机上开启MPPE就正常了,
    findwho
        3
    findwho  
    OP
       2014-05-25 12:08:00 +08:00
    @humiaozuzu May 24 23:56:50 boybeta pppd[4007]: Cannot determine ethernet address for proxy ARP

    能连接,但是接受不到数据,
    yywudi
        4
    yywudi  
       2014-05-25 20:09:03 +08:00   ❤️ 1
    查看 /etc/sysctl.conf 里面的net.ipv4.ip_forward=1 改了没有。
    查看iptables有没有配置FORWORD,是否配置正确
    steptodream
        5
    steptodream  
       2014-05-26 09:19:58 +08:00
    真正的问题在这里MPPE required but peer negotiation failed
    你服务器端应该启用了MPPE加密 而你在电脑里连接的设置里选用了不加密
    findwho
        6
    findwho  
    OP
       2014-05-26 17:51:35 +08:00
    @yywudi iptable我添加了,但是运行iptable -L 啥都没有,这个是改那个文件啊,找不到啊

    @steptodream 这个是连接问题,已经解决了,之前pptp不默认加密的,所以客户端也没加密,现在默认加密了,
    yywudi
        7
    yywudi  
       2014-05-26 18:54:56 +08:00   ❤️ 1
    @findwho 你的VPS是ovz还是kvm还是xen, ovz的iptables语法和xen/kvm 不一样。

    >n=`ifconfig | grep 'venet0:0' | awk 'NR==1 { print $1}'`
    if test "$n" == venet0:0; then
    # For OpenVZ
    iptables -t nat -D POSTROUTING -s 10.0.0.0/8 -j SNAT --to-source `ifconfig | grep 'inet addr:'| grep -v '127\.0\.0\.' | grep -v '10\.' | grep -v '172\.' | grep -v '192\.' | cut -d: -f2 | awk 'NR==1 { print $1}'`
    iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j SNAT --to-source `ifconfig | grep 'inet addr:'| grep -v '127\.0\.0\.' | grep -v '10\.' | grep -v '172\.' | grep -v '192\.' | cut -d: -f2 | awk 'NR==1 { print $1}'`
    else
    # For Xen and KVM
    iptables -t nat -D POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
    fi

    iptables -D FORWARD -p tcp --syn -s 10.0.0.0/8 -j TCPMSS --set-mss 1356
    iptables -A FORWARD -p tcp --syn -s 10.0.0.0/8 -j TCPMSS --set-mss 1356

    iptables-save > /etc/iptables.up.rules
    yywudi
        8
    yywudi  
       2014-05-26 19:02:02 +08:00
    @findwho 以上是我的PPTP一键脚本里面iptables相关的代码。
    简而言之就是如果是ovz 网卡是venet0:0 的,则用 SNAT --to-source [vps ip]
    xen/kvm 有eth0的则直接用 MASQUERADE
    10.0.0.0/8 是分配的VPN IP,你自己根据需要修改,我看你写的是192.168.1.0/24,建议不要设成这个网段,因为很容易和你真实网络中的LAN IP冲突。
    你的真实IP和VPN分配的IP不能在同一网段。

    以上仅仅针对我自己用US VPS (ovz/kvm)搭PPTP的经验,你自己的具体环境不一样自己修改
    findwho
        9
    findwho  
    OP
       2014-05-26 19:04:05 +08:00
    @yywudi openvz的啊,
    用下面这个也不行,
    We add the following iptables firewall rules:
    # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    # iptables –table nat –append POSTROUTING –out-interface ppp0 -j MASQUERADE
    # iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
    # iptables –append FORWARD –in-interface eth0 -j ACCEPT
    运行这一条 iptables -table nat -append POSTROUTING -out-interface ppp0 -j MASQUERADE
    出现这个错误Bad argument `nat'
    yywudi
        10
    yywudi  
       2014-05-26 19:09:24 +08:00
    @findwho Bad argument `nat' 这个可能是openvz 的提供商没有在内核提供iptables支持nat。发个support ticket给商家
    findwho
        11
    findwho  
    OP
       2014-05-26 19:16:33 +08:00
    现在好了,非常感谢啊,
    yywudi
        12
    yywudi  
       2014-05-26 19:26:07 +08:00
    @findwho 是iptables配置的问题? openvz你配置那几条命令肯定是不对的,因为openvz的网卡不是eth0
    findwho
        13
    findwho  
    OP
       2014-05-26 19:44:40 +08:00
    @yywudi 是iptables的问题啊,不是,我把eth0改为venet0了。
    另外一台配置还是有点问题,ip段不一样,不知道是不是这个原因,
    simonp
        14
    simonp  
       2014-07-07 14:14:01 +08:00
    @yywudi 你好,我也是ovz的vps,按照你的设置成功了。非常感谢

    另外,请问怎么能让重启后不再设置iptables呢
    yywudi
        15
    yywudi  
       2014-07-07 18:13:30 +08:00
    @simonp 好像iptables 设置好之后除非用iptables -F 清除掉,是不需要每次重启都设置的。
    或者可以 iptables-save > /etc/iptables.up.rules 备份一下配置,如果发现不对了,就 iptables-restore < /etc/iptables.up.rules 或者直接把这个命令加到 /etc/rc.local
    simonp
        16
    simonp  
       2014-07-07 18:19:08 +08:00
    @yywudi 多谢,搞定了~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5043 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 05:40 · PVG 13:40 · LAX 22:40 · JFK 01:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.