如何在linux上使用ip命令

您可以使用linuxip命令动态配置IP地址、网络接口和路由规则。我们将向您展示如何使用这个经典(现在已弃用)ifconfig的现代替代品。...

您可以使用linuxip命令动态配置IP地址、网络接口和路由规则。我们将向您展示如何使用这个经典(现在已弃用)ifconfig的现代替代品。

ip命令的工作原理

使用ip命令,可以调整Linux计算机处理ip地址、网络接口控制器(nic)和路由规则的方式。更改也会立即生效,您无需重新启动。ip命令可以做的远不止这些,但我们将在本文中重点介绍最常见的用法。

ip命令有许多子命令,每个子命令都用于对象类型,例如ip地址和路由。反过来,这些对象中的每个对象都有许多选项。正是这种功能的丰富性,使ip命令具有执行可能是精细任务所需的粒度。这不是斧头工作,它需要一套手术刀。

我们将查看以下对象:

  • 地址:IP地址和范围。
  • 链接:网络接口,如有线连接和Wi-Fi适配器。
  • 路由:管理通过接口(链接)发送到地址的流量路由的规则。

使用ip地址

显然,你首先要知道你正在处理的设置。要发现您的计算机有哪些IP地址,请将IP命令与对象地址一起使用。默认操作是show,它列出IP地址。您也可以省略show,并将address缩写为“addr”甚至“a”

以下命令都是等效的:

ip address show ip addr show ip addr ip a

如何在linux上使用ip命令

我们看到两个IP地址,还有很多其他信息。IP地址与网络接口控制器(NIC)相关联。ip命令试图提供帮助,并提供了一系列关于接口的信息。

第一个IP地址是用于在计算机内通信的(内部)环回地址。第二个是计算机在局域网(LAN)上的实际(外部)IP地址。

让我们把收到的所有信息分类:

  • lo:以字符串形式显示的网络接口名称。
  • <LOOPBACK,UP,LOWER\u UP>:这是一个环回接口。它是向上的,意味着它是可操作的。物理网络层(第一层)也在上升。
  • mtu 65536:最大传输单位。这是此接口可以传输的最大数据块的大小。
  • qdisc noqueue:qdisc是一种排队机制。它调度数据包的传输。有不同的排队技术称为规程。noqueue规程意味着“立即发送,不排队”。这是虚拟设备的默认qdisc规程,例如环回地址。
  • 状态未知:可以是“关闭”(网络接口不工作)、“未知”(网络接口工作但没有连接)或“打开”(网络工作且有连接)。
  • 组默认值:接口可以按逻辑分组。默认设置是将它们全部放在一个名为“default”的组中
  • qlen 1000:传输队列的最大长度。
  • 链路/环回:接口的媒体访问控制(MAC)地址。
  • inet 127.0.0.1/8:IP版本4地址。正斜杠(/)后面的地址部分是表示子网掩码的无类域间路由表示法(CIDR)。它表示子网掩码中有多少前导连续位被设置为1。8的值表示8位。设置为1的8位表示二进制中的255,因此子网掩码为255.0.0.0。
  • 作用域主机:IP地址作用域。此IP地址仅在计算机(“主机”)内有效。
  • lo:与这个IP地址相关联的接口。
  • valid\ lft:有效生存期。对于由动态主机配置协议(DHCP)分配的IP版本4 IP地址,这是IP地址被认为有效并能够发出和接受连接请求的时间长度。
  • 首选寿命:首选寿命。对于由DHCP分配的IP版本4 IP地址,这是可以不受限制地使用IP地址的时间量。此值不应大于有效的\u lft值。
  • inet6:IP版本6地址、作用域、有效\u lft和首选\u lft。

