User talk:田宮真莉:修订间差异

添加18,568字节 、​ 2020年2月7日 (星期五)
imported>田宮真莉
→‎感谢您在H萌娘的编辑:​ 查找和替换 close 完成了12次替换。 查找: 翻墙 替换为: 翻guo過濾器墙
imported>田宮真莉
第182行: 第182行:
#* 其他系统:请参见[[hosts文件]]。
#* 其他系统:请参见[[hosts文件]]。
# 在该文件中加入下列内容(可根据设备类型选择添加):
# 在该文件中加入下列内容(可根据设备类型选择添加):
#*'''[[#维基媒体服务器列表|维基媒体服务器列表]]'''{{`}}[[#desktop-hosts|
#*'''[[#维基媒体服务器列表|维基媒体服务器列表]]'''{{`}}[[#desktop-hosts| 桌面设备参考格式]]{{`}}[[#mobile-hosts|移动设备参考格式]]
#* {{建议}}:维基媒体基金会有多个IP地址,您可以参考维基媒体的服务器列表并根据实际访问情况选择填写不同的IP地址。为方便起见,在桌面设备上可以只添加下文的前半部分,在移动设备上可以只添加下文的后半部分。另外由于维基百科有[[WP:WPLIST|数百种语言版本]],您可以根据实际情况选择性地添加项目以免列表过长造成维护困难,例如对于只会普通话的用户,可以只添加中文项目而跳过粤文、藏文等项目。下文仅为格式参考,具体添加哪些语言版本根据您的使用习惯而定,如果您因特殊情况需要添加较多语言版本,可使用此[https://github.com/googlehosts/hosts/issues/361 链接]中列出的全语言版本hosts。
#* {{注意}}:Hosts文件不支持[[通配符]],因此需要逐个添加地址。另外,由于SNI检测的存在,'''使用时需要确保Hosts列表中的IP地址与运营商的解析结果保持一致''',解析结果可以通过查询未被DNS污染的维基媒体域名获得,如<code>mediawiki.org</code>、<code>wikidata.org</code>、<code>w.wiki</code>。
#*:* Windows系统:在[[命令提示符]](cmd)中使用nslookup命令查询,如<code>nslookup mediawiki.org</code>。
#*:* 类UNIX系统:在[[Shell]]中使用dig命令查询,如<code>dig mediawiki.org -t A mediawiki.org -t AAAA</code>。
#** 解析一般会得到两个结果,其中以<code>.</code>(英文句号)分隔的是[[域名伺服器記錄類型列表#A|A记录]]([[IPv4]]地址),以<code>:</code>(英文冒号)分隔的是[[域名伺服器記錄類型列表#AAAA|AAAA记录]]([[IPv6]]地址)。
#** {{注意}}:如果获取到的IP地址不在[[#维基媒体服务器列表|这个列表]]中,请通过查询(如[https://tools.wmflabs.org/whois/ 这个工具])确定IP地址是属于“Wikimedia Foundation Inc.”所有,否则说明解析结果极有可能已经受到DNS污染,'''请勿使用'''。
{{HideH|内容}}
<source lang="shell" id="desktop-hosts">
# Wikimedia Start 維基媒體開始
103.102.166.224 meta.wikimedia.org
2620:0:863:ed1a::1 meta.wikimedia.org
# Wikimedia End 維基媒體結束
 
# Wikipedia Start 維基百科開始
103.102.166.224 www.wikipedia.org
2620:0:863:ed1a::1 www.wikipedia.org
103.102.166.224 en.wikipedia.org
2620:0:863:ed1a::1 en.wikipedia.org
103.102.166.224 zh.wikipedia.org
2620:0:863:ed1a::1 zh.wikipedia.org
103.102.166.224 ja.wikipedia.org
2620:0:863:ed1a::1 ja.wikipedia.org
103.102.166.224 zh-yue.wikipedia.org
2620:0:863:ed1a::1 zh-yue.wikipedia.org
103.102.166.224 gan.wikipedia.org
2620:0:863:ed1a::1 gan.wikipedia.org
103.102.166.224 wuu.wikipedia.org
2620:0:863:ed1a::1 wuu.wikipedia.org
103.102.166.224 zh-min-nan.wikipedia.org
2620:0:863:ed1a::1 zh-min-nan.wikipedia.org
103.102.166.224 cdo.wikipedia.org
2620:0:863:ed1a::1 cdo.wikipedia.org
103.102.166.224 hak.wikipedia.org
2620:0:863:ed1a::1 hak.wikipedia.org
103.102.166.224 bo.wikipedia.org
2620:0:863:ed1a::1 bo.wikipedia.org
103.102.166.224 ug.wikipedia.org
2620:0:863:ed1a::1 ug.wikipedia.org
103.102.166.224 zh-classical.wikipedia.org
2620:0:863:ed1a::1 zh-classical.wikipedia.org
#Wikipedia End 維基百科結束
 
