使用PPTPD VPN设置将问题路由到某些域

我们一直在使用基于PPTPD的VPN来解决某些networking/路由问题,客户端无法通过VPN访问某些互联网域/ IP。 例如,用户可以浏览hxxp://google.com,但不能访问hxxp://microsoft.com。

设置如下:

客户端(Windows和Android的相同问题,没有testing其他人)(IP:XXXX) – >互联网 – >(YYYY)DD-WRT路由器(192.168.1.1) – > Ubuntu服务器10.10运行PPTPD(192.168.1.125)。

eirik @ woserv:〜$ cat /etc/pptpd.conf | grep -v'#'

option /etc/ppp/pptpd-options logwtmp localip 192.168.1.125 remoteip 192.168.1.230-240 

eirik @ woserv:〜$ cat / etc / ppp / pptpd-options | grep -v'#'

 name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 192.168.1.1 proxyarp nodefaultroute debug lock auth nobsdcomp noipx mtu 1490 mru 1490 

iptable规则(在/etc/rc.local中)和validation是使用iptables -L加载的

 #!/bin/sh # Flush all rules iptables -F iptables -X iptables -Z # Allow all VPN stuff iptables -A INPUT -p tcp --dport 1723 -j ACCEPT iptables -A INPUT -p 47 -j ACCEPT iptables -A OUTPUT -p tcp --sport 1723 -j ACCEPT iptables -A OUTPUT -p 47 -j ACCEPT iptables -A FORWARD -i ppp+ -o eth0 -s 192.168.1.0/24 -m state --state NEW -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE exit 0 

我们在dd-wrt路由器上启用了PPTP,IPSEC和L2TP直通function(在Security – > VPN Passthrough下)。 另外,我们已经把端口1723和47转发到192.168.1.125。

Windows中的VPN连接在IPv4上使用“在远程networking上使用默认网关”进行设置,并使用MS-CHAP v2。 如果客户端访问hxxp://www.whatismyip.com/,则会报告正确的VPN IP(yyyy),而不是正常的Internet IP,xxxx

到目前为止,我们已经确定了以下问题域:

 microsoft.com support.microsoft.com no.yahoo.com answers.yahoo.com nrk.no imgur.com 

(在描述这个问题时,我发现当我试图通过VPN访问hxxp://pastebin.ca时, 我无法加载http://w.pastebin.ca/pb-g.gz.js )

如果客户端在使用VPN的时候试图打开这些网页,他们会得到一个超时(谷歌浏览器开发工具下的networking说,“待定”的请求,直到他们超时)。 有时Chrome会说错误是“错误101(net :: ERR_CONNECTION_RESET):连接被重置”。 其他服务(除了http / https 80/443也失败)。

大多数其他网站的工作,如hxxp://google.com和hxxp://bing.com。 这些问题在许多不同的窗口和不同地点的Android客户端之间是一致的。 没有涉及的代理。 禁用Windows防火墙和任何防病毒软件什么也不做。

来自客户端的tracert为不同的域提供了不同的结果,但是在没有VPN和VPN的情况下,它们似乎有些一致,下面是一些例子 。

如果我直接在运行PPTPD的Linux服务器上启动lynx http://microsoft.com ,它会加载正常。 与其他网站一样…

有任何想法吗?

(对于带有tracert链接的jsfiddle感到抱歉,无法在这里作为ServerFault上的新用户发布多个链接)

  • 最简单的VPN服务器的Linux
  • 这个ip route是什么意思?
  • FortiGate IPsec VPN:configuration多个2阶段连接(多个子网)
  • 诺基亚E71到Sonicwall GroupVPN
  • 通过VPN隧道进行select性路由
  • 无法连接到iPad的Wi​​ndows VPN
  • 2 Solutions collect form web for “使用PPTPD VPN设置将问题路由到某些域”

    由于您更改了默认的MTU,这可能是原因。 尝试将以下规则添加到防火墙,根据需要进行调整:

     iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 

    编辑:改变了规则插入自己作为第一链。

    多个问题

    1. 在/ etc / ppp / PPTPD选项

       nodefaultroute 

      但Windows使用“在远程networking上使用默认网关”进行设置。 上述选项应该被删除。

    2. NAT的两侧都有相同的networking

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

      PPTP服务器的局域网IP为192.168.1.125,PPTP客户端分配192.168.1.230-240,在NAT两侧同样为192.168.1.0/24。 不确定它真的有效,部分工作,但看起来有问题。

      另外,PPTP服务器已经在局域网内部,DD-WRT路由器已经在进行NAT了。 PPTP服务器上的NAT不是必需的。 删除上述规则。

    3. 检查/ proc / sys / net / ipv4 / ip_forward

      cat /proc/sys/net/ipv4/ip_forward应该返回1 。 如果不是,则添加以下内容作为rc.local第二行

       echo 1 > /proc/sys/net/ipv4/ip_forward 
    4. 检查PPTP客户端networking

      检查PPTP客户端本地/ LAN IP不使用192.168.1.0/24。 它们必须更改或VPN路由可能无法正常工作。

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.