【Linux入门】网络部分的基础命令及简单的配置DNS实例

网络部分的基础命令

ifconfig-用于配置和显示网络接口参数

ifconfig(interface configuration)命令是Linux和Unix系统中用于配置和显示网络接口参数的命令行工具。它允许你查看和修改网络接口(如以太网和Wi-Fi)的IP地址、子网掩码、广播地址、MTU(最大传输单元)等配置信息。

基本用法

选项含义
-a--all显示所有接口的状态,包括未激活的接口。默认情况下,ifconfig只显示已激活的接口。
<interface>指定要配置的接口名称。例如,eth0wlan0等。如果不指定此选项,ifconfig将显示所有接口的信息。
up激活指定的接口。如果接口被ifconfig down命令禁用,可以使用此选项重新激活它。
down禁用指定的接口。这将阻止接口发送或接收数据包。
<ip-address>为接口指定IP地址。这通常与netmask选项一起使用来设置子网掩码。
netmask <netmask>为接口设置子网掩码。<netmask>是子网掩码的IP地址形式。
<ip-address>/<prefix-length>使用CIDR表示法为接口设置IP地址和子网掩码。<prefix-length>是子网掩码中1的位数。
broadcast <broadcast-address>为接口设置广播地址。然而,在许多现代网络中,广播地址是自动计算的,因此这个选项可能不常用。
mtu <size>设置接口的最大传输单元(MTU)大小。MTU是接口可以发送的最大数据包大小(以字节为单位)。
promisc将接口置于混杂模式(promiscuous mode)。在混杂模式下,接口将接收所有经过它的数据包,而不仅仅是发往它自己的数据包。这通常用于网络监控和分析。
-s--statistics显示接口的统计信息,如接收和发送的数据包数量、错误等。

示例

  • 查看所有网络接口的配置

    ifconfig
    

    执行此命令将列出系统上所有已激活的网络接口及其配置信息。

  • 查看特定网络接口的配置

    ifconfig <interface>
    

    <interface>替换为你想要查看的网络接口名称(如eth0wlan0等)。

  • 启用/禁用网络接口

    sudo ifconfig <interface> up
    sudo ifconfig <interface> down
    

    这些命令用于启用或禁用指定的网络接口。请注意,这些操作通常需要管理员权限。

  • 设置网络接口的IP地址和子网掩码

    sudo ifconfig <interface> <ip-address> netmask <netmask>
    

    或者使用CIDR表示法(无类域间路由):

    sudo ifconfig <interface> <ip-address>/<prefix-length>
    

    这些命令用于为网络接口分配IP地址和子网掩码。注意,这些更改在重启后不会保留,仅对当前会话有效。

注意

  • 由于ifconfig命令在某些系统中可能不被预装(特别是较新的Linux发行版),你可能需要使用包管理器(如aptyum等)来安装它,或者改用ip命令进行网络配置。
  • 对于需要持久化网络配置的情况,你应该查看和编辑相应的网络配置文件(如/etc/network/interfaces/etc/sysconfig/network-scripts/ifcfg-<interface>等),具体取决于你的Linux发行版。

route-用于显示和操作IP路由表

在Linux系统中,route命令用于显示和操作IP路由表,它允许用户查看当前系统的路由信息,添加新的路由、删除已有的路由等。

基本语法

route [-vneetC] [command [destination] [gateway] [netmask nm] [metric m] [if iface]]

其中,[options] 是可选参数,用于定制 route 命令的行为;command 是要执行的路由操作(如 adddel 等);destination 是目标网络或主机;gateway 是下一跳网关的IP地址;netmask nm 是子网掩码;metric m 是路由的度量值;if iface 指定网络接口。

常用选项