物理接口更有趣,如下所示:

  • enp0s3:以字符串形式显示的网络接口名称。“en”代表以太网,“p0”是以太网卡的总线号,“s3”是插槽号。
  • <BROADCAST,MULTICAST,UP,LOWER\u UP>:此接口支持广域和多播,并且接口已启动(可操作且已连接)。网络的硬件层(第一层)也在上升。
  • mtu 1500:此接口支持的最大传输单元。
  • qdisc fq\u codel:调度程序使用一种称为“公平队列,受控延迟”的规程,它的设计目的是为使用队列的所有通信流提供公平的带宽份额。
  • 状态:接口可操作且已连接。
  • 组默认:此接口在“默认”接口组中。
  • qlen 1000:传输队列的最大长度。
  • link/ether:接口的MAC地址。
  • inet 192.168.4.26/24:IP版本4地址。“/24”告诉我们在子网掩码中有24个连续的前导位设置为1。这是三组八位。八位二进制数等于255;因此,子网掩码为255.255.255.0。
  • brd 192.168.4.255:此子网的广播地址。
  • 全局范围:IP地址在网络上的任何地方都有效。
  • 动态:当接口关闭时,IP地址丢失。
  • noprefixroute:添加此IP地址时,不要在route表中创建路由。如果某人想使用具有此IP地址的路由,则必须手动添加路由。同样,如果此IP地址被删除,则不要查找要删除的路由。
  • enp0s3:与此IP地址关联的接口。
  • valid\ lft:有效生存期。IP地址被认为有效的时间;86240秒是23小时57分钟。
  • 首选寿命:首选寿命。IP地址将不受任何限制地运行的时间。
  • inet6:IP版本6地址、作用域、有效\u lft和首选\u lft。

仅显示ipv4或ipv6地址

如果要将输出限制为IP版本4地址,可以使用-4选项,如下所示:

ip -4 addr

如何在linux上使用ip命令

如果要将输出限制为IP版本6地址,可以使用-6选项,如下所示:

ip -6 addr

如何在linux上使用ip命令

显示单个界面的信息

如果要查看单个接口的IP地址信息,可以使用show和dev选项,并命名接口,如下所示:

ip addr show dev lo ip addr show dev enp0s3

如何在linux上使用ip命令

您还可以使用-4或-6标志来进一步细化输出,以便只看到您感兴趣的内容。

如果您想查看与接口enp0s3上的地址相关的IP版本4信息,请键入以下命令:

ip -4 addr show dev enp0s3

如何在linux上使用ip命令

添加ip地址

您可以使用add和dev选项将IP地址添加到接口。您只需告诉ip命令要添加哪个ip地址,以及要添加到哪个接口。

我们将把IP地址192.168.4.44添加到enp0s3接口。我们还必须为子网掩码提供CIDR符号。

我们键入以下内容:

sudo ip addr add 192.168.4.44/24 dev enp0s3

如何在linux上使用ip命令

我们键入以下内容来再次查看此接口上的IP版本4 IP地址:

ip -4 addr show dev enp0s3

如何在linux上使用ip命令

此网络接口上存在新的IP地址。我们跳到另一台计算机上,使用以下命令查看是否可以ping新的IP地址:

ping 192.168.4.44

如何在linux上使用ip命令

IP地址响应并向ping发回确认。我们的新IP地址在一个简单的IP命令后就启动并运行了。

删除ip地址

要删除IP地址,除了用del替换add外,命令与add-one几乎相同,如下所示:

sudo ip addr del 192.168.4.44/24 dev enp0s3

如何在linux上使用ip命令

如果键入以下内容进行检查,则会看到新的IP地址已被删除:

ip -4 addr show dev enp0s3

如何在linux上使用ip命令

通过网络接口使用ip

您可以使用link对象来检查和处理网络接口。键入以下命令以查看计算机上安装的接口:

ip link show

如何在linux上使用ip命令

要查看单个网络接口,只需将其名称添加到命令中,如下所示:

ip link show enp0s3

如何在linux上使用ip命令

启动和停止链接

您可以将set选项与up或down一起使用来停止或启动网络接口选项。您还必须使用sudo,如下所示:

sudo ip link set enp0s3 down

如何在linux上使用ip命令

我们键入以下内容查看网络接口:

ip link show enp0s3

如何在linux上使用ip命令

网络接口的状态为关闭。我们可以使用up选项重新启动网络接口,如下所示:

sudo ip link set enp0s3 up

如何在linux上使用ip命令

我们键入以下内容以对网络接口的状态进行另一次快速检查:

ip link show enp0s3

如何在linux上使用ip命令

