使用 SoftEther 部署了自己的 VPN 服务器。网站仍然被屏蔽;需要建议。详情请见内文

使用 SoftEther 部署了自己的 VPN 服务器。网站仍然被屏蔽;需要建议。详情请见内文

因此,正如标题所述,我使用 SoftEther 设置了自己的 VPN。我在一些不受限制的设备上对其进行了测试,它似乎运行良好。但是,在托管设备上使用它仍然会导致网站被屏蔽,就像以前一样。托管设备有一个全局 http 代理。所有这些都发生在我自己的网络上。我需要一些建议,关于下一步该怎么做。

这是我探索后发现的主要内容:

执行过滤的 Web 代理可以看到我的 VPN 的 IP 地址,而网站等可以看到 Web 代理的 IP 地址(大多数情况下)。我发现的一个例外是连接到 IRC 网络时;它们仍然可以看到 VPN 的 IP 地址。VPN 让几乎所有流量都通过 Web 代理,这就是被屏蔽的网站仍然被屏蔽的原因。

我能做些什么来解决这个问题?或者这就是结局?我并不关心解决方案的难度;我只是想知道它。

我还发现了网络代理的配置(如果您这么称呼它的话?)。

/* Modify but do not remove the following 3 lines */
/* For Cloud, the swgdomain should be the cloud host (ncxxx-cncxxxx.ibosscloud.com), the swgpublicIP should be your home network NAT IP address, and the domain should be your domain or your custom login page domain */
var swgdomain = "[REDACTED]"


var domain = "[REDACTED]"
var swgpublicip = "[REDACTED]"

/* MOST PEOPLE WILL NOT NEED TO EDIT BELOW THIS LINE: */

/* EAM 20170822, don't change the template without consulting [REDACTED] */
function FindProxyForURL(url,host) { 

hostIP = dnsResolve(host)
swgpublicip = dnsResolve(swgdomain)

/*  Bypass the proxy for local resources: */

if (isPlainHostName(host) || 
    shExpMatch(host, "*.local") || 
    isInNet(hostIP, "10.0.0.0", "255.0.0.0") || 
    isInNet(hostIP, "172.16.0.0", "255.240.0.0") || 
    isInNet(hostIP, "192.168.0.0", "255.255.0.0") || 
    isInNet(hostIP, "169.254.0.0", "255.255.0.0") || 
    isInNet(hostIP, "224.0.0.0", "240.0.0.0") || 
    isInNet(hostIP, "240.0.0.0", "240.0.0.0") || 
    isInNet(hostIP, "0.0.0.0", "255.0.0.0") || 
    isInNet(hostIP, "127.0.0.0", "255.0.0.0")  
    ) {return "DIRECT"; } 

/* These domains are for your equipment specifically: */

else if (shExpMatch(host, "*" + domain) ||
    (host == swgpublicip) ||
    (hostIP == swgpublicip) 
    ) { return "DIRECT"; } 

/* These are for Google SSO: */

else if (shExpMatch(host, "*gstatic.com") || 
    shExpMatch(host, "accounts.google.com")
    ) { return "DIRECT"; } 

/* These are for Apple devices (such as iPads): */

else if (shExpMatch(host, "*appleiphonecell.com") || 
    shExpMatch(host, "*thinkdifferent.us") || 
    shExpMatch(host, "*airport.us") || 
    shExpMatch(host, "*ibook.info") || 
    shExpMatch(host, "captive.apple.com") || 
    shExpMatch(url, "http://gsp1.apple.com/pep/gcc") || 
    shExpMatch(host, "*itools.info") || 
    shExpMatch(url, "http://www.apple.com/library/test/success.html") ||
    shExpMatch(host, "*guzzoni.apple.com") )
{ return "DIRECT"; } 

/* This section is for Microsoft: */

else if (shExpMatch(host, "*download.microsoft.com") || 
    shExpMatch(host, "*ntservicepack.microsoft.com") || 
    shExpMatch(host, "*windowsupdate.microsoft.com") || 
    shExpMatch(host, "*update.microsoft.com") || 
    shExpMatch(host, "*cdm.microsoft.com") || 
    shExpMatch(host, "*wustat.windows.com") || 
    shExpMatch(host, "*windowsupdate.com") ||
    shExpMatch(host, "*windowsupdate.microsoft.com") )
{ return "DIRECT"; }

/* Captive portals (hotels and such) and local preferences: */

else if (shExpMatch(host, "*wayport.net") )
{ return "DIRECT"; } 

/* This is for iboss servers */

else if (shExpMatch(host, "*.iboss.com") ||
    shExpMatch(host, "*.ibosscloud.com") ||
    isInNet(hostIP, "208.70.72.0", "255.255.248.0") || 
    isInNet(hostIP, "206.125.41.128", "255.255.255.192") )
{ return "DIRECT"; }

/* The final proxy statement: */

else if (dnsResolve("myiboss.net") == "208.70.74.18") 
    { return "PROXY " + swgpublicip + ":8009"; } 

/* If on network, go direct (no proxy): */

else { return "DIRECT"; }
}

答案1

如果设备认为它不在自己的 LAN 上,它就会尝试连接到代理,所以我看到两个选项:

  • 拦截与路由器上的代理的连接,将其转移到您自己的代理/公共代理(如何执行此操作取决于您的路由器,并非总是可行)

  • 欺骗设备,使其相信自己位于其 LAN 上。查看配置文件,我们发现它会尝试:

    else if (dnsResolve("myiboss.net") == "208.70.74.18")
    { return "PROXY " + swgpublicip + ":8009"; }
    

    因此,将您的 DNS 服务器配置为对 myiboss.net 返回 208.70.74.18 以外的其他内容应该可以解决问题(这可能需要更改 DNS 服务器,在大多数路由器上都应该是可能的)。

相关内容