选项描述
-v--verbose显示详细信息模式,包括路由表的详细条目和额外的信息。
-n不解析主机名,直接以数字形式显示IP地址。这可以加快显示速度,因为不需要进行DNS解析。
-e--extend显示扩展信息,包括路由表的一些额外属性。
-net指定目标地址为一个网络地址,后面需要跟子网掩码。
-host指定目标地址为一个主机地址,不需要跟子网掩码。
add添加一条新的路由记录。
del删除一条现有的路由记录。
default设置默认路由(默认网关)。

示例

  1. 显示当前路由表(以数字形式显示IP地址)

    route -n
    

    输出将包括目标网络、网关、子网掩码、标志、度量值、引用计数、使用计数和出接口等信息。

  2. 添加一条到特定网络的路由
    假设要将所有发往192.168.1.0/24网络的数据包通过网关192.168.0.1发送,可以使用以下命令:

    sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1
    

    或者,在较新的系统中,可能更倾向于使用ip route命令:

    sudo ip route add 192.168.1.0/24 via 192.168.0.1
    
  3. 删除一条路由
    要删除上面添加的路由,可以使用以下命令:

    sudo route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1
    

    或者,使用ip route命令:

    sudo ip route del 192.168.1.0/24 via 192.168.0.1
    
  4. 设置默认路由(默认网关)
    要将默认路由设置为192.168.0.1,可以使用以下命令:

    sudo route add default gw 192.168.0.1
    

    或者,使用ip route命令:

    sudo ip route add default via 192.168.0.1
    

注意:直接在命令行下执行route命令来添加路由是临时的,不会永久保存。当系统重启或网络接口重启后,这些路由设置将失效。要永久保存路由设置,可以在系统启动时执行的脚本(如/etc/rc.local或网络配置文件)中添加相应的routeip route命令。

netstat-用于显示网络状态信息

Netstat(Network Statistics)是一个在Linux系统中用于显示网络状态信息的命令。它提供了TCP、UDP连接、监听端口、路由表、网络接口统计信息等详细数据,是系统管理员和网络管理员进行网络诊断和监控的重要工具。Netstat命令可以显示与IP、TCP、UDP和ICMP协议相关的统计数据,帮助用户了解网络连接的当前状态。

基本语法

netstat [选项]

常用选项

选项描述
-a 或 --all显示所有连接和监听端口
-t 或 --tcp仅显示TCP连接
-u 或 --udp仅显示UDP连接
-n 或 --numeric直接使用IP地址和端口号,而不是解析为主机名和服务名
-l 或 --listening仅显示处于监听状态的套接字
-p 或 --programs显示每个连接的进程ID和程序名称(需要root权限)
-r 或 --route显示路由表
-s 或 --statistics显示网络接口的统计信息
-i 或 --interfaces显示网络接口信息
-c 或 --continuous持续列出网络状态
-v 或 --verbose显示详细输出信息

示例

  1. 显示所有连接和监听端口
    netstat -a
    
    此命令将列出系统上所有的TCP、UDP连接和监听端口。
  2. 仅显示TCP连接
    netstat -t
    
    此命令将仅列出TCP连接,包括监听状态和非监听状态的连接。
  3. 以数字形式显示所有TCP连接
    netstat -tn
    
    此命令将列出所有的TCP连接,但使用IP地址和端口号的形式,而不是解析为主机名和服务名。
  4. 显示处于监听状态的TCP端口
    netstat -lt
    
    此命令将仅列出处于监听状态的TCP端口。
  5. 显示每个连接的进程ID和程序名称
    sudo netstat -tulpn
    
    注意:此命令需要root权限来显示进程ID和程序名称。-tulpn选项组合表示显示TCP(-t)、UDP(-u)监听端口(-l)、以数字形式显示地址和端口号(-n)以及显示进程ID和程序名称(-p,注意这里的n是可选的,但在实践中常与-p一起使用以避免解析服务名)。
  6. 显示路由表
    netstat -r
    
    此命令将显示系统的路由表,包括目的网络、网关、子网掩码等信息。
  7. 查看网络接口统计信息
    netstat -s
    
    此命令将显示网络接口的统计信息,包括接收和发送的数据包数量、错误数等。
  8. 以数字形式显示地址和端口号,并尝试显示与每个连接相关联的进程信息
    netstat -natp
    
    如果需要查询 UDP 连接,可以使用 -u 替换 -t
    netstat -naup
    