网络接口已重新启动,状态显示为UP。

对路由使用ip

使用route对象,可以检查和操纵管线。路由定义将网络流量转发到不同IP地址的位置,以及通过哪个网络接口。

如果目标计算机或设备与发送计算机共享网络,则发送计算机可以将数据包直接转发给它。

但是,如果目的地设备没有直接连接,则发送计算机将数据包转发到默认路由器。然后路由器决定将数据包发送到哪里。

要查看计算机上定义的路由,请键入以下命令:

ip route

如何在linux上使用ip命令

让我们看看我们收到的信息:

  • 默认:默认规则。如果没有其他规则与发送的内容匹配,则使用此路由。
  • via 192.168.4.1:通过192.168.4.1的设备路由数据包。这是此网络上默认路由器的IP地址。
  • dev enp0s3:使用此网络接口将数据包发送到路由器。
  • proto dhcp:路由协议标识符。DHCP意味着路由将动态确定。
  • 指标100:表示路线与其他路线相比的偏好。具有较低度量的路由优先于具有较高度量的路由。您可以使用它来优先选择有线网络接口,而不是Wi-Fi接口。

第二条路由控制IP范围169.254.0.0/16的流量。这是一个零配置网络,这意味着它试图为内部网通信进行自我配置。但是,不能使用它在直接网络之外发送数据包。

零配置网络背后的原理是它们不依赖于DHCP和其他服务的存在和活动。他们只需要查看TCP/IP,就可以对网络上的每个其他设备进行自我识别。

我们来看看:

  • 169.254.0.0/16:此路由规则管辖的IP地址范围。如果计算机在此IP范围内进行通信,则此规则切入。
  • dev enp0s3:此路由所管理的流量将使用的网络接口。
  • 作用域链接:作用域是链接,这意味着作用域仅限于此计算机直接连接的网络。
  • 指标1000:这是一个高指标,不是首选路线。

第三条路由控制到192.168.4.0/24的IP地址范围的流量。这是此计算机连接到的本地网络的IP地址范围。它是为了在网络中进行交流。

我们来分解一下:

  • 192.168.4.1/24:此路由规则管辖的IP地址范围。如果计算机在此IP范围内通信,则此规则触发并控制数据包路由。
  • dev enp0s3:此路由将通过其发送数据包的接口。
  • 原始内核:在自动配置期间由内核创建的路由。
  • 作用域链接:作用域是链接,这意味着作用域仅限于此计算机所连接的即时网络。
  • src 192.168.4.26:此路由发送的数据包的IP地址。
  • 指标100:此低指标表示首选路线。

显示单个路线的信息

如果要关注特定路由的详细信息,可以按如下所示将列表选项和路由的IP地址范围添加到命令中:

ip route list 192.168.4.0/24

如何在linux上使用ip命令

添加路由

我们刚给这台计算机加了一张新的网络接口卡。我们键入以下内容并看到它显示为enp0s8:

ip link show

如何在linux上使用ip命令

我们将向计算机添加一个新路由以使用此新接口。首先,我们键入以下内容以将IP地址与接口相关联:

sudo ip addr add 192.168.121.1/24 dev enp0s8

如何在linux上使用ip命令

将使用现有IP地址的默认路由添加到新接口。我们使用delete选项(如下所示)删除路由并提供其详细信息:

sudo ip route delete default via 192.168.4.1 dev enp0s8

如何在linux上使用ip命令

我们现在将使用add选项添加新路由。新接口将处理192.168.121.0/24 IP地址范围内的网络流量。我们将给它一个100的度量值;因为它将是处理此流量的唯一路由,所以这个度量值非常学术。

我们键入以下内容:

sudo ip route add 192.168.121.0/24 dev enp0s8 metric 100

如何在linux上使用ip命令

现在,我们键入以下内容以查看它提供了什么:

ip route

如何在linux上使用ip命令

我们的新路线现在就位了。但是,我们仍然有指向接口enp0s8的192.168.4.0/24路由。我们键入以下内容将其删除:

sudo ip route delete 192.168.4.0/24 dev enp0s8

如何在linux上使用ip命令

