您可以使用linuxip命令动态配置IP地址、网络接口和路由规则。我们将向您展示如何使用这个经典(现在已弃用)ifconfig的现代替代品。
使用ip命令,可以调整Linux计算机处理ip地址、网络接口控制器(nic)和路由规则的方式。更改也会立即生效,您无需重新启动。ip命令可以做的远不止这些,但我们将在本文中重点介绍最常见的用法。
ip命令有许多子命令,每个子命令都用于对象类型,例如ip地址和路由。反过来,这些对象中的每个对象都有许多选项。正是这种功能的丰富性,使ip命令具有执行可能是精细任务所需的粒度。这不是斧头工作,它需要一套手术刀。
我们将查看以下对象:
显然,你首先要知道你正在处理的设置。要发现您的计算机有哪些IP地址,请将IP命令与对象地址一起使用。默认操作是show,它列出IP地址。您也可以省略show,并将address缩写为“addr”甚至“a”
以下命令都是等效的:
ip address show ip addr show ip addr ip a我们看到两个IP地址,还有很多其他信息。IP地址与网络接口控制器(NIC)相关联。ip命令试图提供帮助,并提供了一系列关于接口的信息。
第一个IP地址是用于在计算机内通信的(内部)环回地址。第二个是计算机在局域网(LAN)上的实际(外部)IP地址。
让我们把收到的所有信息分类:
物理接口更有趣,如下所示:
如果要将输出限制为IP版本4地址,可以使用-4选项,如下所示:
ip -4 addr如果要将输出限制为IP版本6地址,可以使用-6选项,如下所示:
ip -6 addr如果要查看单个接口的IP地址信息,可以使用show和dev选项,并命名接口,如下所示:
ip addr show dev lo ip addr show dev enp0s3您还可以使用-4或-6标志来进一步细化输出,以便只看到您感兴趣的内容。
如果您想查看与接口enp0s3上的地址相关的IP版本4信息,请键入以下命令:
ip -4 addr show dev enp0s3您可以使用add和dev选项将IP地址添加到接口。您只需告诉ip命令要添加哪个ip地址,以及要添加到哪个接口。
我们将把IP地址192.168.4.44添加到enp0s3接口。我们还必须为子网掩码提供CIDR符号。
我们键入以下内容:
sudo ip addr add 192.168.4.44/24 dev enp0s3我们键入以下内容来再次查看此接口上的IP版本4 IP地址:
ip -4 addr show dev enp0s3此网络接口上存在新的IP地址。我们跳到另一台计算机上,使用以下命令查看是否可以ping新的IP地址:
ping 192.168.4.44IP地址响应并向ping发回确认。我们的新IP地址在一个简单的IP命令后就启动并运行了。
要删除IP地址,除了用del替换add外,命令与add-one几乎相同,如下所示:
sudo ip addr del 192.168.4.44/24 dev enp0s3如果键入以下内容进行检查,则会看到新的IP地址已被删除:
ip -4 addr show dev enp0s3您可以使用link对象来检查和处理网络接口。键入以下命令以查看计算机上安装的接口:
ip link show要查看单个网络接口,只需将其名称添加到命令中,如下所示:
ip link show enp0s3您可以将set选项与up或down一起使用来停止或启动网络接口选项。您还必须使用sudo,如下所示:
sudo ip link set enp0s3 down我们键入以下内容查看网络接口:
ip link show enp0s3网络接口的状态为关闭。我们可以使用up选项重新启动网络接口,如下所示:
sudo ip link set enp0s3 up我们键入以下内容以对网络接口的状态进行另一次快速检查:
ip link show enp0s3网络接口已重新启动,状态显示为UP。
使用route对象,可以检查和操纵管线。路由定义将网络流量转发到不同IP地址的位置,以及通过哪个网络接口。
如果目标计算机或设备与发送计算机共享网络,则发送计算机可以将数据包直接转发给它。
但是,如果目的地设备没有直接连接,则发送计算机将数据包转发到默认路由器。然后路由器决定将数据包发送到哪里。
要查看计算机上定义的路由,请键入以下命令:
ip route让我们看看我们收到的信息:
第二条路由控制IP范围169.254.0.0/16的流量。这是一个零配置网络,这意味着它试图为内部网通信进行自我配置。但是,不能使用它在直接网络之外发送数据包。
零配置网络背后的原理是它们不依赖于DHCP和其他服务的存在和活动。他们只需要查看TCP/IP,就可以对网络上的每个其他设备进行自我识别。
我们来看看:
第三条路由控制到192.168.4.0/24的IP地址范围的流量。这是此计算机连接到的本地网络的IP地址范围。它是为了在网络中进行交流。
我们来分解一下:
如果要关注特定路由的详细信息,可以按如下所示将列表选项和路由的IP地址范围添加到命令中:
ip route list 192.168.4.0/24我们刚给这台计算机加了一张新的网络接口卡。我们键入以下内容并看到它显示为enp0s8:
ip link show我们将向计算机添加一个新路由以使用此新接口。首先,我们键入以下内容以将IP地址与接口相关联:
sudo ip addr add 192.168.121.1/24 dev enp0s8将使用现有IP地址的默认路由添加到新接口。我们使用delete选项(如下所示)删除路由并提供其详细信息:
sudo ip route delete default via 192.168.4.1 dev enp0s8我们现在将使用add选项添加新路由。新接口将处理192.168.121.0/24 IP地址范围内的网络流量。我们将给它一个100的度量值;因为它将是处理此流量的唯一路由,所以这个度量值非常学术。
我们键入以下内容:
sudo ip route add 192.168.121.0/24 dev enp0s8 metric 100现在,我们键入以下内容以查看它提供了什么:
ip route我们的新路线现在就位了。但是,我们仍然有指向接口enp0s8的192.168.4.0/24路由。我们键入以下内容将其删除:
sudo ip route delete 192.168.4.0/24 dev enp0s8我们现在应该有一个新的路由,通过接口enp0s8指向IP范围192.168.121.0/24的所有通信量。它也应该是使用新接口的唯一路由。
我们键入以下内容以确认:
ip route这些命令的优点是它们不是永久的。如果你想清除它们,只要重新启动你的系统。这意味着你可以对它们进行实验,直到它们按你想要的方式工作。如果你把你的系统搞得一团糟,这是一件非常好的事情——简单的重启就能恢复秩序。
另一方面,如果你想改变是永久的,你必须做更多的工作。确切地说,什么会因发行版系列而异,但它们都涉及到更改配置文件。
不过,通过这种方式,您可以在使任何内容永久化之前测试驱动命令。
...。它之所以成为远程服务器管理的首选是有原因的。学习如何通过SSH远程管理Linux服务器,从连接到安装软件和文件传输。 ...
...置是默认值。现在,让我们看看SSH监狱的设置。 相关:如何使用gedit在Linux上以图形方式编辑文本文件 配置监狱 监狱可以让你在fail2ban的监控中进出连接类型。如果默认设置与要应用于监狱的设置不匹配,可以为bantime、findtime和...
...想知道,当我们在浏览器中键入网站名称时,这种神奇是如何发生的。通过dig,你可以探索网络变戏法的过程。
...动态配置IP地址、网络接口和路由规则。我们将向您展示如何使用这个经典(现在已弃用)ifconfig的现代替代品。 ip命令的工作原理 使用ip命令,可以调整Linux计算机处理ip地址、网络接口控制器(nic)和路由规则的方式。更改...
...本地网络上的DrayTek Vigor路由器。这就是我们的UDP数据包如何离开本地网络并进入互联网的方式。 跃点2:此设备没有响应。也许它被配置为从不发送ICMP数据包。或者,也许它确实响应了,但是太慢了,所以traceroute超时了。 hop3:...
...安全的例子,通过默默无闻,这一概念是根本上的缺陷。如何访问系统的秘密是安全的,因为只有特定组中的人知道它。但是一旦这个秘密被泄露,或者因为它被揭露,被观察,被猜测,或者被解决了,你的安全就无效了。最好...
...管是什么原因,如果你被迫或只是喜欢使用手指,这里是如何安装和使用它。 相关:如何在Linux上使用pinky命令 安装手指 您可以使用以下命令在Ubuntu上安装finger: sudo apt-get install finger 要在Fedora上安装finger,请使用以下命令:...