ss-网络管理命令

Linux中的ss命令是Socket Statistics的缩写,也被称为IPC(Inter-Process Communication)套接字统计。这是一个强大的网络管理命令,主要用于获取系统中socket的统计信息,可以帮助系统管理员诊断和排查网络问题,包括检查当前网络连接及端口状态、搜索网络问题、统计网络情况、过滤网络数据等。netstat命令相比,ss命令具有更快的查询速度和更详细的显示信息。

ss命令介绍

ss命令直接利用Linux内核中的信息,通过TCP协议栈中的tcp_diag模块获取第一手的数据,因此在处理大量网络连接时表现出色。它的功能包括但不限于:

  • 显示所有TCP和UDP连接。
  • 显示所有监听状态的套接字。
  • 显示与每个套接字相关联的进程信息。
  • 实时监控网络连接状态。

基本语法

ss命令的基本语法如下:

ss [options] [ FILTER ]

其中,optionsss命令的可选参数,用于指定不同的功能和输出格式;FILTER是用于过滤结果的选项,可以根据不同的条件进行结果过滤。

常用选项

选项描述
-t, --tcp仅显示TCP套接字信息。
-u, --udp仅显示UDP套接字信息。
-l, --listening仅显示处于监听状态的套接字。
-a, --all显示所有套接字信息,包括监听和非监听状态的套接字。
-n, --numeric以数字格式显示地址和端口,避免域名解析。
-p, --processes显示与每个套接字相关联的进程信息(可能需要root权限)。
-r, --resolve尝试解析服务名为主机名(可能导致查询速度变慢)。
-s, --summary显示套接字统计摘要信息。
-i, --info显示内部TCP连接信息(包括更多TCP内部状态)。
-m, --memory显示套接字使用的内存信息。
-o, --options显示计时器信息。
-4, --ipv4仅显示IPv4套接字信息。
-6, --ipv6仅显示IPv6套接字信息。
-x, --unix显示Unix domain sockets信息。

基础用法示例

  1. 显示所有监听状态的TCP套接字,不解析服务名称和端口号:
ss -nlt
  1. 显示所有监听状态的TCP套接字,包括进程信息,不解析服务名称和端口号:
ss -nltp
  1. 显示指定端口的监听状态TCP套接字,不解析服务名称和端口号:
ss -nlt sport = :80
  1. 显示指定端口的监听状态TCP套接字,包括进程信息,不解析服务名称和端口号:
ss -nltp sport = :80
  1. 显示指定IP地址和端口的监听状态TCP套接字,不解析服务名称和端口号:
ss -nlt addr 192.168.1.1:80
  1. 显示指定IP地址和端口的监听状态TCP套接字,包括进程信息,不解析服务名称和端口号:
ss -nltp addr 192.168.1.1:80
  1. 查看所有连接:
ss -a
  1. 查看所有TCP连接:
ss -t
  1. 查看所有UDP连接:
ss -u
  1. 查看所有监听状态的套接字:
ss -l
  1. 查看所有处于ESTABLISHED状态的TCP连接:
ss -t state established
  1. 查看所有在指定端口(例如80端口)上的连接:
ss -t sport = :80
  1. 查看所有在指定IP地址和端口上的连接:
ss -t src 192.168.1.1:80
  1. 查看所有TCP连接的详细信息(包括用户、进程ID等):
ss -t -p
  1. 查看所有UDP连接的详细信息:
ss -u -p
  1. 查看指定进程ID的套接字信息:
ss -p <process_id>
  1. 显示所有TCP连接,不解析服务名称和端口号:
ss -nt
  1. 显示所有UDP连接,不解析服务名称和端口号:
