mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-13 22:30:37 +08:00
translated
This commit is contained in:
parent
3303262ae2
commit
0c025adc6d
@ -1,154 +0,0 @@
|
||||
[#]: subject: (Access an alternate internet with OpenNIC)
|
||||
[#]: via: (https://opensource.com/article/21/4/opennic-internet)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
Access an alternate internet with OpenNIC
|
||||
======
|
||||
Take a detour on the super information highway.
|
||||
![An intersection of pipes.][1]
|
||||
|
||||
In the words of Dan Kaminsky, the legendary DNS hacker, "the Internet's proven to be a pretty big deal for global society." For the Internet to work, computers must be able to find one another on the most complex network of all: the World Wide Web. This was the problem posed to government workers and academic IT staff a few decades ago, and it's their solutions that we use today. They weren't, however, actually seeking to build _the Internet_, they were defining specifications for _internets_ (actually for _catenets_, or "concatenated networks", but the term that eventually fell out of vogue), a generic term for _interconnected networks_.
|
||||
|
||||
According to these specifications, a network uses a combination of numbers that serve as a sort of home address for each online computer and assigns a human-friendly but highly structured "hostname" (such as `example.com`) to each website. Because users primarily interact with the internet through website _names_, it can be said that the internet works only because we've all agreed to a standardized naming scheme. The Internet _could_ work differently, should enough people decide to use a different naming scheme. A group of users could form a parallel internet, one that exists using the same physical infrastructure (the cables and satellites and other modes of transport that get data from one place to another) but uses a different means of correlating hostnames with numbered addresses.
|
||||
|
||||
In fact, this already exists, and this article shows how you can access it.
|
||||
|
||||
### Understand name servers
|
||||
|
||||
The term "internet" is actually a portmanteau of the terms _interconnected_ and _networks_ because that's exactly what it is. Like neighborhoods in a city, or cities in a country, or countries on a continent, or continents on a planet, the internet spans the globe by transmitting data from one home or office network to data centers and server rooms or other home or office networks. It's a gargantuan task—but it's not without precedent. After all, phone companies long ago connected the world, and before that, telegraph and postal services did the same.
|
||||
|
||||
In a phone or mail system, there's a list, whether it's formal or informal, that relates human names to physical addresses. This used to be delivered to houses in the form of telephone books, a directory of every phone owner in that phone book's community. Post offices operate differently: they usually rely on the person sending the letter to know the name and address of the intended recipient, but postcodes and city names are used to route the letter to the correct post office. Either way, the need for a standard organizational scheme is necessary.
|
||||
|
||||
For computers, the [IP protocol][2] describes how addresses on the internet must be formatted. The domain name server [(DNS) protocol][3] describes how human-friendly names may be assigned to and resolved from IP addresses. Whether you're using IPv4 or IPv6, the idea is the same: When a node (which could be a computer or a gateway leading to another network) joins a network, it is assigned an IP address.
|
||||
|
||||
If you wish, you may register a domain name with [ICANN][4] (a non-profit organization that helps coordinate website names on the internet) and register the name as a pointer to an IP address. There is no requirement that you "own" the IP address. Anyone can point any domain name to any IP address. The only restrictions are that only one person can own a specific domain name at a time, and the domain name must follow the recognized DNS naming scheme.
|
||||
|
||||
Records of a domain name and its associated IP address are entered into a DNS. When you navigate to a website in your browser, it quickly consults the DNS network to find what IP address is associated with whatever URL you've entered (or clicked on from a search engine).
|
||||
|
||||
### A different DNS
|
||||
|
||||
To avoid arguments over who owns which domain name, most domain name registrars charge a fee for domain registration. The fee is usually nominal, and sometimes it's even $0 (for instance, `freenom.com` offers gratis `.tk`, `.ml`, `.gq`, and `.cf` domains on a first-come, first-served basis).
|
||||
|
||||
For a very long time, there were only a few "top-level" domains, including `.org`, `.edu`, and `.com`. Now there are a lot more, including `.club`, `.biz`, `.name`, `.international`, and so on. Letter combinations being what they are, however, there are lots of potential top-level domains that aren't valid, such as `.null`. If you try to navigate to a website ending in `.null`, then you won't get very far. It's not available for registration, it's not a valid entry for a domain name server, and it just doesn't exist.
|
||||
|
||||
The [OpenNIC Project][5] has established an alternate DNS network to resolve domain names to IP addresses, but it includes names not currently used by the internet. Available top-level domains include:
|
||||
|
||||
* .geek
|
||||
* .indy
|
||||
* .bbs
|
||||
* .gopher
|
||||
* .o
|
||||
* .libre
|
||||
* .oss
|
||||
* .dyn
|
||||
* .null
|
||||
|
||||
|
||||
|
||||
You can register a domain within these (and more) top-level domains and register them on the OpenNIC DNS system so that they map to an IP address of your choice.
|
||||
|
||||
In other words, a website may exist in the OpenNIC network but remain inaccessible to anyone not using OpenNIC name servers. This isn't by any means a security measure or even a means of obfuscation; it's just a conscious choice to take a detour on the _super information highway_.
|
||||
|
||||
### How to use an OpenNIC DNS server
|
||||
|
||||
To access OpenNIC sites, you must configure your computer to use OpenNIC DNS servers. Luckily, this isn't a binary choice. By using an OpenNIC DNS server, you get access to both OpenNIC and the standard web.
|
||||
|
||||
To configure your Linux computer to use an OpenNIC DNS server, you can use the [nmcli][6] command, a terminal interface to Network Manager. Before starting the configuration, visit [opennic.org][5] and look for your nearest OpenNIC DNS server. As with standard DNS and [edge computing][7], the closer the server is to you geographically, the less delay you'll experience when your browser queries it.
|
||||
|
||||
Here's how to use OpenNIC:
|
||||
|
||||
1. First, get a list of connections:
|
||||
|
||||
|
||||
```
|
||||
$ sudo nmcli connection
|
||||
NAME TYPE DEVICE
|
||||
Wired connection 1 802-3-ethernet eth0
|
||||
MyPersonalWifi 802-11-wireless wlan0
|
||||
ovpn-phx2-tcp vpn --
|
||||
```
|
||||
|
||||
Your connections are sure to differ from this example, but focus on the first column. This provides the human-readable name of your connections. In this example, I'll configure my Ethernet connection, but the process is the same for a wireless connection.
|
||||
|
||||
2. Now that you know the name of the connection you need to modify, use `nmcli` to update its `ipv4.dns` property:
|
||||
|
||||
|
||||
```
|
||||
$ sudo nmcli con modify \
|
||||
"Wired connection 1" \
|
||||
ipv4.dns "134.195.4.2"
|
||||
```
|
||||
|
||||
In this example, `134.195.4.2` is my closest server.
|
||||
|
||||
3. Prevent Network Manager from auto-updating `/etc/resolv.conf` with what your router is set to use:
|
||||
|
||||
|
||||
```
|
||||
$ sudo nmcli con modify \
|
||||
"Wired connection 1" \
|
||||
ipv4.ignore-auto-dns yes
|
||||
```
|
||||
|
||||
4. Bring your network connection down and then up again to instantiate the new settings:
|
||||
|
||||
|
||||
```
|
||||
$ sudo nmcli con down \
|
||||
"Wired connection 1"
|
||||
$ sudo nmcli con up \
|
||||
"Wired connection 1"
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
That's it. You're now using the OpenNIC DNS servers.
|
||||
|
||||
#### DNS at your router
|
||||
|
||||
You can set your entire network to use OpenNIC by making this change to your router. You won't have to configure your computer's connection because the router will provide the correct DNS server automatically. I can't demonstrate this because router interfaces differ depending on the manufacturer. Furthermore, some internet service providers (ISP) don't allow you to modify your name server settings, so this isn't always an option.
|
||||
|
||||
### Test OpenNIC
|
||||
|
||||
To explore the "other" internet you've unlocked, try navigating to `grep.geek` in your browser. If you enter `http://grep.geek`, then your browser takes you to a search engine for OpenNIC. If you enter just `grep.geek`, then your browser interferes, taking you to your default search engine (such as [Searx][8] or [YaCy][9]), with an offer at the top of the window to navigate to the page you requested in the first place.
|
||||
|
||||
![OpenNIC][10]
|
||||
|
||||
(Klaatu, [CC BY-SA 4.0][11])
|
||||
|
||||
Either way, you end up at `grep.geek` and can now search the OpenNIC version of the web.
|
||||
|
||||
### Great wide open
|
||||
|
||||
The internet is meant to be a place of exploration, discovery, and equal access. OpenNIC helps ensure all of these things using existing infrastructure and technology. It's an opt-in internet alternative. If these ideas appeal to you, give it a try!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/4/opennic-internet
|
||||
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/LAW-Internet_construction_9401467_520x292_0512_dc.png?itok=RPkPPtDe (An intersection of pipes.)
|
||||
[2]: https://tools.ietf.org/html/rfc791
|
||||
[3]: https://tools.ietf.org/html/rfc1035
|
||||
[4]: https://www.icann.org/resources/pages/register-domain-name-2017-06-20-en
|
||||
[5]: http://opennic.org
|
||||
[6]: https://opensource.com/article/20/7/nmcli
|
||||
[7]: https://opensource.com/article/17/9/what-edge-computing
|
||||
[8]: http://searx.me
|
||||
[9]: https://opensource.com/article/20/2/open-source-search-engine
|
||||
[10]: https://opensource.com/sites/default/files/uploads/did-you-mean.jpg (OpenNIC)
|
||||
[11]: https://creativecommons.org/licenses/by-sa/4.0/
|
@ -0,0 +1,155 @@
|
||||
[#]: subject: (Access an alternate internet with OpenNIC)
|
||||
[#]: via: (https://opensource.com/article/21/4/opennic-internet)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
||||
用 OpenNIC 访问另一个互联网
|
||||
======
|
||||
在超级信息高速公路上绕行。
|
||||
![An intersection of pipes.][1]
|
||||
|
||||
用传奇的 DNS 黑客 Dan Kaminsky 的话说,"事实证明,互联网对全球社会来说是一个相当大的问题"。为了使互联网发挥作用,计算机必须能够在最复杂的网络中找到彼此:万维网。这是几十年前向政府工作人员和学术界 IT 人员提出的问题,我们今天使用的正是他们的解决方案。然而,他们实际上并不是在寻求建立_互联网_,他们是在为_互联网_(实际上是为 _catenets_,或“连接的网络”,但这个术语最终不再流行)定义规范,它是一个_互连网络_的通用术语。
|
||||
|
||||
根据这些规范,网络使用数字组合,作为每台在线计算机的一种家庭地址,并为每个网站分配一个人性化但高度结构化的“主机名”(如 `example.com`)。由于用户主要是通过网站_名称_与互联网互动,可以说互联网的运作只是因为我们都同意一个标准化的命名方案。如果有足够多的人决定使用不同的命名方案,互联网的工作方式_可能_会有所不同。一群用户可以形成一个平行的互联网,它使用相同的物理基础设施(电缆、卫星和其他传输方式,将数据从一个地方传送到另一个地方),但使用不同的方法将主机名与编号地址联系起来。
|
||||
|
||||
事实上,这已经存在了,这篇文章展示了你如何访问它。
|
||||
|
||||
### 了解名称服务器
|
||||
|
||||
术语“互联网”实际上是 _interconnected_(互联) 和 _networks_(网络)这两个术语的谐音,因为这正是它的本质。就像一个城市的邻里,或一个国家的城市,或一个大陆的国家,或一个星球的大陆一样,互联网通过将数据从一个家庭或办公室网络传输到数据中心和服务器房或其他家庭或办公室网络而跨越了全球。这是一项艰巨的任务,但它并非没有先例。毕竟,电话公司很久以前就把世界连接起来了,在那之前,电报和邮政服务也是这样做的。
|
||||
|
||||
在电话或邮件系统中,有一份名单,无论是正式的还是非正式的,都将人名与实际地址联系起来。这曾经是以电话簿的形式传递到家里,是该电话簿社区内每个电话所有者的目录。邮局的运作方式不同:他们通常依靠寄信人知道预定收信人的姓名和地址,但邮政编码和城市名称被用来把信送到正确的邮局。无论哪种方式,都需要有一个标准的组织方案。
|
||||
|
||||
对于计算机来说,[IP 协议][2]描述了互联网上的地址必须如何格式化。域名服务器 [(DNS) 协议][3]描述了如何将人类友好的名称分配给 IP 以及从 IP 解析。无论你使用的是 IPv4 还是 IPv6,想法都是一样的:当一个节点(可能是一台计算机或通往另一个网络的网关)加入一个网络时,它被分配一个 IP 地址。
|
||||
|
||||
如果你愿意,你可以在 [ICANN][4](一个帮助协调互联网上的网站名称的非营利组织)注册一个域名,并将该名称指向该 IP。没有要求你“拥有”该 IP 地址。任何人都可以将任何域名指向任何 IP 地址。唯一的限制是,一次只能有一个人拥有一个特定的域名,而且域名必须遵循公认的 DNS 命名方案。
|
||||
|
||||
域名及其相关 IP 地址的记录被输入到 DNS 中。当你在浏览器中导航到一个网站时,它会迅速查询 DNS 网络,以找到与你所输入的任何 URL(或从搜索引擎点击)相关的 IP 地址。
|
||||
|
||||
### 一个不同的 DNS
|
||||
|
||||
为了避免在谁拥有哪个域名的问题上发生争论,大多数域名注册商对域名注册收取一定的费用。该费用通常是象征性的,有时甚至是 0 美元(例如,`freenom.com` 提供免费的 `.tk`、`.ml`、`.gq` 和 `.cf` 域名,先到先得)。
|
||||
|
||||
在很长一段时间里,只有几个“顶级”域名,包括 `.org`、`.edu` 和 `.com`。现在有很多,包括 `.club`、`.biz`、`.name`、`.international` 等等。然而,由于字母组合的原因,有很多潜在的顶级域名是无效的,如 `.null`。如果你试图导航到一个以 `.null`结尾的网站,那么你不会成功。它不能注册,也不是域名服务器的有效条目,而且它根本就不存在。
|
||||
|
||||
[OpenNIC项目][5] 已经建立了一个备用的 DNS 网络,将域名解析为 IP 地址,但它包括目前互联网不使用的名字。可用的顶级域名包括:
|
||||
|
||||
|
||||
* .geek
|
||||
* .indy
|
||||
* .bbs
|
||||
* .gopher
|
||||
* .o
|
||||
* .libre
|
||||
* .oss
|
||||
* .dyn
|
||||
* .null
|
||||
|
||||
|
||||
|
||||
你可以在这些(以及更多的)顶级域名中注册一个域名,并在 OpenNIC 的 DNS 系统上注册,使它们映射到你选择的 IP 地址。
|
||||
|
||||
换句话说,一个网站可能存在于 OpenNIC 网络中,但对于不使用 OpenNIC 名称服务器的人来说,仍然无法访问。这绝不是一种安全措施,甚至不是一种混淆手段。这只是一种有意识的选择,在_超级信息高速公路上绕行_。
|
||||
|
||||
### 如何使用 OpenNIC 的 DNS 服务器
|
||||
|
||||
要访问 OpenNIC 网站,你必须配置你的计算机使用 OpenNIC 的 DNS 服务器。幸运的是,这并不是一个二元选择。通过使用一个 OpenNIC 的 DNS 服务器,你可以同时访问 OpenNIC 和标准网络。
|
||||
|
||||
要配置你的 Linux 电脑使用 OpenNIC 的 DNS 服务器,你可以使用 [nmcli][6] 命令,这是 Network Manager 的一个终端界面。在开始配置之前,请访问 [opennic.org][5],寻找离你最近的 OpenNIC DNS 服务器。与标准 DNS 和[边缘计算][7]一样,服务器在地理上离你越近,你的浏览器查询时的延迟就越少。
|
||||
|
||||
下面是如何使用 OpenNIC:
|
||||
|
||||
1. 首先,获得一个连接列表:
|
||||
|
||||
|
||||
```
|
||||
$ sudo nmcli connection
|
||||
NAME TYPE DEVICE
|
||||
Wired connection 1 802-3-ethernet eth0
|
||||
MyPersonalWifi 802-11-wireless wlan0
|
||||
ovpn-phx2-tcp vpn --
|
||||
```
|
||||
|
||||
你的连接肯定与这个例子不同,但要关注第一栏。这提供了你的连接的可读名称。在这个例子中,我将配置我的以太网连接,但这个过程对无线连接是一样的。
|
||||
|
||||
2. 现在你知道了需要修改的连接的名称,使用 `nmcli` 更新其 `ipv4.dns` 属性:
|
||||
|
||||
|
||||
```
|
||||
$ sudo nmcli con modify \
|
||||
"Wired connection 1" \
|
||||
ipv4.dns "134.195.4.2"
|
||||
```
|
||||
|
||||
在这个例子中,`134.195.4.2` 是离我最近的服务器。
|
||||
|
||||
3. 防止 Network Manager 使用你路由器设置的内容自动更新 `/etc/resolv.conf`:
|
||||
|
||||
|
||||
```
|
||||
$ sudo nmcli con modify \
|
||||
"Wired connection 1" \
|
||||
ipv4.ignore-auto-dns yes
|
||||
```
|
||||
|
||||
4. 将你的网络连接关闭,然后再次启动,以实例化新的设置:
|
||||
|
||||
|
||||
```
|
||||
$ sudo nmcli con down \
|
||||
"Wired connection 1"
|
||||
$ sudo nmcli con up \
|
||||
"Wired connection 1"
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
完成了。你现在正在使用 OpenNIC 的 DNS 服务器。
|
||||
|
||||
#### 路由器上的 DNS
|
||||
|
||||
你可以通过对你的路由器做这样的修改,将你的整个网络设置为使用 OpenNIC。你将不必配置你的计算机的连接,因为路由器将自动提供正确的 DNS 服务器。我无法演示这个,因为路由器的接口因制造商而异。此外,一些互联网服务提供商 (ISP) 不允许你修改名称服务器的设置,所以这并不总是一种选择。
|
||||
|
||||
### 测试 OpenNIC
|
||||
|
||||
为了探索你所解锁的”其他“互联网,尝试在你的浏览器中导航到 `grep.geek`。如果你输入 `http://grep.geek`,那么你的浏览器就会带你到 OpenNIC 的搜索引擎。如果你只输入 `grep.geek`,那么你的浏览器就会受到干扰,把你带到你的默认搜索引擎(如 [Searx][8] 或 [YaCy][9]),并在窗口的顶部提供一个导航到你首先请求的页面。
|
||||
|
||||
![OpenNIC][10]
|
||||
|
||||
(Klaatu, [CC BY-SA 4.0][11])
|
||||
|
||||
不管怎么说,你最终还是来到了 `grep.geek`,现在可以在网上搜索 OpenNIC 的版本了。
|
||||
|
||||
### 广阔天地
|
||||
|
||||
互联网旨在成为一个探索、发现和平等访问的地方。OpenNIC 利用现有的基础设施和技术帮助确保这些东西。它是一个可选择的互联网替代方案。如果这些想法吸引了你,那就试一试吧!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/21/4/opennic-internet
|
||||
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/LAW-Internet_construction_9401467_520x292_0512_dc.png?itok=RPkPPtDe (An intersection of pipes.)
|
||||
[2]: https://tools.ietf.org/html/rfc791
|
||||
[3]: https://tools.ietf.org/html/rfc1035
|
||||
[4]: https://www.icann.org/resources/pages/register-domain-name-2017-06-20-en
|
||||
[5]: http://opennic.org
|
||||
[6]: https://opensource.com/article/20/7/nmcli
|
||||
[7]: https://opensource.com/article/17/9/what-edge-computing
|
||||
[8]: http://searx.me
|
||||
[9]: https://opensource.com/article/20/2/open-source-search-engine
|
||||
[10]: https://opensource.com/sites/default/files/uploads/did-you-mean.jpg (OpenNIC)
|
||||
[11]: https://creativecommons.org/licenses/by-sa/4.0/
|
Loading…
Reference in New Issue
Block a user