use*_*739 10 networking gateway
https://wiki.debian.org/NetworkConfiguration#Bridging_without_Switching
上面的网址说,下面。但是我不清楚它们什么时候是可选的,什么时候不是。你能给我提供一些描述这一点的参考文献的链接吗?谢谢。
如果您手动配置它,那么这样的事情将设置默认网关(网络、广播和网关是可选的):
auto eth0
iface eth0 inet static
address 192.0.2.7
netmask 255.255.255.0
gateway 192.0.2.254
Run Code Online (Sandbox Code Playgroud)
And*_*ers 25
注意!我不讨论像 NetworkManager 那样设置网络的其他方法。/etc/network/interfacesNM 未触及中提到的任何设备
为了能够通过 IP 网络(IPv4 和 IPv6)进行通信,计算机必须知道它拥有的 IP 地址。因此,因此address需要指令来告诉计算机。
当计算机想要与另一台计算机通话时,它会使用其他计算机的 IP 地址来检查该计算机是否在同一网络 LAN 中。如果是这样,计算机可以直接与另一台计算机通信。
那么计算机如何知道它何时与同一局域网中的计算机通信呢?通过使用网络netmask,其中地址的网络部分设置为 1,主机部分设置为 0。因此,通过在 IP 地址中的每一位和网络掩码之间进行按位 AND 运算,我们将获得 IP 地址的网络地址,其中主机部分为零。因此,如果我们在计算机 IP 地址和其他计算机 IP 地址上执行此操作,我们将获得每个网络地址。如果它们相等,则意味着计算机在同一网络中并且可以直接相互通信。
如果网络地址不相等,则它们位于不同的 LAN 上,无法直接相互通信。然后计算机需要使用连接到其他局域网的特殊计算机。那台计算机是路由器(也可以有防火墙和 NAT)。所以当计算机想要与局域网外的其他计算机通信时,它需要知道该gateway指令设置的那台计算机的地址。如果另一个接口已经设置了一个gateway值,则您不会也不应该为此接口设置另一个网关指令。该gateway指令为计算机设置默认路由,因此每台机器上只需要一个用于 IPv4 的路由和一个用于 IPv6 的路由。可以使用network指令手动设置此网络地址。
有时计算机想与局域网中的所有计算机通信,它使用广播地址。该地址由同一局域网中的所有计算机侦听。这与网络地址基本相同,除了主机部分不是全零而是全是 1。该广播地址由broadcast接口中的指令设置。
接口network地址只需要计算一次,并且通常根据该地址address和netmask指令正确计算。与broadcast地址相同。所以你不需要设置它们。事实上,如果您将其中一个或两个设置为错误的值,您可能会失去与 Internet 和 LAN 中其他计算机的连接。所以除非你对它们有一些奇怪的值,让计算机为你计算它们。
因此,/etc/network/interfaces对于eth1专用网络中的设备,最小静态设置或节可能如下所示:
iface eth1 static inet
address 192.168.44.10
netmask 255.255.255.0
gateway 192.168.44.1
Run Code Online (Sandbox Code Playgroud)
域名用于在易于人类阅读和记住的域名和计算机不太容易记住的IP地址之间进行转换,如上所述。这称为名称解析。
这通常由文件/etc/nsswitc.conf和以hosts:. 如果您要求计算机连接到计算机my.example.com,它会查看此文件并尝试从名称中解析 IP 地址my.example.com。这个文件实际上并没有回答“my.example.com 有哪个 IP”这个问题,它只是告诉计算机它可以在哪里找到答案。
通常它/etc/hosts首先尝试静态本地名称的文件,然后mDNS是动态本地名称的avahi ,然后是 DNS 域名解析器以从 Internet 获取名称。
如果其中一些问题在回答您的问题时很慢,则可能是计算机卡住了一段时间。因此,如果您收到此信息,请先检查名称解析。
因此,添加静态地址您只需将其添加到您的/etc/hosts文件中即可。顺便说一下,如果您有一个静态地址,您可能应该将您机器的 IP 地址更改为您的 IP 地址,而不是默认地址127.0.1.1(在 localhost 所在的 localnet 网络中127.0.0.1)。这仅适用于客户端而不适用于服务器。
您从带有avahi软件包的Linux 机器和从 Apple 机器(以及带有 iTunes 的 MS Windows?)获得的动态地址。这是由“魔法”处理的,您不需要修复它。
DNS 用于访问互联网,您需要告诉计算机您要使用的那些 DNS 服务器在哪里,要使用的 IP 地址以及您的默认 DNS 域是什么。
这是在文件中完成的/etc/resolv.conf,可以静态设置。这在我们不是那么静态的世界中效果不佳,因此通常您安装了一个名为的包resolvconf。这让您可以在/e/n/interfaces文件中设置这些设置。
因此,如果我们假设我们要添加 Google 的 DNS 服务器之一,8.8.8.8以及您的 ISP 的 DNS 服务器192.0.2.1,以及您的域my.example.org域作为默认值,您只需编辑该/etc/network/interfaces文件并在静态设备的节中添加这两行。
dns-nameservers 8.8.8.8 192.0.2.10
dns-search my.example.org
Run Code Online (Sandbox Code Playgroud)
您可能还会注意到 DNS 解析器最多只使用三个 DNS 服务器。请在 的man-page 中查找resolv.conf。通常,您可以使用命令man nsswitch.conf, man resolv.confandman resolvconf获取更多信息。
另请注意,我使用域 example.com 和 example.org 以及 IP 网络 192.0.2.0/24 作为 ISP 示例 DNS 服务器。这些是明确定义用于示例中的。请参阅http://example.com/或http://tools.ietf.org/html/rfc2606和 rfc5735
然后你如何检查它是否有效?
您可以通过多种方式做到这一点,但我通常使用
getent hosts my.test.com
Run Code Online (Sandbox Code Playgroud)
测试名称解析的整个设置。如果我只想检查 DNS 是否有效,我使用以下命令之一:
host my.test.com
dig my.test.com
Run Code Online (Sandbox Code Playgroud)
但请记住,那些仅通过/etc/resolv.conf文件中的设置来测试 DNS ,而不是/etc/nsswitch.conf部分。它可能是您想要的,也可能不是。
| 归档时间: |
|
| 查看次数: |
44828 次 |
| 最近记录: |