1
humiaozuzu 2014-05-25 09:59:23 +08:00 1
@Livid 建议问与答加入审核功能,问问题都不贴 log,浪费大家时间
|
2
findwho OP @humiaozuzu 之前不会看日志,谢谢你的提醒!!
我手机上开启MPPE就正常了, |
3
findwho OP @humiaozuzu May 24 23:56:50 boybeta pppd[4007]: Cannot determine ethernet address for proxy ARP
能连接,但是接受不到数据, |
4
yywudi 2014-05-25 20:09:03 +08:00 1
查看 /etc/sysctl.conf 里面的net.ipv4.ip_forward=1 改了没有。
查看iptables有没有配置FORWORD,是否配置正确 |
5
steptodream 2014-05-26 09:19:58 +08:00
真正的问题在这里MPPE required but peer negotiation failed
你服务器端应该启用了MPPE加密 而你在电脑里连接的设置里选用了不加密 |
6
findwho OP @yywudi iptable我添加了,但是运行iptable -L 啥都没有,这个是改那个文件啊,找不到啊
@steptodream 这个是连接问题,已经解决了,之前pptp不默认加密的,所以客户端也没加密,现在默认加密了, |
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 |
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的经验,你自己的具体环境不一样自己修改 |
9
findwho OP @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' |
10
yywudi 2014-05-26 19:09:24 +08:00
@findwho Bad argument `nat' 这个可能是openvz 的提供商没有在内核提供iptables支持nat。发个support ticket给商家
|
11
findwho OP 现在好了,非常感谢啊,
|
12
yywudi 2014-05-26 19:26:07 +08:00
@findwho 是iptables配置的问题? openvz你配置那几条命令肯定是不对的,因为openvz的网卡不是eth0
|
13
findwho OP @yywudi 是iptables的问题啊,不是,我把eth0改为venet0了。
另外一台配置还是有点问题,ip段不一样,不知道是不是这个原因, |