跳转到内容

Linux IP地址与主机名管理

1. Linux网络管理系列

课程介绍

接下来我们学习IP地址和主机名管理。ip addr命令用于查看和配置网络接口的IP地址,现代Linux推荐用这个命令。hostname命令查看主机名,hostnamectl set-hostname可以修改主机名。IP地址是网络通信的标识,主机名方便记忆和识别机器。这些是网络管理的基础。

2. IP地址概述

基本概念

IP地址(Internet Protocol Address)是每台联网计算机的唯一标识,用于在网络中进行通信。

IP地址版本

IP地址主要有两个版本:

  • IPv4:使用32位二进制数表示,是目前广泛使用的版本
  • IPv6:使用128位二进制数表示,是下一代IP协议,用于解决IPv4地址枯竭问题

IPv4地址格式

IPv4地址采用点分十进制表示法,格式为:a.b.c.d,其中a、b、c、d均为0-255之间的整数。

示例

  • 192.168.88.101
  • 127.0.0.1
  • 0.0.0.0

3. 查看Linux系统的IP地址

使用ip addr命令

ip addr是Rocky Linux 9系统中查看IP地址的现代命令,来自iproute2包。

bash
# 查看所有网卡的IP地址
ip addr

# 简写形式
ip a

# 查看特定网卡
ip addr show ens33

使用ifconfig命令(传统方式)

ifconfig是最常用的查看IP地址的命令,但来自net-tools包,已逐渐被ip addr替代。

bash
# 查看所有网卡的IP地址
ifconfig

安装net-tools包

如果系统中没有ifconfig命令,可以通过dnf安装net-tools包。

bash
# 安装net-tools包
dnf -y install net-tools

注意:Rocky Linux 9推荐使用ip addr命令,它来自iproute2包,是现代Linux系统的标准工具。ifconfig命令虽然仍可使用,但已过时。

命令输出解析

bash
# 示例输出
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.130  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::20c:29ff:fe8c:3a4d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:8c:3a:4d  txqueuelen 1000  (Ethernet)
        RX packets 14738  bytes 14980561 (14.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5229  bytes 384050 (375.0 KiB)
        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 24  bytes 1680 (1.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 1680 (1.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

关键信息

  • ens160:主网卡名称
  • inet 192.168.88.130:IPv4地址
  • inet6 fe80::20c:29ff:fe8c:3a4d:IPv6地址
  • lo:本地回环网卡

4. 特殊IP地址的含义

127. 0.0.1

  • 含义:本地回环地址(Loopback Address)
  • 作用:用于测试本地网络配置,表示本机
  • 特点:任何发送到该地址的数据包都会被本地系统接收和处理,不会发送到网络中

0. 0.0.0

  • 含义:零地址
  • 作用
    1. 表示本机所有可用的IP地址
    2. 在端口绑定中表示绑定到所有网络接口
    3. 在IP地址限制中表示允许所有IP访问

5. 主机名概述

基本概念

主机名(Hostname)是计算机的名称,用于方便用户识别和记忆计算机,类似于人的名字。

主机名的特点

  • 唯一性:在同一网络中,主机名应该是唯一的
  • 可读性:相比IP地址,主机名更易于记忆和使用
  • 可修改性:可以根据需要修改主机名
  • 跨平台支持:Windows、Mac和Linux系统都支持设置主机名

6. 查看和修改主机名

查看主机名

使用hostname命令可以查看当前系统的主机名。

bash
# 查看当前主机名
hostname

修改主机名

使用hostnamectl命令可以永久修改主机名。

bash
# 修改主机名为linux-server
hostnamectl set-hostname linux-server

# 验证主机名修改
hostname

命令详解

  • hostnamectl:主机名控制命令
  • set-hostname:设置主机名的选项
  • linux-server:新的主机名

注意:修改主机名后,需要重新登录或重启系统才能完全生效。

7. 域名解析的概念

基本概念

域名解析(Domain Name Resolution)是将域名转换为IP地址的过程。由于IP地址难以记忆,人们使用域名来访问网络资源,而计算机之间的通信仍然使用IP地址。

域名解析的工作原理

  • 用户在浏览器中输入域名(如www.example.com)
  • 浏览器向DNS服务器发送域名解析请求
  • DNS服务器查找域名对应的IP地址
  • DNS服务器将IP地址返回给浏览器
  • 浏览器使用IP地址访问目标服务器

本地域名解析

Linux系统中,/etc/hosts文件用于本地域名解析,可以将主机名映射到IP地址。

bash
# 查看/etc/hosts文件内容
cat /etc/hosts

示例内容

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.100 server1
192.168.88.101 server2

8. 关键命令参考

命令功能描述
ip addr查看所有网卡的IP地址(推荐)
ifconfig查看所有网卡的IP地址(已过时)
dnf -y install net-tools安装net-tools包(包含ip命令)
hostname查看当前系统的主机名
hostnamectl set-hostname 新主机名永久修改主机名
cat /etc/hosts查看本地域名解析配置

课程总结

  • IP地址是联网计算机的唯一标识,用于网络通信
  • IPv4地址采用点分十进制表示法,格式为a.b.c.d
  • Rocky Linux 9推荐使用ip addr命令查看IP地址,它是现代Linux系统的标准工具
  • ifconfig命令虽然仍可使用,但已过时,来自net-tools包
  • 127.0.0.1是本地回环地址,表示本机
  • 0.0.0.0表示本机所有可用的IP地址或允许所有IP访问
  • 主机名是计算机的名称,用于方便识别和记忆
  • 使用hostname命令可以查看主机名
  • 使用hostnamectl命令可以永久修改主机名
  • 域名解析是将域名转换为IP地址的过程
  • /etc/hosts文件用于本地域名解析

课后练习

  • 使用ip addr命令查看Linux系统的IP地址
  • 尝试安装net-tools包(如果系统中没有ifconfig命令)
  • 使用hostname命令查看当前系统的主机名
  • 使用hostnamectl命令将主机名修改为自定义名称
  • 查看/etc/hosts文件内容,了解本地域名解析配置

评论区

专业的Linux技术学习平台,从入门到精通的完整学习路径