ss -nu
  1. 显示所有监听状态的套接字,不解析服务名称和端口号:
ss -nl
  1. 显示所有处于ESTABLISHED状态的TCP连接,不解析服务名称和端口号:
ss -nt state established
  1. 显示指定IP地址和端口上的TCP连接,不解析服务名称和端口号:
ss -nt src 192.168.1.1:80
  1. 显示所有TCP连接的详细信息(包括用户、进程ID等),不解析服务名称和端口号:
ss -ntp
  1. 显示指定进程ID的套接字信息,不解析服务名称和端口号:
ss -np <process_id>

lsof-用于列出当前系统打开文件的实用工具

lsof(List Open Files)是一个在 Linux 系统中用于列出当前系统打开文件的实用工具。它可以显示哪些进程打开了哪些文件,以及打开方式等信息。

基本语法

lsof [选项]

常用选项

选项描述
-a显示所有选项间的逻辑与(AND)关系(与其他选项组合使用时)
-c <进程名>列出指定进程名所打开的文件
-d <文件描述符>列出指定文件描述符打开的文件
+d <目录>列出指定目录下被打开的文件(非递归)
+D <目录>递归列出指定目录下被打开的文件
-g <GID>显示指定GID(组ID)的进程打开的文件
-i选择要显示的条件(如协议、端口、IP地址等)
-i <条件>列出符合条件的文件(如指定端口或IP)
-n不将网络地址转换成名称,直接显示数字形式的IP地址和端口号
-p <PID>列出指定PID(进程ID)的进程打开的文件
-u <UID>显示指定UID(用户ID)的用户打开的文件
-v显示版本信息
-h-?显示帮助信息

示例

  1. 列出所有打开的文件
    sudo lsof
    
  2. 列出特定进程(如PID为1234)打开的文件
    sudo lsof -p 1234
    
  3. 递归列出特定目录(如/var/log)下被打开的文件
    sudo lsof +D /var/log
    
  4. 列出特定用户(如用户名为john)打开的文件
    sudo lsof -u john
    
  5. 列出占用特定端口(如8080)的进程
    sudo lsof -i :8080
    
  6. 列出所有TCP网络连接
    sudo lsof -i tcp
    
  7. 列出指定命令打开的文件:
lsof -c ssh

典型示例以及输出结果的反馈分析

假设想要查看进程ID为 1234 的进程打开的所有网络连接,可以使用以下命令:

lsof -i -a -p 1234

输出结果

COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd    1234   user   4u  IPv4  12345      0t0  TCP *:80 (LISTEN)
httpd    1234   user   5u  IPv4  12346      0t0  TCP 192.168.1.2:80->192.168.1.3:56789 (ESTABLISHED)
httpd    1234   user   6u  IPv6  12347      0t0  TCP *:443 (LISTEN)

输出结果中各列的含义:

  • COMMAND:进程名
  • PID:进程ID
  • USER:进程所属用户
  • FD:文件描述符
  • TYPE:文件类型(如 IPv4、IPv6、UDP 等)
  • DEVICE:设备号
  • SIZE/OFF:文件大小或偏移量
  • NODE:索引节点号
  • NAME:文件名或网络地址

根据上述输出结果,可以得知:

  • 进程名为 httpd,进程ID为 1234,所属用户为 user
  • 该进程打开了三个网络连接:
    • 文件描述符为 4u 的连接是一个监听在端口 80 的 IPv4 TCP 连接。
    • 文件描述符为 5u 的连接是一个从 192.168.1.2:80192.168.1.3:56789 的已建立的 IPv4 TCP 连接。
    • 文件描述符为 6u 的连接是一个监听在端口 443 的 IPv6 TCP 连接。

ping-用于测试网络连接