#Wikinews Start 維基新聞開始
103.102.166.224 zh.wikinews.org
2620:0:863:ed1a::1 zh.wikinews.org
103.102.166.224 en.wikinews.org
2620:0:863:ed1a::1 en.wikinews.org
#Wikinews End 維基新聞結束
 
#Wikiquote Start 維基文庫開始
103.102.166.224 zh.wikiquote.org
2620:0:863:ed1a::1 zh.wikiquote.org
#Wikiquote End 維基文庫結束
</source>
<source lang="shell" id="mobile-hosts">
# Wikimedia Start 維基媒體開始
103.102.166.224 meta.m.wikimedia.org
2620:0:863:ed1a::1 meta.m.wikimedia.org
103.102.166.224 commons.m.wikimedia.org
2620:0:863:ed1a::1 commons.m.wikimedia.org
# Wikimedia End 維基媒體結束
 
# Wikipedia Start 維基百科開始
103.102.166.224 www.wikipedia.org
2620:0:863:ed1a::1 www.wikipedia.org
103.102.166.224 en.m.wikipedia.org
2620:0:863:ed1a::1 en.m.wikipedia.org
103.102.166.224 zh.m.wikipedia.org
2620:0:863:ed1a::1 zh.m.wikipedia.org
103.102.166.224 ja.m.wikipedia.org
2620:0:863:ed1a::1 ja.m.wikipedia.org
103.102.166.224 zh-yue.m.wikipedia.org
2620:0:863:ed1a::1 zh-yue.m.wikipedia.org
103.102.166.224 gan.m.wikipedia.org
2620:0:863:ed1a::1 gan.m.wikipedia.org
103.102.166.224 wuu.m.wikipedia.org
2620:0:863:ed1a::1 wuu.m.wikipedia.org
103.102.166.224 zh-min-nan.m.wikipedia.org
2620:0:863:ed1a::1 zh-min-nan.m.wikipedia.org
103.102.166.224 cdo.m.wikipedia.org
2620:0:863:ed1a::1 cdo.m.wikipedia.org
103.102.166.224 hak.m.wikipedia.org
2620:0:863:ed1a::1 hak.m.wikipedia.org
103.102.166.224 bo.m.wikipedia.org
2620:0:863:ed1a::1 bo.m.wikipedia.org
103.102.166.224 ug.m.wikipedia.org
2620:0:863:ed1a::1 ug.m.wikipedia.org
103.102.166.224 zh-classical.m.wikipedia.org
2620:0:863:ed1a::1 zh-classical.m.wikipedia.org
#Wikipedia End 維基百科結束
 
#Wikinews Start 維基新聞開始
103.102.166.224 zh.m.wikinews.org
2620:0:863:ed1a::1 zh.m.wikinews.org
#Wikinews End 維基新聞結束
</source>
{{HideF}}
<small>注:元维基是可以直接访问的,但是为了防止DNS解析结果变动造成访问不便,可以先访问此地址再访问中文维基百科等项目。您也可以根据个人喜好改为其他可直接访问的项目。 </small>
 
保存文件。如果保存的时候出现任何错误提示,如“权限不足”等,请允许电脑保存;如果杀毒软件提示这一举动存在安全风险,请您忽视。按照本教程的方式修改Hosts文件不会对您的电脑造成损害。通常修改后的Hosts记录可以立即生效,但若保存之后还不能正常访问,您可以通过清除DNS缓存来实现:
* 重新启动设备。
* 执行下列命令:
** Windows:<code>ipconfig /flushdns</code>
** OS X / macOS:<code>lookupd -flushcache</code>或<code>dscacheutil -flushcache</code>
** Linux:<code>sudo service nscd restart</code>
*** Ubuntu:<code>sudo /etc/init.d/dns-clean start</code>
** Android:开启再关闭飞行模式
 
值得注意的是,有的时候IP地址虽然能正常连接,但是非加密状态下[[URL]]会被防火长城进行关键字拦截,导致最终访问失败。
 
