在这篇文章中，我们将介绍如何在 Ubuntu 服务器 22.04 上设置静态 IP 地址。强烈建议在 Linux 服务器上使用静态 IP，因为它会在重启后保持不变。静态 IP 对邮件服务器、Web 服务器和文件服务器等服务器起着重要作用。准备条件最小安装的 Ubuntu 服务器 22.04具有 sudo 管理员权限的普通用户在 Ubuntu 服务器 22.04 中，网络由 netplan 程序控制，因此我们将使用 netplan 在 Ubuntu 服务器上配置静态 IP 地址。注意：我们不能使用 nmcli 程序，因为它不是 Ubuntu 服务器上默认安装的一部分。在 Ubuntu 服务器 22.04 上设置静态 IP 地址登录到你的 Ubuntu 服务器 22.04，查找 netplan 配置文件。它位于 /etc/netplan 目录下。$ cd /etc/netplan/ $ ls -l total 4 -rw-r--r-- 1 root root 116 Oct 12 04:03 00-installer-config.yaml $ 运行以下 cat 命令以查看 00-installer-config.yaml 的内容。注意：配置文件的名称可能因你的设置而异。由于它是一个 yaml 文件，因此请确保在编辑时保持缩进和语法。$ cat 00-installer-config.yaml 输出：根据上面的输出，它说我们有 ens33 接口，它正在从 DHCP 服务器获取 IP。查看接口名称的另一种方法是通过 ip 命令。现在，要配置静态 IP 代替 DHCP，使用 vi 或 nano 编辑器编辑 netplan 配置文件并添加以下内容。$ sudo vi 00-installer-config.yaml # This is the network config written by 'subiquity' network: renderer: networkd ethernets: ens33: addresses: - 192.168.1.247/24 nameservers: addresses: [4.2.2.2, 8.8.8.8] routes: - to: default via: 192.168.1.1 version: 2 保存并关闭文件。在上面的文件中，我们使用了以下内容，ens33 为接口名称用于设置静态 IP 的地址nameservers 用于指定 DNS 服务器的 IP用于指定默认网关的路由注意：根据你的环境更改 IP 详细信息和接口名称。要是上述修改生效，请使用以下 netplan 命令应用这些更改：$ sudo netplan apply 运行以下 IP 命令查看接口上的 IP 地址：$ ip addr show ens33 要查看默认路由，请运行：$ ip route show 上述命令的输出。完美，以上命令的输出确认静态 IP 和路由配置成功。这就是这篇文章的全部内容。请在下面的评论部分发表你的问题和反馈。via: https://www.linuxtechi.com/static-ip-address-on-ubuntu-server/作者：Pradeep Kumar 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
Tornado Cash 代码在 GitHub 上重新上传美国财政部本月早些时候宣布制裁混币器 Tornado Cash，禁止美国个人或组织与 Tornado Cash 有任何交易往来。GitHub 随即下架了该代码库，删除了开发者账号。荷兰还逮捕了一名参与它的开发的开发者。本周，美国约翰霍普金斯大学计算机科学教授 Matthew Green 以教学和研究的目的在 GitHub 上重新上传了 Tornado Cash 代码。电子前哨基金会（EFF）宣布将代表 Green 教授捍卫发布源代码的权利。EFF 称美国宪法第一修正案保护了 GitHub 托管代码的权利，也保护了 Green 教授重新发布代码的权利。消息来源：EFF老王点评：这让我想起来当年 PGP 源代码以出版书籍的方式被带出美国的事情。亚马逊使用为将来保留的 IPv4 240/4 地址段称之为 E 类地址的 240/4（240.0.0.0 - 255.255.255.255）被保留供未来使用。但 IPv4 地址资源的稀缺促使 IETF 开始讨论使用这些地址空间。主要操作系统从 2008 年起就支持将 240/4 地址空间作为单播地址使用。调查发现，亚马逊等公司已经在没有和国际互联网机构协调的情况下，在其 AS 内使用 240/4 地址块。消息来源：RIPE老王点评：就算是这几亿个 IP 地址释放出来，也很快就会耗尽，所以倒不如像现在这样，当成私有地址使用好了。美科技巨头收集了大量用户数据，谷歌最多研究人员分析了谷歌、苹果、Facebook、亚马逊和 Twitter 等主要科技公司收集的用户的大量敏感数据。其中，谷歌从用户那里收集的数据最多，有 39 种。接下来是 Twitter，24 种；亚马逊，23 种；Facebook，14 种。排名最后的是苹果，它收集了 12 种。报告称，“用户没有耐心、时间或精力来发现网站存储了哪些信息，以及如何利用这些信息来获取利益。这意味着，用户通过接受隐私政策，能够让这些公司获取他们所需要的所有信息。”消息来源：Stock Apps老王点评：这些商业公司不收集用户隐私反而会是奇怪的事情，所以，现在开始比谁最过分了，不出预料，果然是广告公司谷歌拔的头筹。
开始使用现代方法配置 Linux 网络接口。在很长一段时间内，ifconfig 命令是配置网络接口的默认方法。它为 Linux 用户提供了很好的服务，但是网络很复杂，所以配置网络的命令必须健壮。ip 命令是现代系统中新的默认网络命令，在本文中，我将向你展示如何使用它。ip 命令工作在 OSI 网络栈 的两个层上：第二层（数据链路层）和第三层（网络 或 IP）层。它做了之前 net-tools 包的所有工作。安装 ipip 命令包含在 iproute2util 包中，它可能已经在你的 Linux 发行版中安装了。如果没有，你可以从发行版的仓库中进行安装。ifconfig 和 ip 使用对比ip 和 ifconfig 命令都可以用来配置网络接口，但它们做事方法不同。接下来，作为对比，我将用它们来执行一些常见的任务。查看网口和 IP 地址如果你想查看主机的 IP 地址或网络接口信息，ifconfig （不带任何参数）命令提供了一个很好的总结。$ ifconfig eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether bc:ee:7b:5e:7d:d8 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 41 bytes 5551 (5.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 41 bytes 5551 (5.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.1.1.6 netmask 255.255.255.224 broadcast 10.1.1.31 inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212 prefixlen 64 scopeid 0x0<global> inet6 fe80::8eb3:4bc0:7cbb:59e8 prefixlen 64 scopeid 0x20 ether 08:71:90:81:1e:b5 txqueuelen 1000 (Ethernet) RX packets 569459 bytes 779147444 (743.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 302882 bytes 38131213 (36.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 新的 ip 命令提供了类似的结果，但命令是 ip address show，或者简写为 ip a:$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether bc:ee:7b:5e:7d:d8 brd ff:ff:ff:ff:ff:ff 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 08:71:90:81:1e:b5 brd ff:ff:ff:ff:ff:ff inet 10.1.1.6/27 brd 10.1.1.31 scope global dynamic wlan0 valid_lft 83490sec preferred_lft 83490sec inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212/64 scope global noprefixroute dynamic valid_lft 6909sec preferred_lft 3309sec inet6 fe80::8eb3:4bc0:7cbb:59e8/64 scope link valid_lft forever preferred_lft forever 添加 IP 地址使用 ifconfig 命令添加 IP 地址命令为：$ ifconfig eth0 add 192.9.203.21 ip 类似：$ ip address add 192.9.203.21 dev eth0 ip 中的子命令可以缩短，所以下面这个命令同样有效：$ ip addr add 192.9.203.21 dev eth0 你甚至可以更短些：$ ip a add 192.9.203.21 dev eth0 移除一个 IP 地址添加 IP 地址与删除 IP 地址正好相反。使用 ifconfig，命令是：$ ifconfig eth0 del 192.9.203.21 ip 命令的语法是：$ ip a del 192.9.203.21 dev eth0 启用或禁用组播使用 ifconfig 接口来启用或禁用 组播 multicast ：# ifconfig eth0 multicast 对于 ip，使用 set 子命令与设备（dev）以及一个布尔值和 multicast 选项：# ip link set dev eth0 multicast on 启用或禁用网络每个系统管理员都熟悉“先关闭，然后打开”这个技巧来解决问题。对于网络接口来说，即打开或关闭网络。ifconfig 命令使用 up 或 down 关键字来实现：# ifconfig eth0 up 或者你可以使用一个专用命令：# ifup eth0 ip 命令使用 set 子命令将网络设置为 up 或 down 状态：# ip link set eth0 up 开启或关闭地址解析功能（ARP）使用 ifconfig，你可以通过声明它来启用：# ifconfig eth0 arp 使用 ip，你可以将 arp 属性设置为 on 或 off：# ip link set dev eth0 arp on ip 和 ipconfig 的优缺点ip 命令比 ifconfig 更通用，技术上也更有效，因为它使用的是 Netlink 套接字，而不是 ioctl 系统调用。ip 命令可能看起来比 ifconfig 更详细、更复杂，但这是它拥有更多功能的一个原因。一旦你开始使用它，你会了解它的内部逻辑（例如，使用 set 而不是看起来随意混合的声明或设置）。最后，ifconfig 已经过时了（例如，它缺乏对网络命名空间的支持），而 ip 是为现代网络而生的。尝试并学习它，使用它，你会由衷高兴的！via: https://opensource.com/article/21/1/ifconfig-ip-linux作者：Rajan Bhardwaj 选题：lujun9972 译者：MjSeven 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
默认情况下，在设置服务器时你会配置主网络接口。这是每个人所做的构建工作的一部分。有时出于各种原因，你可能需要配置额外的网络接口。这可以是通过网络 绑定 bonding / 协作 teaming 来提供高可用性，也可以是用于应用需求或备份的单独接口。 为此，你需要知道计算机有多少接口以及它们的速度来配置它们。有许多命令可检查可用的网络接口，但是我们仅使用 ip 命令。以后，我们会另外写一篇文章来全部介绍这些工具。在本教程中，我们将向你显示可用网络网卡（NIC）信息，例如接口名称、关联的 IP 地址、MAC 地址和接口速度。什么是 ip 命令ip 命令 类似于 ifconfig, 用于分配静态 IP 地址、路由和默认网关等。# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether fa:16:3e:a0:7d:5a brd ff:ff:ff:ff:ff:ff inet 192.168.1.101/24 brd 192.168.1.101 scope global eth0 inet6 fe80::f816:3eff:fea0:7d5a/64 scope link valid_lft forever preferred_lft forever什么是 ethtool 命令ethtool 用于查询或控制网络驱动或硬件设置。# ethtool eth01）如何在 Linux 上使用 ip 命令检查可用的网络接口在不带任何参数的情况下运行 ip 命令时，它会提供大量信息，但是，如果仅需要可用的网络接口，请使用以下定制的 ip 命令。# ip a |awk '/state UP/{print $2}' eth0: eth1:2）如何在 Linux 上使用 ip 命令检查网络接口的 IP 地址如果只想查看 IP 地址分配给了哪个接口，请使用以下定制的 ip 命令。# ip -o a show | cut -d ' ' -f 2,7 或 ip a |grep -i inet | awk '{print $7, $2}' lo 127.0.0.1/8 192.168.1.101/24 192.168.1.102/243）如何在 Linux 上使用 ip 命令检查网卡的 MAC 地址如果只想查看网络接口名称和相应的 MAC 地址，请使用以下格式。检查特定的网络接口的 MAC 地址：# ip link show dev eth0 |awk '/link/{print $2}' 00:00:00:55:43:5c检查所有网络接口的 MAC 地址，创建该脚本：# vi /opt/scripts/mac-addresses.sh #!/bin/sh ip a |awk '/state UP/{print $2}' | sed 's/://' | while read output; do echo $output: ethtool -P $output done运行该脚本获取多个网络接口的 MAC 地址：# sh /opt/scripts/mac-addresses.sh eth0: Permanent address: 00:00:00:55:43:5c eth1: Permanent address: 00:00:00:55:43:5d4）如何在 Linux 上使用 ethtool 命令检查网络接口速度如果要在 Linux 上检查网络接口速度，请使用 ethtool 命令。检查特定网络接口的速度：# ethtool eth0 |grep "Speed:" Speed: 10000Mb/s检查所有网络接口速度，创建该脚本：# vi /opt/scripts/port-speed.sh #!/bin/sh ip a |awk '/state UP/{print $2}' | sed 's/://' | while read output; do echo $output: ethtool $output |grep "Speed:" done运行该脚本获取多个网络接口速度：# sh /opt/scripts/port-speed.sh eth0: Speed: 10000Mb/s eth1: Speed: 10000Mb/s5）验证网卡信息的 Shell 脚本通过此 shell 脚本你可以收集上述所有信息，例如网络接口名称、网络接口的 IP 地址，网络接口的 MAC 地址以及网络接口的速度。创建该脚本：# vi /opt/scripts/nic-info.sh #!/bin/sh hostname echo "-------------" for iname in $(ip a |awk '/state UP/{print $2}') do echo "$iname" ip a | grep -A2 $iname | awk '/inet/{print $2}' ip a | grep -A2 $iname | awk '/link/{print $2}' ethtool $iname |grep "Speed:" done运行该脚本检查网卡信息：# sh /opt/scripts/nic-info.sh vps.2daygeek.com ---------------- eth0: 192.168.1.101/24 00:00:00:55:43:5c Speed: 10000Mb/s eth1: 192.168.1.102/24 00:00:00:55:43:5d Speed: 10000Mb/svia: https://www.2daygeek.com/linux-unix-check-network-interfaces-names-nic-speed-ip-mac-address/作者：Magesh Maruthamuthu 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
在 Linux 服务器上工作时，在网卡/以太网卡上分配静态 IP 地址是每个 Linux 工程师的常见任务之一。如果一个人在 Linux 服务器上正确配置了静态地址，那么他/她就可以通过网络远程访问它。在本文中，我们将演示在 RHEL 8 服务器网卡上配置静态 IP 地址的不同方法。以下是在网卡上配置静态IP的方法：nmcli（命令行工具）网络脚本文件（ifcfg-*）nmtui（基于文本的用户界面）使用 nmcli 命令行工具配置静态 IP 地址每当我们安装 RHEL 8 服务器时，就会自动安装命令行工具 nmcli，它是由网络管理器使用的，可以让我们在以太网卡上配置静态 IP 地址。运行下面的 ip addr 命令，列出 RHEL 8 服务器上的以太网卡[root@linuxtechi ~]# ip addr正如我们在上面的命令输出中看到的，我们有两个网卡 enp0s3 和 enp0s8。当前分配给网卡的 IP 地址是通过 DHCP 服务器获得的。假设我们希望在第一个网卡 (enp0s3) 上分配静态 IP 地址，具体内容如下:IP 地址 = 192.168.1.4网络掩码 = 255.255.255.0网关 = 192.168.1.1DNS = 8.8.8.8依次运行以下 nmcli 命令来配置静态 IP，使用 nmcli connection 命令列出当前活动的以太网卡，[root@linuxtechi ~]# nmcli connection NAME UUID TYPE DEVICE enp0s3 7c1b8444-cb65-440d-9bf6-ea0ad5e60bae ethernet enp0s3 virbr0 3020c41f-6b21-4d80-a1a6-7c1bd5867e6c bridge virbr0 [root@linuxtechi ~]#使用下面的 nmcli 给 enp0s3 分配静态 IP。命令语法：# nmcli connection modify <interface_name> ipv4.address <ip/prefix>注意: 为了简化语句，在 nmcli 命令中，我们通常用 con 关键字替换 connection，并用 mod 关键字替换 modify。将 IPv4 地址 (192.168.1.4) 分配给 enp0s3 网卡上，[root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.addresses 192.168.1.4/24使用下面的 nmcli 命令设置网关，[root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.gateway 192.168.1.1设置手动配置（从 dhcp 到 static），[root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.method manual设置 DNS 值为 “8.8.8.8”，[root@linuxtechi ~]# nmcli con mod enp0s3 ipv4.dns "8.8.8.8" [root@linuxtechi ~]#要保存上述更改并重新加载，请执行如下 nmcli 命令，[root@linuxtechi ~]# nmcli con up enp0s3 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)以上命令显示网卡 enp0s3 已成功配置。我们使用 nmcli 命令做的那些更改都将永久保存在文件 etc/sysconfig/network-scripts/ifcfg-enp0s3 里。[root@linuxtechi ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3要确认 IP 地址是否分配给了 enp0s3 网卡了，请使用以下 IP 命令查看，[root@linuxtechi ~]#ip addr show enp0s3使用网络脚本文件（ifcfg-*）手动配置静态 IP 地址我们可以使用配置以太网卡的网络脚本或 ifcfg-* 文件来配置以太网卡的静态 IP 地址。假设我们想在第二个以太网卡 enp0s8 上分配静态 IP 地址：IP 地址 = 192.168.1.91前缀 = 24网关 =192.168.1.1DNS1 =4.2.2.2转到目录 /etc/sysconfig/network-scripts，查找文件 ifcfg-enp0s8，如果它不存在，则使用以下内容创建它，[root@linuxtechi ~]# cd /etc/sysconfig/network-scripts/ [root@linuxtechi network-scripts]# vi ifcfg-enp0s8 TYPE="Ethernet" DEVICE="enp0s8" BOOTPROTO="static" ONBOOT="yes" NAME="enp0s8" IPADDR="192.168.1.91" PREFIX="24" GATEWAY="192.168.1.1" DNS1="4.2.2.2"保存并退出文件，然后重新启动网络管理器服务以使上述更改生效，[root@linuxtechi network-scripts]# systemctl restart NetworkManager现在使用下面的 ip 命令来验证 IP 地址是否分配给网卡，[root@linuxtechi ~]# ip add show enp0s8 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:7c:bb:cb brd ff:ff:ff:ff:ff:ff inet 192.168.1.91/24 brd 192.168.1.255 scope global noprefixroute enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe7c:bbcb/64 scope link valid_lft forever preferred_lft forever [root@linuxtechi ~]#以上输出内容确认静态 IP 地址已在网卡 enp0s8 上成功配置了。使用 nmtui 实用程序配置静态 IP 地址nmtui 是一个基于文本用户界面的，用于控制网络的管理器，当我们执行 nmtui 时，它将打开一个基于文本的用户界面，通过它我们可以添加、修改和删除连接。除此之外，nmtui 还可以用来设置系统的主机名。假设我们希望通过以下细节将静态 IP 地址分配给网卡 enp0s3 ，IP 地址 = 10.20.0.72前缀 = 24网关 = 10.20.0.1DNS1 =4.2.2.2运行 nmtui 并按照屏幕说明操作，示例如下所示，[root@linuxtechi ~]# nmtui选择第一个选项 “Edit a connection”，然后选择接口为 “enp0s3”，选择 “Edit”，然后指定 IP 地址、前缀、网关和域名系统服务器 IP，选择确定，然后点击回车。在下一个窗口中，选择 “Activate a connection”，选择 “enp0s3”，选择 “Deactivate” 并点击回车，现在选择 “Activate” 并点击回车，选择 “Back”，然后选择 “Quit”，使用下面的 ip 命令验证 IP 地址是否已分配给接口 enp0s3，[root@linuxtechi ~]# ip add show enp0s3 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:53:39:4d brd ff:ff:ff:ff:ff:ff inet 10.20.0.72/24 brd 10.20.0.255 scope global noprefixroute enp0s3 valid_lft forever preferred_lft forever inet6 fe80::421d:5abf:58bd:c47e/64 scope link noprefixroute valid_lft forever preferred_lft forever [root@linuxtechi ~]#以上输出内容显示我们已经使用 nmtui 实用程序成功地将静态 IP 地址分配给接口 enp0s3。以上就是本教程的全部内容，我们已经介绍了在 RHEL 8 系统上为以太网卡配置 IPv4 地址的三种不同方法。请在下面的评论部分分享反馈和评论。via: https://www.linuxtechi.com/configure-static-ip-address-rhel8/作者：Pradeep Kumar 选题：lujun9972 译者：heguangzhi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
不知道你的 IP 地址是什么？以下是在 Ubuntu 和其他 Linux 发行版中检查 IP 地址的几种方法。什么是 IP 地址？互联网协议地址（通常称为 IP 地址）是分配给连接到计算机网络的每个设备（使用互联网协议）的数字标签。IP 地址用于识别和定位机器。IP 地址在网络中是唯一的，使得所有连接设备能够通信。你还应该知道有两种类型的 IP 地址：公有和私有。公有 IP 地址是用于互联网通信的地址，这与你用于邮件的物理地址相同。但是，在本地网络（例如使用路由器的家庭）的环境中，会为每个设备分配在该子网内唯一的私有 IP 地址。这在本地网络中使用，而不直接暴露公有 IP（路由器用它与互联网通信）。另外还有区分 IPv4 和 IPv6 协议。IPv4 是经典的 IP 格式，它由基本的 4 部分结构组成，四个字节用点分隔（例如 127.0.0.1）。但是，随着设备数量的增加，IPv4 很快就无法提供足够的地址。这就是 IPv6 被发明的原因，它使用 128 位地址的格式（与 IPv4 使用的 32 位地址相比）。在 Ubuntu 中检查你的 IP 地址（终端方式）检查 IP 地址的最快和最简单的方法是使用 ip 命令。你可以按以下方式使用此命令：ip addr show它将同时显示 IPv4 和 IPv6 地址：实际上，你可以进一步缩短这个命令 ip a。它会给你完全相同的结果。ip a如果你希望获得最少的细节，也可以使用 hostname：hostname -I还有一些在 Linux 中检查 IP 地址的方法，但是这两个命令足以满足这个目的。ifconfig 如何？老用户可能会想要使用 ifconfig（net-tools 软件包的一部分），但该程序已被弃用。一些较新的 Linux 发行版不再包含此软件包，如果你尝试运行它，你将看到 ifconfig 命令未找到的错误。在 Ubuntu 中检查你的 IP 地址（GUI 方式）如果你对命令行不熟悉，你还可以使用图形方式检查 IP 地址。打开 Ubuntu 应用菜单（在屏幕左下角显示应用）并搜索Settings，然后单击图标：这应该会打开设置菜单。进入网络：按下连接旁边的齿轮图标会打开一个窗口，其中包含更多设置和有关你网络链接的信息，其中包括你的 IP 地址：额外提示：检查你的公共 IP 地址（适用于台式计算机）首先，要检查你的公有 IP 地址（用于与服务器通信），你可以使用 curl 命令。打开终端并输入以下命令：curl ifconfig.me这应该只会返回你的 IP 地址而没有其他多余信息。我建议在分享这个地址时要小心，因为这相当于公布你的个人地址。注意： 如果 curl 没有安装，只需使用 sudo apt install curl -y 来解决问题，然后再试一次。另一种可以查看公共 IP 地址的简单方法是在 Google 中搜索 “ip address”。总结在本文中，我介绍了在 Uuntu Linux 中找到 IP 地址的不同方法，并向你概述了 IP 地址的用途以及它们对我们如此重要的原因。我希望你喜欢这篇文章。如果你觉得文章有用，请在评论栏告诉我们！via: https://itsfoss.com/check-ip-address-ubuntu/作者：Sergiu 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
在我们安装完一个 Linux 系统后最为常见的任务便是网络配置了。当然，你可以在安装系统时进行网络接口的配置。但是，对于某些人来说，他们更偏爱在安装完系统后再进行网络的配置或者更改现存的设置。众所周知，为了在命令行中进行网络设定的配置，我们首先必须知道系统中有多少个可用的网络接口。本次这个简单的指南将列出所有可能的方式来在 Linux 和 Unix 操作系统中找到可用的网络接口。在 Linux 中找到可用的网络接口我们可以使用下面的这些方法来找到可用的网络接口。方法 1 使用 ifconfig 命令使用 ifconfig 命令来查看网络接口仍然是最常使用的方法。我相信还有很多 Linux 用户仍然使用这个方法。$ ifconfig -a示例输出：enp5s0: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 24:b6:fd:37:8b:29 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 171420 bytes 303980988 (289.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 171420 bytes 303980988 (289.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp9s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.225.37 netmask 255.255.255.0 broadcast 192.168.225.255 inet6 2409:4072:6183:c604:c218:85ff:fe50:474f prefixlen 64 scopeid 0x0<global> inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20 ether c0:18:85:50:47:4f txqueuelen 1000 (Ethernet) RX packets 564574 bytes 628671925 (599.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 299706 bytes 60535732 (57.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0如上面的输出所示，在我的 Linux 机器上有两个网络接口，它们分别叫做 enp5s0（主板上的有线网卡）和 wlp9s0（无线网卡）。其中的 lo 是环回网卡，被用来访问本地的网络的服务，通常它的 IP 地址为 127.0.0.1。我们也可以在许多 UNIX 变种例如 FreeBSD 中使用相同的 ifconfig 来列出可用的网卡。方法 2 使用 ip 命令在最新的 Linux 版本中， ifconfig 命令已经被弃用了。你可以使用 ip 命令来罗列出网络接口，正如下面这样：$ ip link show示例输出：1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff 3: wlp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff你也可以使用下面的命令来查看。$ ip addr$ ip -s link你注意到了吗？这些命令同时还显示出了已经连接的网络接口的状态。假如你仔细查看上面的输出，你将注意到我的有线网卡并没有跟网络线缆连接（从上面输出中的 DOWN 可以看出）。另外，我的无线网卡已经连接了（从上面输出中的 UP 可以看出）。想知晓更多的细节，可以查看我们先前的指南 在 Linux 中查看网络接口的已连接状态。这两个命令（ifconfig 和 ip）已经足够在你的 LInux 系统中查看可用的网卡了。然而，仍然有其他方法来列出 Linux 中的网络接口，下面我们接着看。方法 3 使用 /sys/class/net 目录Linux 内核将网络接口的详细信息保存在 /sys/class/net 目录中，你可以通过查看这个目录的内容来检验可用接口的列表是否和前面的结果相符。$ ls /sys/class/net示例输出：enp5s0 lo wlp9s0方法 4 使用 /proc/net/dev 目录在 Linux 操作系统中，文件 /proc/net/dev 中包含有关网络接口的信息。要查看可用的网卡，只需使用下面的命令来查看上面文件的内容：$ cat /proc/net/dev示例输出：Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed wlp9s0: 629189631 566078 0 0 0 0 0 0 60822472 300922 0 0 0 0 0 0 enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 lo: 303980988 171420 0 0 0 0 0 0 303980988 171420 0 0 0 0 0 0方法 5 使用 netstat 命令netstat 命令可以列出各种不同的信息，例如网络连接、路由表、接口统计信息、伪装连接和多播成员等。$ netstat -i示例输出：Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg lo 65536 171420 0 0 0 171420 0 0 0 LRU wlp9s0 1500 565625 0 0 0 300543 0 0 0 BMRU请注意 netstat 被弃用了， netstat -i 的替代命令是 ip -s link。另外需要注意的是这个方法将只列出激活的接口，而不是所有可用的接口。方法 6 使用 nmcli 命令nmcli 是一个用来控制 NetworkManager 和报告网络状态的命令行工具。它可以被用来创建、展示、编辑、删除、激活、停用网络连接和展示网络状态。假如你的 Linux 系统中安装了 NetworkManager，你便可以使用下面的命令来使用 nmcli 列出可以的网络接口：$ nmcli device status或者$ nmcli connection show现在你知道了如何在 Linux 中找到可用网络接口的方法，接下来，请查看下面的指南来知晓如何在 Linux 中配置 IP 地址吧。如何在 Linux 和 Unix 中配置静态 IP 地址如何在 Ubuntu 18.04 LTS 中配置 IP 地址如何在 Arch Linux 中配置静态和动态 IP 地址如何在 Linux 中为单个网卡分配多个 IP 地址假如你知道其他快捷的方法来在 Linux 中找到可用的网络接口，请在下面的评论部分中分享出来，我将检查你们的评论并更新这篇指南。这就是全部的内容了，更多精彩内容即将呈现，请保持关注！干杯！via: https://www.ostechnix.com/how-to-find-available-network-interfaces-on-linux/作者：SK 选题：lujun9972 译者：FSSlc 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
Linux 管理员应该意识到这一点，因为这是一项例行任务。很多人想知道为什么我们需要在服务器中添加多个 IP 地址，以及为什么我们需要将它添加到单块网卡中？我说的对吗？你可能也会有类似的问题：在 Linux 中如何为单块网卡分配多个 IP 地址？在本文中，你可以得到答案。当我们对一个新服务器进行设置时，理想情况下它将有一个 IP 地址，即服务器主 IP 地址，它与服务器主机名对应。我们不应在服务器主 IP 地址上托管任何应用程序，这是不可取的。如果要在服务器上托管任何应用程序，我们应该为此添加辅助 IP。这是业界的最佳实践，它允许用户安装 SSL 证书。大多数系统都配有单块网卡，这足以添加额外的 IP 地址。建议阅读：在 Linux 命令行中 9 种方法检查公共 IP 地址在 Linux 终端中 3 种简单的方式来检查 DNS（域名服务器）记录在 Linux 上使用 Dig 命令检查 DNS（域名服务器）记录在 Linux 上使用 Nslookup 命令检查 DNS（域名服务器）记录在 Linux 上使用 Host 命令检查 DNS（域名服务器）记录我们可以在同一个接口上添加 IP 地址，或者在同一设备上创建子接口，然后在其中添加 IP。默认情况下，一直到 Ubuntu 14.04 LTS，接口给名称为 ethX (eth0)，但是从 Ubuntu 15.10 之后网络接口名称已从 ethX 更改为 enXXXXX（对于服务器是 ens33，桌面版是 enp0s3）。在本文中，我们将教你如何在 Ubuntu 上执行此操作，并且衍生到其它发行版（to 校正：这句自己加的）。注意：别在 DNS 详细信息后添加 IP 地址。如果是这样，DNS 将无法正常工作。如何在 Ubuntu 14.04 LTS 中添加临时辅助 IP 地址在系统中添加 IP 地址之前，运行以下任一命令即可验证服务器主 IP 地址：# ifconfig 或 # ip addr # ip addr eth0 Link encap:Ethernet HWaddr 08:00:27:98:b7:36 inet addr:192.168.56.150 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe98:b736/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:105 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:902 (902.0 B) TX bytes:16423 (16.4 KB) eth1 Link encap:Ethernet HWaddr 08:00:27:6a:cf:d3 inet addr:10.0.3.15 Bcast:10.0.3.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe6a:cfd3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:80 errors:0 dropped:0 overruns:0 frame:0 TX packets:146 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8698 (8.6 KB) TX bytes:17047 (17.0 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:25 errors:0 dropped:0 overruns:0 frame:0 TX packets:25 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:1730 (1.7 KB) TX bytes:1730 (1.7 KB)如我所见，服务器主 IP 地址是 192.168.56.150，我将下一个 IP 192.168.56.151 作为辅助 IP，使用以下方法完成：# ip addr add 192.168.56.151/24 broadcast 192.168.56.255 dev eth0 label eth0:1输入以下命令以检查新添加的 IP 地址。如果你重新启动服务器，那么新添加的 IP 地址会消失，因为我们的 IP 是临时添加的。# ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:98:b7:36 brd ff:ff:ff:ff:ff:ff inet 192.168.56.150/24 brd 192.168.56.255 scope global eth0 valid_lft forever preferred_lft forever inet 192.168.56.151/24 brd 192.168.56.255 scope global secondary eth0:1 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe98:b736/64 scope link valid_lft forever preferred_lft forever 3: eth1: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:6a:cf:d3 brd ff:ff:ff:ff:ff:ff inet 10.0.3.15/24 brd 10.0.3.255 scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe6a:cfd3/64 scope link valid_lft forever preferred_lft forever如何在 Ubuntu 14.04 LTS 中添加永久辅助 IP 地址要在 Ubuntu 系统上添加永久辅助 IP 地址，只需编辑 /etc/network/interfaces 文件并添加所需的 IP 详细信息。# vi /etc/network/interfaces# vi /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.56.150 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255 gateway 192.168.56.1 auto eth0:1 iface eth0:1 inet static address 192.168.56.151 netmask 255.255.255.0保存并关闭文件，然后重启网络接口服务。# service networking restart 或 # ifdown eth0:1 && ifup eth0:1验证新添加的 IP 地址：# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:98:b7:36 inet addr:192.168.56.150 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe98:b736/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5 errors:0 dropped:0 overruns:0 frame:0 TX packets:84 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:962 (962.0 B) TX bytes:11905 (11.9 KB) eth0:1 Link encap:Ethernet HWaddr 08:00:27:98:b7:36 inet addr:192.168.56.151 Bcast:192.168.56.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 eth1 Link encap:Ethernet HWaddr 08:00:27:6a:cf:d3 inet addr:10.0.3.15 Bcast:10.0.3.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe6a:cfd3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4924 errors:0 dropped:0 overruns:0 frame:0 TX packets:3185 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4037636 (4.0 MB) TX bytes:422516 (422.5 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)如何在 Ubuntu 16.04 LTS 中临时添加辅助 IP 地址正如本文开头所述，网络接口名称从 Ubuntu 15.10 就开始从 ‘ethX’ 更改为 ‘enXXXX’ (enp0s3)，所以，替换你的接口名称。在执行此操作之前，先检查系统上的 IP 信息：# ifconfig 或 # ip addr enp0s3: flags=4163 mtu 1500 inet 192.168.56.201 netmask 255.255.255.0 broadcast 192.168.56.255 inet6 fe80::a00:27ff:fe97:132e prefixlen 64 scopeid 0x20 ether 08:00:27:97:13:2e txqueuelen 1000 (Ethernet) RX packets 7 bytes 420 (420.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 294 bytes 24747 (24.7 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s8: flags=4163 mtu 1500 inet 10.0.3.15 netmask 255.255.255.0 broadcast 10.0.3.255 inet6 fe80::344b:6259:4dbe:eabb prefixlen 64 scopeid 0x20 ether 08:00:27:12:e8:c1 txqueuelen 1000 (Ethernet) RX packets 1 bytes 590 (590.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 97 bytes 10209 (10.2 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 325 bytes 24046 (24.0 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 325 bytes 24046 (24.0 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0如我所见，服务器主 IP 地址是 192.168.56.201，所以，我将下一个 IP 192.168.56.202 作为辅助 IP，使用以下命令完成。# ip addr add 192.168.56.202/24 broadcast 192.168.56.255 dev enp0s3运行以下命令来检查是否已分配了新的 IP。当你重启机器时，它会消失。# ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:97:13:2e brd ff:ff:ff:ff:ff:ff inet 192.168.56.201/24 brd 192.168.56.255 scope global enp0s3 valid_lft forever preferred_lft forever inet 192.168.56.202/24 brd 192.168.56.255 scope global secondary enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe97:132e/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:12:e8:c1 brd ff:ff:ff:ff:ff:ff inet 10.0.3.15/24 brd 10.0.3.255 scope global dynamic enp0s8 valid_lft 86353sec preferred_lft 86353sec inet6 fe80::344b:6259:4dbe:eabb/64 scope link valid_lft forever preferred_lft forever如何在 Ubuntu 16.04 LTS 中添加永久辅助 IP 地址要在 Ubuntu 系统上添加永久辅助 IP 地址，只需编辑 /etc/network/interfaces 文件并添加所需 IP 的详细信息。我们不应该在 dns-nameservers 行之后添加辅助 IP 地址，因为它不会起作用，应该以下面的格式添加 IP 详情。此外，我们不需要添加子接口（我们之前在 Ubuntu 14.04 LTS 中的做法）：# vi /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback # The primary network interface auto enp0s3 iface enp0s3 inet static address 192.168.56.201 netmask 255.255.255.0 iface enp0s3 inet static address 192.168.56.202 netmask 255.255.255.0 gateway 192.168.56.1 network 192.168.56.0 broadcast 192.168.56.255 dns-nameservers 8.8.8.8 8.8.4.4 dns-search 2daygeek.local 保存并关闭文件，然后重启网络接口服务：# systemctl restart networking 或 # ifdown enp0s3 && ifup enp0s3运行以下命令来检查是否已经分配了新的 IP：# ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:97:13:2e brd ff:ff:ff:ff:ff:ff inet 192.168.56.201/24 brd 192.168.56.255 scope global enp0s3 valid_lft forever preferred_lft forever inet 192.168.56.202/24 brd 192.168.56.255 scope global secondary enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe97:132e/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:12:e8:c1 brd ff:ff:ff:ff:ff:ff inet 10.0.3.15/24 brd 10.0.3.255 scope global dynamic enp0s8 valid_lft 86353sec preferred_lft 86353sec inet6 fe80::344b:6259:4dbe:eabb/64 scope link valid_lft forever preferred_lft forever让我来 ping 一下新 IP 地址：# ping 192.168.56.202 -c 4 PING 192.168.56.202 (192.168.56.202) 56(84) bytes of data. 64 bytes from 192.168.56.202: icmp_seq=1 ttl=64 time=0.019 ms 64 bytes from 192.168.56.202: icmp_seq=2 ttl=64 time=0.087 ms 64 bytes from 192.168.56.202: icmp_seq=3 ttl=64 time=0.034 ms 64 bytes from 192.168.56.202: icmp_seq=4 ttl=64 time=0.042 ms --- 192.168.56.202 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3068ms rtt min/avg/max/mdev = 0.019/0.045/0.087/0.026 msvia: https://www.2daygeek.com/how-to-add-additional-ip-secondary-ip-in-ubuntu-debian-system/作者：Prakash Subramanian 选题：lujun9972 译者：MjSeven 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
你可以用 Linux 中的 IP 工具做 3 件有用的事情
如何使用 IP 工具来快速轻松地找到你的 IP 地址、显示路由表等等。ifconfig 命令在 Linux 上被弃用已有十多年的时间了，而 iproute2 项目包含了神奇的工具 ip。许多在线教程资源仍然采用旧的命令行工具，如 ifconfig、route 和 netstat。本教程的目标是分享一些可以使用 ip 工具轻松完成的网络相关的事情。找出你的 IP 地址[dneary@host]$ ip addr show [snip] 44: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 5c:e0:c5:c7:f0:f1 brd ff:ff:ff:ff:ff:ff inet 10.16.196.113/23 brd 10.16.197.255 scope global dynamic wlp4s0 valid_lft 74830sec preferred_lft 74830sec inet6 fe80::5ee0:c5ff:fec7:f0f1/64 scope link valid_lft forever preferred_lft forever ip addr show 会告诉你很多关于你的所有网络链接设备的信息。在这里，我的无线以太网卡（wlp4s0）是 IPv4 地址（inet 字段）10.16.196.113/23。 /23 表示 32 位 IP 地址中的 23 位将被该子网中的所有 IP 地址共享。子网中的 IP 地址范围从 10.16.196.0 到 10.16.197.254。子网的广播地址（IP 地址后面的 brd 字段）10.16.197.255 保留给子网上所有主机的广播流量。我们能只使用 ip addr show dev wlp4s0 来显示单个设备的信息。显示你的路由表[dneary@host]$ ip route list default via 10.16.197.254 dev wlp4s0 proto static metric 600 10.16.196.0/23 dev wlp4s0 proto kernel scope link src 10.16.196.113 metric 601 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 路由表是本地主机帮助网络流量确定去哪里的方式。它包含一组路标，将流量发送到特定的接口，以及在其旅途中的特定下一个地点。如果你运行任何虚拟机或容器，它们将获得自己的 IP 地址和子网，这可能会使这些路由表非常复杂，但在单个主机中，通常有两条指令。对于本地流量，将其发送到本地以太网上，并且网络交换机将找出（使用称为 ARP 的协议）哪个主机拥有目标 IP 地址，并且要将流量发送到哪里。对于到互联网的流量，将其发送到本地网关节点，它将更好地了解如何到达目的地。在上面的情况中，第一行代表外部流量的外部网关，第二行代表本地流量，第三行代表主机上运行的虚拟机的虚拟网桥，但该链接当前未激活。监视你的网络配置[dneary@host]$ ip monitor all [dneary@host]$ ip -s link list wlp4s0 ip monitor 命令可用于监视路由表（网络接口上的网络寻址）的更改或本地主机上 ARP 表的更改。此命令在调试与容器和网络相关的网络问题时特别有用，如当两个虚拟机应该能彼此通信，但实际不能。在使用 all 时，ip monitor 会报告所有的更改，前缀以 [LINK]（网络接口更改）、[ROUTE]（更改路由表）、[ADDR]（IP 地址更改）或 [NEIGH]（与马无关 —— 与邻居的 ARP 地址相关的变化）。你还可以监视特定对象上的更改（例如，特定的路由表或 IP 地址）。另一个适用于许多命令的有用选项是 ip -s，它提供了一些统计信息。添加第二个 -s 选项可以添加更多统计信息。上面的 ip -s link list wlp4s0 会给出很多关于接收和发送的数据包的信息、丢弃的数据包数量、检测到的错误等等。提示：缩短你的命令一般来说，对于 ip 工具，你只需要包含足够的字母来唯一标识你想要做的事情。你可以使用 ip mon 来代替 ip monitor。你可以使用 ip a l，而不是 ip addr list，并且可以使用 ip r来代替 ip route。ip link list 可以缩写为 ip l ls。要了解可用于更改命令行为的许多选项，请浏览 ip 手册页。via: https://opensource.com/article/18/5/useful-things-you-can-do-with-IP-tool-Linux作者：Dave Neary 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
每个网站都有一个独有的公开 IP 地址，可供任何人从任何地方访问。 互联网协议 Internet Protocol （IP）不需要介绍 —— 我们每天都在使用它。即使你不直接使用它，当你在浏览器上输入 website-name.com 时，它会查找该 URL 的 IP 地址，然后加载该网站。我们将 IP 地址分为两类：私有和公共。私有 IP 地址是你的无线路由（和公司内网）提供的私有 IP 地址。它们的范围是 10.xxx、172.16.xx-172.31.xx 和 192.168.xx，其中 x=0 到 255。公有 IP 地址，顾名思义，是“公共”的，你可以在世界上任何地方访问它。每个网站都有一个唯一的 IP 地址，任何人可在任何地点访问，这可被视为公共 IP 地址。此外，还有两种类型的 IP 地址：IPv4 和 IPv6。IPv4 地址格式为 x.x.x.x，其中 x=0 到 255。有 2 32（大约 40 亿个）可能的 IPv4 地址。IPv6 地址使用更复杂的十六进制。总的比特数是 128，这意味着有 2 128 （340 后面有 36 个零！）个可能的 IPv6 地址。IPv6 已经被引入解决了可预见的 IPv4 地址耗尽问题。作为网络工程师，我建议不要与任何人共享你机器的公有 IP 地址。你的 WiFi 路由器有公共 IP，即 WAN（广域网）IP 地址，并且连接到该 WiFi 的任何设备都是相同的。连接到相同 WiFi 的所有设备都有上面所说的私有 IP 地址。例如，我的笔记本电脑的 IP 地址 192.168.0.5，而我的电话是 192.168.0.8。这些是私有 IP 地址，但两者都有相同的公有 IP 地址。以下命令将列出IP地址列表，以查找你计算机的公有 IP 地址：ifconfig.mecurl -4/-6 icanhazip.comcurl ipinfo.io/ipcurl api.ipify.orgcurl checkip.dyndns.orgdig +short myip.opendns.com @resolver1.opendns.comhost myip.opendns.com resolver1.opendns.comcurl ident.mecurl bot.whatismyipaddress.comcurl ipecho.net/plain以下命令将为你提供接口的私有 IP 地址：ifconfig -aip addr (ip a)hostname -I | awk ‘{print $1}’ip route get 1.2.3.4 | awk '{print $7}'(Fedora) Wifi-Settings→ click the setting icon next to the Wifi name that you are connected to → Ipv4 and Ipv6 both can be seennmcli -p device show注意：一些工具需要根据你正在使用的 Linux 发行版安装在你的系统上。另外，一些提到的命令使用第三方网站来获取 IPvia: https://opensource.com/article/18/5/how-find-ip-address-linux作者：Archit Modi 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出