ping命令是Linux系统中用于测试网络连接和诊断网络问题的常用工具。它通过发送ICMP(Internet控制消息协议)Echo请求包到目标主机,并等待接收回应包来工作。如果目标主机能够回应,则表示网络连接正常;如果请求超时或未收到回应,则可能表示网络连接存在问题。ping命令是iputils(或iputils-ping)程序包的一部分,该程序包已预先安装在绝大多数Linux发行版上。

基本语法

ping [options] destination

其中,options是可选的命令行选项,用于定制ping命令的行为;destination是目标主机的IP地址或主机名。

常用选项

选项描述
-c count指定发送ICMP回显请求的次数。例如,-c 5将发送5个请求。
-i interval指定每个ICMP回显请求之间的时间间隔(以秒为单位)。默认值为1秒。
-s packetsize指定发送的数据包大小(以字节为单位)。默认值为56字节(加上ICMP头后,通常为64字节)。
-t ttl设置ICMP回显请求的生存时间(TTL)。TTL决定了数据包在可以丢弃之前可以通过的最大路由器数。默认值为系统默认TTL值,通常为64。
-q以安静模式运行,只显示最后的结果,不显示每个ping请求的详细信息。
-v以详细模式运行,显示每个ping请求的详细信息。
-I interface使用指定的网络接口发送数据包。如果不指定,系统将使用默认网络接口。

示例

  1. 测试网络连接是否通畅
    ping www.google.com
    
    该命令将向www.google.com发送ICMP回显请求,并显示每个请求的响应时间和丢包情况。默认情况下,ping命令会持续发送请求直到用户中断(通常是通过按Ctrl+C)。
  2. 设置发送ICMP回显请求的次数
    ping -c 4 www.google.com
    
    该命令将向www.google.com发送4个ICMP回显请求,并在发送完所有请求后自动停止。
  3. 设置ICMP回显请求的时间间隔
    ping -i 2 www.google.com
    
    该命令将向www.google.com发送ICMP回显请求,并设置请求之间的时间间隔为2秒。
  4. 设置ICMP回显请求的数据包大小
    ping -s 1000 www.google.com
    
    该命令将向www.google.com发送ICMP回显请求,并设置数据包大小为1000字节(注意:由于ICMP头的大小,实际发送的数据包大小将稍大于1000字节)。但是,请注意,不是所有系统都允许发送大于标准大小(64字节)的ICMP数据包,且目标主机可能会忽略或拒绝接收过大的数据包。
  5. 详细模式运行
    ping -v www.google.com
    
    该命令将以详细模式运行,显示每个ICMP回显请求的详细信息,包括时间戳、TTL值等。但请注意,不是所有版本的ping命令都支持-v选项。如果不支持,该选项可能会被忽略或产生错误消息。

traceroute-跟踪数据包

traceroute命令是Linux系统中用于追踪数据包到目标主机之间路径的工具。它通过发送一系列的数据包(默认使用UDP协议,但也可以使用ICMP或TCP协议),并逐渐增加数据包的生存时间(TTL)值,从而探测数据包经过的每一个路由器(跳数)。该命令能够显示数据包经过的每一跳的IP地址和往返时间,对于诊断网络连接问题非常有用。

基本语法

traceroute [选项] 目标主机

其中,目标主机可以是IP地址或域名,选项用于定制traceroute命令的行为。

常用选项

选项描述
-I使用ICMP回应代替UDP数据报文来跟踪路径(有些系统可能默认使用ICMP)
-U使用UDP协议进行探测(这是默认行为,但在某些系统中可能需要显式指定)
-T使用TCP协议进行探测
-p <端口号>设置探测包的目标端口号(默认端口号随系统而异,通常是大于30000的端口)
-q <数据包数量>设置每个TTL值发送的数据包数量(默认为3)
-n直接使用IP地址而非尝试解析主机名
-m <最大跳数>设置数据包到达目标主机之前的最大跳数(默认为30)
-w <超时时间>设置等待响应的超时时间(以秒为单位)
-f <初始TTL值>设置数据包的初始TTL值(而不是从1开始)
-g <网关>设置松散源路由网关,允许用户指定数据包必须通过的路由点