==== 加密DNS ====
针对DNS的加密技术包括[[DNS over TLS]](DoT)和[[DNS over HTTPS]](DoH),它们比传统DNS更加安全,可以对解析结果进行加密以防止被第三方窃听或篡改,同时也可以作为无法修改Hosts且DNS失效的情况下的替代方案。
* DoT服务器列表:[[DNS over TLS#公共DNS服务器列表]]
* DoH服务器列表:[[DNS over HTTPS#公共DNS]]
 
; Android
[[Android]]从[[Android_9.0|9.0]]开始提供了原-{}-生的DoT支持,也就是私人DNS,配置方法是:
# 打开“设置”;
# 点击“网络和互联网”,再点击“高级”,再点击“私人 DNS”;
# 然后在打开的窗口中输入DoT服务器地址,只需要输入IP地址或域名,不需要加上协议或端口。
 
对于[[华为]]和[[荣耀]]手机用户,[[EMUI]] 9.0以上系统版本中有此功能,可以在“设置>无线和网络>加密DNS”中找到。
 
对于Android 9.0以下的系统,可以使用软件进行DoT/DoH查询:
* [https://getintra.org/ Intra]([https://github.com/BlueSedDragon/Share/raw/master/Intra.apk 直接下载]):由于此软件的默认DoH服务器<code>dns.google.com</code>受到IP阻断,所以需要设置其他服务器,点击软件左上角的菜单按钮,再点击“设置”,再点击“选择 DNS-over-HTTPS 服务器”,然后选择“自定义服务器网址”并输入DoH服务器地址。或者选择<code>cloudflare-dns.com</code>。
* [https://1.0.0.1/ 1.1.1.1 App]([https://github.com/BlueSedDragon/Share/raw/master/1.1.1.1.apk 直接下载])
 
; Firefox
[[Firefox]]从60.0开始提供了DoH支持,配置方法是:
* 桌面版:
*:# 在地址栏输入<code>about:preferences</code>并打开;
*:# 将页面翻到最下方,点击“网络设置”下方的“设置”按钮;
*:# 勾上“启用基于 HTTPS 的 DNS”选项;
*:# 选择“自定义”(如果您想使用默认的DoH服务器则可以不修改);
*:# 填入DoH服务器地址,需以<code>https://</code>开头,端口可选。
** 注意:通过图形界面设置后Firefox默认会在DoH查询失败时回退到传统DNS,如果需要用DoH做所有的DNS查询:
*# 在地址栏输入<code>about:config</code>并打开,如果出现警告提示请继续;
*# 在页面上方的搜索框输入<code>network.trr.mode</code>;
*# 修改<code>network.trr.mode</code>的值为<code>3</code>。
* 移动版:
*# 在地址栏输入<code>about:config</code>并打开,如果出现警告提示请继续;
*# 在页面右上角的搜索框输入<code>network.trr.uri</code>;
*# 修改<code>network.trr.uri</code>的值为DoH服务器地址(如果您想使用默认的DoH服务器则可以不修改),需以<code>https://</code>开头,端口可选;
*# 在页面右上角的搜索框输入<code>network.trr.mode</code>;
*# 修改<code>network.trr.mode</code>的值为<code>3</code>(如果想在DoH查询失败时回退到传统DNS,请设置为<code>2</code>)。
 
; [[Chromium]]
Chromium瀏覽器內核自78版本開始支援部分DoH服務;基於Chromium的瀏覽器(Google Chrome, Opera, Vivaldi, Brave等)均可使用此功能。
 
啟用方法:
# 將系統 DNS 設定為以下服務提供者之一的地址:
#* Cleanbrowsing
#* Cloudflare
#* Comcast
#* DNS.SB
#* Google
#* OpenDNS
#* Quad9
# 在瀏覽器中前往 chrome://flags/#dns-over-https
# 將最頂端的選項中的「Default」改為「Enabled」
# 重新啟動瀏覽器
 
==== 传统DNS ====
{{see_also|域名系统}}
通常情况下无论使用设置在中国大陆的DNS服务还是使用设置在海外的DNS服务,因为解析结果都需要穿过防火长城,所以都会被污染。但是仍有一些设置在中国大陆的小型DNS使用技术手段回避防火长城的污染并提供不受污染的结果,通常使用这些小型DNS也能够访问部分其他被封锁的网站,此类DNS服务包括:(带删除线的项目可能无法使用,或不对公众开放使用)
{| class='wikitable'
|-
! rowspan='2' | 服务提供者
! colspan='2' | 首选网络地址
! colspan='2' | 备选网络地址
|-
! IPv4地址
! IPv6地址
! IPv4地址
! IPv6地址
|-
| [https://lug.ustc.edu.cn/wiki/server/mirrors/start 中国科学技术大学DNS] || <del>202.141.178.13 (中国移动)<br/>202.141.162.123 (中国电信)</del> || || <del>202.38.93.153 (教育网)</del> || <!-- 部分来自https://dns.iui.im/#University|https://blog.liyuans.com/archives/pure-dns-collection.html#_label0 -->
<!-- 在三个网络环境下均测试到只有202.38.93.153开放53端口:https://i.loli.net/2019/04/06/5ca84ca4ea9fb.png|https://i.loli.net/2019/04/06/5ca84c5878580.jpg|https://i.loli.net/2019/04/06/5ca84c4cd347a.jpg
202.141.160.110(中国电信)<br/>202.141.176.110(中国移动) || 2001:da8:d800:95::110(教育网) || 202.38.95.110(教育网)<br/>202.38.93.153(教育网)|| 无
-->
|-
| [https://tuna.moe/help/dns/ 清华大学TUNA协会DNS] || <del>101.6.6.6 (教育网)</del> || 2001:da8::666 (教育网) || 无 || 无
<!--
|-
| [https://puredns.cn/ Pure DNS] || 123.207.13.111 || 123.207.137.88
-->
|-
| 其他DNS服务 ||<del>111.230.37.44</del><br/>140.143.226.193<br/>110.43.41.122 || || 40.73.101.101<br/>150.242.98.63 ||<!-- 来自 https://dns.iui.im/#noad -->
|}
 
部分海外IPv6 DNS服务(如[[Google Public DNS]]的2001:4860:4860::8888和2001:4860:4860::8844)也可能可以给出正确的解析结果,但使用前建议先检查可用性。IPv4 DNS则很可能会受到干扰。关于海外的DNS服务,详见[[公共域名解析服务]]。
 
获得DNS服务商的IP地址后,更改DNS服务器的方法如下:
* [https://windows.microsoft.com/zh-cn/windows/change-tcp-ip-settings Windows 7 / Vista]
* [https://support.apple.com/kb/PH18499?viewlocale=zh_CN&locale=zh_CN OS X 10.10 Yosemite]
* [https://www.pc841.com/shoujijiqiao/39077.html Android](第三方教程,不同设备的操作方法可能不同,请参考设备厂商的说明)
* [https://cloudflare-dns.com/zh-Hans/dns/#setup-instructions iOS](第三方教程)
一些[[路由器]]等网络硬件设备也允许用户指定DNS地址,这样一来所有连接到该网络设备并设置了“自动获得DNS服务器地址”([[DHCP]])的计算机、手机等终端设备都会自动使用该DNS服务,较为方便。详情请参阅设备说明书。
 
'''***以下内容同时适用于加密DNS和传统DNS***'''
 
{{注意}}:使用DNS服务时要注意潜在的安全问题。DNS服务器的控制者尽管无法监视您与网站之间传输的内容,但是却有能力记录您的IP地址和您试图访问的网站域名。DNS服务商可能会利用这些信息或将其分享给第三方以用于用户行为收集、广告和政府监管等目的,因此请仔细阅读服务条款,选择自己信任的服务商。另外,DNS服务商也可能有意或无意地为您提供错误甚至有害的结果(这也是防火长城的工作原理之一)。<!--上面提到的DNS都使用了开源的程序获取不受污染的结果,这些程序可以在[[Github]]上获取。-->此外,在首选和备选IP地址中填入不同DNS服务提供者的地址也是可以的。部分地区可能只能解析较少的次数。<!--欲更换DNS服务,首先需要获得新服务商的DNS服务器的IP地址,这通常可以在它们的官网找到。-->
 
{{建议}}:由于部分DNS服务商的出口服务器全部位于中国大陆以外,或者出口服务器部署有限无法针对所有地区或运营商进行优化,可能会导致用户在访问中国大陆境内的网站时被解析到不合适的IP地址(例如中国网站在海外架设的[[CDN]]),进而产生延迟增大、加载缓慢甚至失败等情况。如您遇到这类现象,可以试着查询当前使用的DNS出口的有关信息,若结果显示当前DNS出口与您的运营商不一致、与您所处的省份不一致或位于中国大陆以外且DNS服务器未使用[https://tools.ietf.org/html/rfc7871 ECS功能](Edns-Client-Subnet),则可以考虑暂时停用上述DNS服务改用运营商的默认DNS或中国大陆主流厂商的智能DNS服务。
* 使用以下网址可以获得当前DNS用来查询的源服务器(亦即DNS出口)地址,可用于判断DNS出口服务器的区域:
** {{url|https://ipleak.net/}}:能同时给出多组结果,但只显示IP地址的地理位置,不能给出运营商名称。使用方法:在“DNS Addresses”这一节,如果显示“DNS Address detection”或“pending”字样则表示正在查询
** {{url|https://nstool.netease.com/}}:一次只能给出一条结果,但能同时给出IP地址的地理位置和运营商名称
 
* 通过在终端中使用下列命令查询域名<code>edns-client-sub.net</code>的[[域名伺服器記錄類型列表#TXT|TXT记录]]可以获得DNS服务器的ECS功能状态(请将下文中的8.8.8.8替换成您需要查询的DNS入口服务器地址):
::* dig:<code>dig edns-client-sub.net -t TXT @8.8.8.8</code>
::* nslookup:<code>nslookup -type=TXT edns-client-sub.net 8.8.8.8</code>
::** Windows系统下可能需要使用<code>nslookup -qt=TXT edns-client-sub.net 8.8.8.8</code>
:* 查询会得到一个类似于[[JSON|JSON格式]]的结果,例如:<pre>{'ecs_payload':{'family':'1','optcode':'0x08','cc':'[ECS客户端国家代码]','ip':'[ECS客户端IP地址]','mask':'[ECS客户端CIDR码]','scope':'0'},'ecs':'[ECS状态]','ts':'[请求UNIX时间戳]','recursive':{'cc':'[DNS服务器国家代码]','srcip':'[DNS服务器源IP地址]','sport':'[DNS服务器源端口]'}}</pre>
:* 如果DNS服务器没有使用ECS功能(也就是<code>ecs</code>的值为<code>False</code>),则不会出现<code>ecs_payload</code>字段,属正常现象。例如:<pre>{'ecs':'False','ts':'[请求UNIX时间戳]','recursive':{'cc':'[DNS服务器国家代码]','srcip':'[DNS服务器源IP地址]','sport':'[DNS服务器源端口]'}}</pre>
 
* '''注释:'''
** '''DNS入口'''是DNS服务商用来接收用户请求和返回解析结果的服务器地址,例如Google的8.8.8.8;'''DNS出口'''是DNS服务商用来向权威DNS服务器发起查询的服务器地址,智能DNS服务商通常拥有多个出口节点,能根据用户的地理位置和使用的网络运营商就近分配DNS出口以确保用户能获得合适的解析结果。
** '''ECS功能'''允许DNS服务器向权威DNS服务器传达您的IP地址从而可以让权威DNS服务器返回合适的IP地址。因此,如果DNS服务商使用了该功能(如果查询返回的结果包含<code>'ecs':'True'</code>则说明DNS服务器使用了ECS功能;如果包含<code>'ecs':'False'</code>,则说明未使用ECS功能),那么不论DNS出口位于何处,返回给用户的结果都是合适的。
 
* {{注意}}:维基媒体服务器的部分IP被封锁,而DNS服务器仍然可能会将相关域名解析到被封锁的IP,此时需要仍然修改Hosts文件处理此问题,或设置[[#IP重定向|IP重定向]]。
=== 域前置 ===
[[域前置]]可以让用户向防火长城展示经过伪装的访问信息,借此避开SNI封锁,也就是说虽然访问的是维基百科,但在防火长城看来是在访问别的网站,从而使得连接不会被中断。但方法操作起来较为复杂,需要用户具有相当计算机相关知识,故不建议使用。若你有足够能力,也可以查看[[Help_talk:如何访问维基百科#修改火狐浏览器关于SNI的部分|维基百科用户就该方法进行过的讨论]]来进一步了解。
 
=== IP重定向 ===
有时DNS服务器会将部分域名解析到被封锁或无效的IP,此时可以将这些IP重定向到正确的IP。<!--以下设被封锁的IP为198.35.26.96(也可以是被污染的解析结果),可正常访问的IP为208.80.153.224。-->
 
==== 路由器IP转发 ====
如果你的路由器支持DNAT功能,则可以设置IP重定向。
 
==== 使用iptables语句 ====
{{注意}}:此方法仅适用于Linux操作系统,且[https://github.com/microsoft/WSL/issues/767 不适用于Windows Subsystem for Linux]。
 
此方法未经检验,故暂时隐藏。请查看源代码