当前位置: 首页 > 科技观察

LinuxLAN路由初学者指南:第2部分

时间:2023-03-20 12:26:14 科技观察

上周我们学习了IPv4地址以及如何使用ipcalc,这是管理员不可或缺的工具,今天我们继续学习更令人兴奋的东西:LAN路由器。VirtualBox和KVM是测试路由的好工具,本文所有示例均在KVM中执行。如果您更喜欢使用物理硬件进行测试,那么您将需要三台计算机:一台充当路由器,两台代表两个不同的网络。您还需要两个以太网交换机和相应的电缆。假设此示例是有线以太网LAN。为了更加现实,我们假设有一些桥接无线接入点。当然,我不会将这些无线接入点用于任何用途。(我不会尝试所有的无线路由器,而使用移动宽带设备连接以太网LAN端口进行混合组网,因为它们需要进一步安装和设置)最简单的网段是两台计算机连接在同一个地址空间上转变。这样两台电脑就可以在没有路由器的情况下相互通信了。这就是我们常说的术语——“广播域”,意思是指一组都在同一个网络上的主机。它们可能连接到单个以太网交换机,也可能连接到多个交换机。一个广播域可以由两个不同的网络组成,这些网络通过以太网桥连接,这使得这两个网络可以作为一个网络运行。无线接入点通常桥接到有线以太网。一个广播域只有通过网络路由器连接才能与不同的广播域进行通信。简单网络以下示例中的命令并不完全有效,您所做的更改将在重新启动后消失。广播域需要路由器才能与其他广播域进行通信。我们使用两台计算机和ip命令来解释这些。我们的两台计算机是192.168.110.125和192.168.110.126,都插入同一个以太网交换机。在VirtualBox或KVM中,当您配置新网络时会自动创建一个虚拟交换机,因此当您为虚拟机分配网络时,就像插入一个交换机一样。使用ipaddrshow查看您的地址和网络接口名称。现在两台主机可以互相ping通了。现在,将不同网络的地址添加到其中一台主机:#ipaddradd192.168.120.125/24devens3您可以指定网络接口名称,在示例中它的名称是ens3。无需添加网络前缀,在本例中为/24,但显式添加也无妨。您可以使用ip命令检查您的配置。下面的示例输出为清澈其见进行了删减:$ipaddrshowens3:inet192.168.110.125/24brd192.168.110.255scopeglobaldynamicens3valid_lft875secpreferred_lft8172int8175sec120.125/24scopeglobalens3valid_lftforeverpreferred_lftforever主机你可以在192.168.120.125(ping192.168.120.125)上ping自己,这是对你的配置是否正确的基本检查。这时,第二台电脑就无法ping通那个地址了。现在我们需要对网络进行一些更改。添加第三台主机作为路由器。它采用两个虚拟网络接口并添加第二个虚拟网络。实际上,您的路由器必须使用静态IP地址,但是现在,我们可以让KVM的DHCP服务器为其分配地址,因此,您只需要两个虚拟网络:第一个网络:192.168.110.0/24第二个网络:192.168.120.0/24接下来,您的路由器必须配置为转发数据包。包转发默认是关闭的,可以使用sysctl命令查看其配置:$sysctlnet.ipv4.ip_forwardnet.ipv4.ip_forward=00表示关闭,使用以下命令开启:#echo1>/proc/sys/net/ipv4/ip_forward接下来配置你的另一台主机作为第二个网络的一部分,你可以将原来网络192.168.110.0/24中的一台主机分配到虚拟网络中的192.168.120.0/24,然后重启这两个”网络”主机,请注意它不是路由器。(或者在宿主机上重启网络服务,我又老又懒,重启服务的奇怪命令记不住了,还是重启宿主机比较好。)重启后,每台机器的地址应该是如下:主机1:192.168.110.125主机2:192.168.120.135路由器:192.168.110.126和192.168.120.136现在您可以从任何计算机到任何其他计算机自由ping它们。在使用虚拟机和各种Linux发行版执行此操作时,可能会出现一些意想不到的问题,因此有时ping有效,有时无效。不成功是件好事,这意味着您需要亲自动手并创建静态路由。首先,查看现有的路由表。主机1和主机2的路由表如下:$iprouteshowdefaultvia192.168.110.1devens3protostaticmetric100192.168.110.0/24devens3protokernelscopelinksrc192.168.110.164metric100$iprouteiashowdefault100$iprouteiashowdefault912devens3protostaticmetric100defaultvia192.168.120.1devens3protostaticmetric101169.254.0.0/16devens3scopelinkmetric1000192.168.110.0/24devens3protokernelscopelinksrc192.168.112.1160.9/192.168.110.1160.9metric24devens9protokernelscopelinksrc192.168.120.136metric100这向我们展示了KVM分配的默认路由。169.*地址是自动链接的本地地址,我们不关心它们。接下来我们看两条路由,它们指向我们的路由器。您可以有多个路由,在此示例中,我们将展示如何在主机1上添加非默认路由:#iprouteadd192.168.120.0/24via192.168.110.126devens3这意味着主机1可以通过路由器接口192.168.110.126访问192.168.110.0/24网络。看看它们是如何工作的?主机1和路由器需要连接到同一个地址空间,然后路由器转发到其他网络。以下命令删除路由:#iproutedel192.168.120.0/24在实际情况下,您不需要像这样手动配置路由器,而是使用路由器守护进程并通过DHCP进行路由器通告,但了解基本面很重要。接下来我们将学习如何配置一个易于使用的路由器守护进程来为您完成这项工作。