示例

  1. 基本使用
    traceroute www.example.com
    
    此命令将追踪到www.example.com的路径,并显示每一跳的IP地址和往返时间。
  2. 指定最大跳数
    traceroute -m 5 www.example.com
    
    此命令将追踪到www.example.com的路径,但最多只显示前5跳的信息。
  3. 不显示主机名
    traceroute -n www.example.com
    
    此命令将追踪到www.example.com的路径,但只显示IP地址,不显示通过DNS解析得到的主机名。
  4. 设置UDP目标端口
    traceroute -p 80 www.example.com
    
    此命令将UDP探测包的目标端口设置为80(HTTP服务的默认端口),然后追踪到www.example.com的路径。
  5. 使用ICMP协议
    在某些系统中,可能需要显式指定使用ICMP协议:
    traceroute -I www.example.com
    
    但请注意,不是所有系统都支持-I选项来指定ICMP协议,这取决于traceroute命令的具体实现。

nslookup-域名解析

nslookup 是一个用于查询 DNS(域名系统)记录的命令行工具。它可以用来获取域名对应的 IP 地址、查看 DNS 服务器的响应时间等。

基本语法

nslookup [options] [hostname]

常用选项

选项描述
-query=<type>查询指定类型的 DNS 记录,如 A、AAAA、CNAME、MX、NS、PTR、SOA、SRV 等
-timeout=<seconds>设置查询超时时间,默认为 5 秒
-retry=<count>设置查询失败时的重试次数,默认为 3 次
-server=<IP>使用指定的 DNS 服务器进行查询,默认为系统配置的 DNS 服务器
-type=<type>-query=<type>,用于指定查询的 DNS 记录类型
-debug显示详细的调试信息

示例

  1. 查询域名为 example.com 的 A 记录:
nslookup -query=A example.com
  1. 查询域名为 example.com 的 MX 记录:
nslookup -query=MX example.php
  1. 使用指定的 DNS 服务器(如 8.8.8.8)查询域名为 example.com 的 A 记录:
nslookup -server=8.8.8.8 example.com
  1. 设置查询超时时间为 10 秒,查询域名为 example.com 的 A 记录:
ns霄lookup -timeout=10 -query=A example.com
  1. 显示详细的调试信息,查询域名为 example.com 的 A 记录:
nslookup -debug -query=A example.com

注意:nslookup 命令在某些 Linux 发行版中可能需要安装 bind-utils 软件包才能使用。例如,在 Ubuntu 系统中,可以使用以下命令安装:

sudo apt-get install bind9-utils

dig-查询DNS

dig(Domain Information Groper)是一个用于查询 DNS(域名系统)记录的命令行工具。它提供了比 nslookup 更丰富的功能和更详细的输出信息。

基本语法

dig [@server] [options] {name} [type]

常用选项

选项描述
-t@type查询指定类型的 DNS 记录,如 A、AAAA、CNAME、MX、NS、PTR、SOA、SRV 等
-c@count设置查询返回的记录数,默认为 50 条
-f@file从指定的文件中读取要查询的域名列表
-x@reverse进行反向查询,将 IP 地址转换为域名
-b@bind使用指定的 IP 地址作为本地地址进行查询
-p@port使用指定的端口进行查询,默认为 53 端口
-k@keyfile使用指定的密钥文件进行 TSIG(传输安全完整性)验证
-y@keyname:keysecret使用指定的密钥名称和密钥进行 TSIG 验证
-v@verbose显示详细的调试信息
-q@query设置查询的域名,等同于 {name} 参数

示例

  1. 查询域名为 example.com 的 A 记录:
dig example.com
  1. 查询域名为 example.com 的 MX 记录:
dig example.com MX
  1. 使用指定的 DNS 服务器(如 8.8.8.8)查询域名为 example.com 的 A 记录:
