即使不是极客,也可能听说过“ TCP / IP ”,但是每个人都知道它是什么或如何在Linux服务器使用命令行 上对其进行配置吗?
这有助于首先定义基本术语。至少,它允许您开发一个框架以在此基础上加深理解。 TCP / IP也不例外。
有关术语的本部分不是详尽列表。它将为您提供基础,让您开始了解网络以及如何在Linux上配置TCP / IP文件。
* Nix World
您是否想知道* nix是什么意思?怎么样Unix和Linux相关 (更不用说每个版本的所有版本了)?
* nix是使用通配符(星号)引用Linux和/或Unix(或任何发行版)的方法。
* Nix是在1960年代后期开发的。 AT&T贝尔实验室大约在同一时间开发了Unix。通过各种迭代和开发,Linux也诞生了。
In_content_1 all:[300x250] / dfp:[640x360]->这些并行创新的结果是,一旦您学会了如何通过命令行在一台服务器上执行安装,您就会学到一种可能与各种Unix或Linux上的许多其他任务兼容的技能。服务器。
手册页–触手可及的信息
与Google一样,Linux拥有自己的搜索和研究工具集,可让用户找到他们所需的资源需要。这些资源称为“手册页”。登录Linux服务器(或基于Linux的操作系统)后,可以打开命令行应用程序,然后输入要研究的内容,例如在交互式文档文件中输入搜索词。
如果选择要研究的主题,例如Linux实用程序,工具守护程序,脚本 ,则可以通过键入“ man”然后输入单词来查找。您将在本文的后面部分学习如何操作。
手册页易于使用。只需输入几个单词,Linux操作系统就会开始将信息返回给您。如果没有特定主题的手册页,Linux会告诉您。
在大多数情况下,手册页对于显示它们的软件版本而言是相当准确的。例如,如果您已登录使用10年的Linux服务器,则手册页将显示与该版本(和年龄)相关的信息。
手册页易于使用且准确,但是其中有一个注意事项。让我们通过图像说明这些警告。
在下面的图像中,ARP手册页指示ARP已过时(在“注释”部分下),而应查找ip neigh。用这种表示法看来,可能要键入“ man ip neigh”来访问有关替换工具/协议的信息。
但是,键入“ man ip neigh”不会在手册页中查找“ ip neigh”。相反,它将查找两个手册页,一个用于“ ip”,另一个用于“ neigh”。
如果键入“ man ip neigh”确实会得到一个手册页,但是除非您密切关注,否则您可能会错过它实际上并不是您想要的内容。
您可以添加破折号(即使引用替换工具时手册页中没有显示破折号)…因此,如果添加破折号并键入“ man ip-neigh”也可以很好,但也不正确。
您可以尝试输入“ man ip-neighbour”(注意英式拼写)。键入该特定短语时,您会看到用于替换ARP手册页(或替换ARP协议)的正确手册页。底线是:如果找不到所需的内容,请尝试使用不同的组合,直到获得所需的手册页。
例如,尝试查找手册页nslookup工具。您可以通过键入“ man nslookup”来执行此操作。完成此操作后,您会看到一个手册页,其外观类似于下面的图片/屏幕截图。您将了解有关nslookup工具的全部知识。
手册页在屏幕上弹出后,您可以向下滚动,阅读,应用,测试甚至关闭手册页(通过输入字母“ q”并自动关闭手册页)。
如果您请求的手册页不存在,Linux将为您提供反馈,指出该手册没有条目
IPv4和IPv6
IPv4和IPv6在技术上是相同的,但它们不会出现对我们人类来说也是一样。它们是识别局域网(LAN)上的机器或设备的一种方法。它们在标识局域网中设备的方式上是私有的。
IPv4使用以点/句点分隔的数字。我们大多数人都熟悉使用IPv4格式连接到专用网络的计算机所看到的IP地址类型。
网络上的计算机也具有IPv6地址,但看起来却有所不同。 IPv6由用冒号(:)分隔的字母数字字符组成。
那么IPv4和IPv6有什么区别?可以将其视为网络名称。一个就像名字,另一个就像姓。这两个名称都指向同一个人(或在本例中为计算机)。正如我们通常使用的姓氏和姓氏不同,IPv4“名称”将与IPv6“名称”不同,即使它们都指向同一台计算机。
Carla Schroeder编写了易于阅读的关于IPv4和IPv6的有用的文章 。
Linux服务器上的Root Access(以及su和sudo)
对于许多需要完成的任务,需要root用户访问权限(即管理员或超级用户)。这是因为其中许多实用程序和应用程序足够敏感,因此出于安全原因受到限制。
以root用户身份登录或触发超级用户访问(su)的另一种解决方案是在命令前添加“ sudo”,告诉Linux机器该特定命令需要以superuser / root用户身份运行,但是后续命令则不会(除非也以“ sudo”指令开头)。
在使用“ sudo”并将其添加到命令之前的情况下,Linux将请求su密码以验证超级用户身份和权限。
网络协议
在讨论Linux时要考虑许多不同的协议。本文主要介绍的两个协议是TCP和IP。
传输控制协议(TCP)
传输控制协议,通常称为TCP是一种用于传输数据包的协议,正如其名称所描述的那样。
有关各种工具的说明,请参见下文,其中包括名为Traffic Control(tc )。
TCP指导Linux操作系统如何将数据包从一个位置移动到另一个位置。它还可以控制网络流量并控制信息包的传输(例如data的文件夹从一个地方移动到另一个地方)。
这就是为什么该协议被称为传输控制协议(TCP)的原因。
Internet协议(IP)
Internet协议通常以其缩写IP来指代。
IP您可以在更广阔的区域(互联网)传输数据包。就像有一条更宽,更长,行驶更多的超级高速公路…称为互联网。 TCP控制网络中数据包的移动,而IP控制互联网中数据包的移动。
ICMP协议
ICMP支架用于Internet控制消息传递协议。尽管该协议可在大多数Linux发行版中使用,但可能并非在所有Linux发行版上都可用。从当前的Centos安装中缺少手册页就可以证明这一点。
乍一看,该特定协议似乎不是必需的,但实际上是必需的。如果数据包未正确到达目的地,则ICMP负责提供错误消息。 ICMP对于在传输(或接收)正在传输的信息包时接收状态更新至关重要。
用户图协议(UDP)
用户像传输控制协议(TCP)一样,图协议(UDP)是一种用于将信息包从一个点传输到另一个点的协议。对于TCP,作为过程/传输的一部分,要对数据包的成功传送进行验证,使其比UDP更可靠。
对于UDP,没有验证过程,因此您将不知道数据包是成功发送还是成功接收且没有错误。因此,它是一种易于使用的协议,但无法验证或无法通过身份验证。
Linux配置
Linux操作系统中有几个可用的配置文件。
例如,如果您在Linux计算机上运行Apache服务器,则Apache配置文件非常重要。这些文件使Apache Web服务器可以知道域的运行情况,更具体地说,是该服务器上托管的站点。
有时,配置文件被标记为httpd.conf。有时它被标记为apache.conf。也可以是完全不同的标签/名称。您可能会在一台服务器上的一个位置找到配置文件,而有时在另一台服务器上它们却位于完全不同的位置。
幸运的是,有一些有用的命令可以帮助您定位特定的配置文件。例如,如果存在配置文件“ httpd.conf”,则可以键入以下内容:
find / -name “httpd.conf”
The第一个单词“ find”,让Linux知道您正在使用什么命令/实用程序,在本例中为“ find”实用程序。命令行的第二个组件是“ /”,它使find实用程序知道它应该从服务器的根级别开始搜索路径。
如果要查找的是更具体的位置,您可能会有类似“ / etc”的信息让Linux知道在etc目录中启动并遵循该路径。通过提供特定的路径/位置,您可以潜在地加快此过程,因为Linux不必在多余的位置进行搜索。
“ -名称”选项让Linux在文件或目录名中知道您要查找的内容。将名称包括在引号中会很有帮助,搜索时也可以使用星号(*)作为通配符。
“ / etc”目录/路径中的一些配置文件和目录示例包括:
如果您想知道是否有任何文件,路径或实用程序已过时或过时,请使用手册页进行检查。这是一种有用的方法,可让您随时了解最新信息和更改内容。
了解Linux文件系统
在许多Linux发行版 ,可在network-scripts目录中“ etc / sysconfig”路径下找到配置文件。如果他们不在此处,则可能存在类似的位置/路径。在这种情况下存在的文件显示在下面的屏幕快照中。
如下面的屏幕快照所示,有两个配置文件。每个文件都根据其各自的接口(即ifcfg-eth0)进行标记。
配置文件前面带有“ ifcfg”,它替换了ifconfig命令 (以及成为接口文件名的一部分)。就是说,由于ifcfg与IPv6不兼容,现在也已对其进行了替换。
两个接口引用(ifcfg-eth0和ifcfg-lo )是指特定类型的接口。 Linux开发人员在这方面提供了帮助,以文件名的形式提供了定义和方向。如果接口以“ eth0”结尾,则它是通过“以太网”连接或具有以太网功能的接口。
使用字母“ eth”为您指明正确的方向。 “ eth”后面的数字表示设备的编号。因此,下一个以太网设备可能类似于“ ifcfg-eth1”等等。
以“ lo”结尾的文件名是指“环回”接口。也称为“ 本地主机 ”。这是一种网络连接,从技术上讲并不是真正的网络连接。它仅允许进程在设备上进行通信,而无需通过网络进行通信。考虑此特定接口时,请考虑“虚拟”。
所有Linux发行版均具有回送功能(或localhost),并且通常默认情况下设置为一个。他们使用以“ -lo”结尾的接口。本地主机的IP地址通常是127.0.0.1。在许多情况下,环回虚拟接口可用于测试连接并排除其他潜在的网络问题。
文件
有多种方法可以编辑配置文件(以及查看它们)。一种方法是使用通过命令“ vi”和文件名访问的“ vi编辑器”。在这种情况下,当键入“ vi ifcfg-eth0”(不带引号)时,他们便可以查看该特定接口(eth0)的网络信息。
,最好以传统方式进行操作,并遵循ifcfg手册页中的网络配置说明。
对于非技术人员而言,这也可能更容易。使用vi编辑器确实需要注意细节,因此,如果您是注重细节的(或者您已经是程序员或系统管理员),在使用Linux配置文件时,vi编辑器可能是最佳的解决方案。
在访问手册页时,我们可以查看有关替换了ifconfig脚本的ifcfg脚本的信息(如上面的手册页屏幕截图所示)。另外,当查看Linux发行版中的接口列表时,我们会注意到ifup和ifdown命令。那些也可以在其手册页中进行查看。
手册页的屏幕截图如下图所示。正如您将在手册页中看到的那样,可以在Linux上的TCP / IP文件的设置和配置中查阅(和修改)其他Linux配置文件(以及获取这些文件的路径)。
如果使用诸如vi编辑器之类的命令行文本编辑器来查看配置文件,则会注意到一些已定义的选项。例如,在查看网络接口时,您可能会看到所有大写字母的单词,然后是等号(=),然后是另一个单词。
例如,可能有一个指令“ ONBOOT”,并且可能会说“ ONBOOT = yes”作为配置选项的示例。还有其他几个配置点和选项。例如,另一个是NETMASK。
如果看到配置指令“ NETWORKING”,则应在其后跟一个“是”。如果后面接“否”,则可能是一个问题,因为那表明未激活网络接口以进行联网。
以下是纠正上述情况的分步过程:
类型:cp ifcfg-eth0 ifcfg-eth0_20200101
然后在下一行中,输入:mv ifcfg-eth0_20200101 / home / mydirectory / ifcfg- eth0_20200101
这会将您刚刚制作的文件副本移动到要用于备份的目录中。
vi ifcfg-eth0
之后,该文件将在终端/命令应用程序(类似于触发手册页的方式)。
打开配置文件后,您将查找包含“ NETWORKING = no”的行。并删除该行或将其更改为“ NETWORKING = yes”。这可以通过vi编辑器中的“ cw”指令来完成。通过输入正斜杠,您将告诉vi编辑器您正在搜索某些内容。在这种情况下,您可以让编辑者知道您正在搜索“网络”,当找到“网络”时(将鼠标指向该位置),您可以使用向右箭头键移至单词“否”。
当您看到“否”一词时,请在“ n”上停下来,然后键入“ cw”,以将“否”更改为“是”。 “ cw”代表更改单词,Linux允许您将整个单词从一个单词(“否”)更改为另一个(“是”)。如果只想更改一个字母,则可以使用“ r”替换一个字母或字符。
以下屏幕截图显示了此过程。
立即关闭-r
shutdown命令告诉Linux计算机关闭。 -r选项告诉命令它不仅仅是关闭,而是重新启动并立即执行。
提示:如果您想知道计算机或服务器的时间完成重新启动后,键入“ ping”,然后键入计算机/服务器的公共IP地址(或Linux服务器上托管的站点的域名)。
通过使用ping命令,您将看到指出服务器不可“ ping通”(在重新引导期间发生),然后在服务器成功重新启动时,ping将以肯定的响应进行响应,指示重新启动成功。
以下内容以下是一些有助于说明上述列表中步骤的图像。
步骤1:
步骤2:
提示:请记住,服务器世界中没有任何事物是单一的。例如,您可以更改特定接口的配置(在本例中为eth0),但这可能只是网络上的一个接口,并且可能会受(或影响)另一台服务器。
因此,在在上面的示例中,通过重新启动服务器,它将触发网络设备也重新启动。这不是此接口的唯一选项,但是此接口将受重新启动命令的影响。
/ etc / hosts文件
/ etc / hosts 文件可能存在或不存在。如果确实存在,则可以在配置中使用或不使用它。例如,您可能有一个处理主机配置的系统,而不是直接管理文件的系统。另外,主机文件本身也有所不同。例如,IPv4和IPv6以不同的方式处理配置,如下图所示。
配置文件;位置/路径;条款;以及更多
一些其他有用的文件名和文件位置是:
在许多情况下,系统或服务器软件会自动创建配置文件。另外,如果使用DHCP,则网络配置的其他方面会即时计算,因为在这种情况下不使用静态IP地址。
在大多数Linux发行版中都使用了以下命令行(CL)命令。在已过时或已弃用的地方,列出了替换命令。
配置工具:GUI版本。命令行(CL)
为提供参考,以下三个图像显示了图形用户界面(GUI)机制来处理网络配置,包括TCP / IP。
第一个映像是Apple Mac GUI(“系统偏好设置”>“网络”),后两个映像是Windows操作系统的映像(尽管版本不同)。您可以通过屏幕快照中的Microsoft控制面板和网络连接对其进行访问。
GUI与文本编辑器的优缺点或命令行(CL)
尽管许多人由于易于使用,直观呈现和整体简洁而喜欢图形用户界面(GUI),但了解配置文件很有帮助(在这种情况下,与网络相关),以便您可以解决和纠正所有问题。
您可能想先获取GUI,但这有助于全面了解...以防万一。此外,有些操作系统不一定具有GUI(或尚未具有GUI)。
在下一部分中,我们将介绍配置文件以及如何访问它们,更新它们以及文件和实用程序的管理。
Linux命令行(CL)工具,实用程序,脚本和守护程序
有许多可用于Linux发行版的工具。同样,像其他命令一样,在不同发行版中使用这些工具的方式也有相似之处(和不同之处)。在某些情况下,工具可用,但需要先安装,安装过程通常会有所不同。
命令行工具通常被称为shell,在早期, 终端。还有其他术语,但通常来说,它是一个允许用户通过在窗口中键入命令来访问操作系统的应用程序。
让我们看几个示例。第一个来自Windows操作系统,对于Windows用户可能看起来很熟悉。通过键入CMD打开该工具(如下面的屏幕快照所示)。
第二个屏幕快照是大多数苹果计算机上预安装的名为Terminal的应用程序。
NSLookup(nslookup)
对于nslookup,ns代表nameserver 和命令的lookup部分是对信息的“查找”。因此,该工具的名称告诉我们,它将查找通常可以通过名称服务器获得的信息。
NSLookup是一个方便的工具。在这种情况下,我们将使用它来查找有关eBay的信息。为此,我们键入“ nslookup ebay.com”,并向我们提供与下图类似的信息。
该命令显示在屏幕截图的顶部(在模糊掉私人信息)。然后,该请求(nslookup )的输出如下所示,其中包含服务器(公共IP地址),特定的IP地址 等信息。