主题
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
- 含义:零地址
- 作用:
- 表示本机所有可用的IP地址
- 在端口绑定中表示绑定到所有网络接口
- 在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 server28. 关键命令参考
| 命令 | 功能描述 |
|---|---|
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文件内容,了解本地域名解析配置