我们现在应该有一个新的路由,通过接口enp0s8指向IP范围192.168.121.0/24的所有通信量。它也应该是使用新接口的唯一路由。

我们键入以下内容以确认:

ip route

如何在linux上使用ip命令

走了路,没有扎根

这些命令的优点是它们不是永久的。如果你想清除它们,只要重新启动你的系统。这意味着你可以对它们进行实验,直到它们按你想要的方式工作。如果你把你的系统搞得一团糟,这是一件非常好的事情——简单的重启就能恢复秩序。

另一方面,如果你想改变是永久的,你必须做更多的工作。确切地说,什么会因发行版系列而异,但它们都涉及到更改配置文件。

不过,通过这种方式,您可以在使任何内容永久化之前测试驱动命令。

  • 发表于 2021-04-02 13:48
  • 阅读 ( 180 )
  • 分类:互联网

你可能感兴趣的文章

linux终端的5个联网命令

... 对于同时运行多个命令,请看一下如何在带屏幕的Linux终端上执行多任务。 ...

  • 发布于 2021-03-13 15:30
  • 阅读 ( 212 )

如何用ssh远程管理linux服务器

...。它之所以成为远程服务器管理的首选是有原因的。学习如何通过SSH远程管理Linux服务器,从连接到安装软件和文件传输。 ...

  • 发布于 2021-03-15 17:05
  • 阅读 ( 493 )

如何在linux上管理ip地址:查找、设置和更改

... 如何查找您的ip地址和dns地址 ...

  • 发布于 2021-03-24 17:34
  • 阅读 ( 255 )

如何ping任何网站或计算机

...熟练的黑客或编码天才。在这篇短文中,我们将向您展示如何ping另一个网站。 ...

  • 发布于 2021-03-25 04:13
  • 阅读 ( 166 )

如何使用fail2ban保护您的linux服务器

...置是默认值。现在,让我们看看SSH监狱的设置。 相关:如何使用gedit在Linux上以图形方式编辑文本文件 配置监狱 监狱可以让你在fail2ban的监控中进出连接类型。如果默认设置与要应用于监狱的设置不匹配,可以为bantime、findtime和...

  • 发布于 2021-04-02 03:13
  • 阅读 ( 175 )

如何在linux上使用dig命令

...想知道,当我们在浏览器中键入网站名称时,这种神奇是如何发生的。通过dig,你可以探索网络变戏法的过程。

  • 发布于 2021-04-02 10:09
  • 阅读 ( 210 )

如何在linux上使用ip命令

...动态配置IP地址、网络接口和路由规则。我们将向您展示如何使用这个经典(现在已弃用)ifconfig的现代替代品。 ip命令的工作原理 使用ip命令,可以调整Linux计算机处理ip地址、网络接口控制器(nic)和路由规则的方式。更改...

  • 发布于 2021-04-02 13:48
  • 阅读 ( 180 )

如何在linux上使用traceroute命令

...本地网络上的DrayTek Vigor路由器。这就是我们的UDP数据包如何离开本地网络并进入互联网的方式。 跃点2:此设备没有响应。也许它被配置为从不发送ICMP数据包。或者,也许它确实响应了,但是太慢了,所以traceroute超时了。 hop3:...

  • 发布于 2021-04-02 14:17
  • 阅读 ( 131 )

如何在linux上使用端口敲打(以及为什么不应该)

...安全的例子,通过默默无闻,这一概念是根本上的缺陷。如何访问系统的秘密是安全的,因为只有特定组中的人知道它。但是一旦这个秘密被泄露,或者因为它被揭露,被观察,被猜测,或者被解决了,你的安全就无效了。最好...

  • 发布于 2021-04-03 02:18
  • 阅读 ( 148 )

linux下如何使用finger命令

...管是什么原因,如果你被迫或只是喜欢使用手指,这里是如何安装和使用它。 相关:如何在Linux上使用pinky命令 安装手指 您可以使用以下命令在Ubuntu上安装finger: sudo apt-get install finger 要在Fedora上安装finger,请使用以下命令:...

  • 发布于 2021-04-03 04:04
  • 阅读 ( 171 )
kc802390
kc802390

0 篇文章

相关推荐