dig @8.8.8.8 example.com
  1. 进行反向查询,将 IP 地址 192.168.1.1 转换为域名:
dig -x 192.168.1.1
  1. 显示详细的调试信息,查询域名为 example.com 的 A 记录:
dig -v example.com

注意:dig 命令在某些 Linux 发行版中可能需要安装 dnsutils 软件包才能使用。例如,在 Ubuntu 系统中,可以使用以下命令安装:

sudo apt-get install dnsutils

简单的配置实例

通过修改/etc/resolv.conf 文件配置DNS实例

在Linux系统中,/etc/resolv.conf 文件是用来配置域名解析服务器的关键文件。当你想要手动设置系统使用的DNS服务器时,可以编辑这个文件。以下是一个使用 vim 编辑 /etc/resolv.conf 文件来配置DNS域名解析服务器的实例。

步骤 1: 打开终端

首先,你需要打开一个终端窗口。

步骤 2: 使用 vim 编辑 /etc/resolv.conf

在终端中,输入以下命令来编辑 /etc/resolv.conf 文件:

sudo vim /etc/resolv.conf

步骤 3: 配置DNS服务器

vim 中,你将看到 /etc/resolv.conf 文件的当前内容。如果文件是空的或你想更改设置,你可以按照以下格式添加或修改DNS服务器地址:

nameserver 8.8.8.8
nameserver 8.8.4.4

这里,8.8.8.88.8.4.4 是Google提供的公共DNS服务器的IP地址。你可以根据需要替换成其他DNS服务器的地址。

步骤 4: 保存并退出 vim

vim 中,你可以通过以下方式保存并退出:

  • 按下 Esc 键退出编辑模式。
  • 输入 :wq 并按 Enter 键保存更改并退出。

步骤 5: 测试DNS解析

为了确认你的DNS设置是否生效,你可以使用 dignslookup 命令来测试DNS解析。例如,使用 dig 命令查询 www.example.com 的IP地址:

dig www.example.com

或使用 nslookup 命令:

nslookup www.example.com

通过修改/etc/hosts 文件实现主机名与IP地址的静态映射

步骤 1: 打开终端

首先,你需要打开一个终端窗口。

步骤 2: 使用文本编辑器编辑 /etc/hosts

使用文本编辑器来编辑 /etc/hosts 文件,sudo / nano

sudo nano /etc/hosts

或者 vim

sudo vim /etc/hosts

步骤 3: 添加或修改主机名到 IP 地址的映射

/etc/hosts 文件中,每一行都包含一个 IP 地址和一个或多个与之关联的主机名。这些行遵循以下格式:

IP_address hostname1 [hostname2] ...

因此,如果想要将 IP 地址 192.168.1.100 映射到主机名 myserverwww.myserver.local,可以添加以下行:

192.168.1.100 myserver www.myserver.local

步骤 4: 保存并退出编辑器

  • 如果使用的是 nano,可以通过 Ctrl + O 保存更改,然后按 Enter 确认文件名,最后按 Ctrl + X 退出。
  • 如果使用的是 vim,可以通过 Esc 键退出编辑模式,然后输入 :wq 并按 Enter 键来保存更改并退出。

步骤 5: 测试映射

使用 ping 命令来测试主机名是否解析为正确的 IP 地址:

ping myserver

ping www.myserver.local

如果一切设置正确,ping 命令将显示发送 ICMP ECHO_REQUEST 数据包到指定的 IP 地址(在这个例子中是 192.168.1.100)的响应。

注意

  • /etc/hosts 文件中的更改会立即生效,不需要重启网络服务或计算机。
  • 这个文件是系统级别的,对所有用户都有效。
  • 修改 /etc/hosts 文件通常用于开发环境或测试环境,以便将开发服务器的主机名解析到本地或内部网络中的 IP 地址。在生产环境中,通常建议使用 DNS 服务器来管理域名解析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值