[Linux]Network Config
Network Config
1 网络接口简介
网络接口是操作系统内核连接网络软件部分与硬件部分的桥梁。
通过以下命令可以查看网络接口的信息:
1 |
|
ifconfig
命令
ifconfig
工具用于配置网络接口。若无网络接口设置,设备驱动程序与网络将无法通信。此工具在系统启动时自动运行,并根据配置文件设置接口,但用户也可手动修改。输出结果左侧显示接口名称,右侧展示详细信息。常见的接口包括:eth0
(首张以太网卡)、wlan0
(无线接口)和 lo
(回环接口)。回环接口用于表示本机,便于调试或访问本地服务器。
接口状态可分为启用(up)和禁用(down)。要关闭某个接口,可将其设为“down”。常用的字段包括:HWaddr(MAC地址)、inet address(IPv4地址)和 inet6(IPv6地址)。此外,子网掩码和广播地址也一目了然。可通过 /etc/network/interfaces
查看接口信息。
创建并启用接口示例:
1 |
|
启用或禁用接口:
1 |
|
ip
命令
ip
命令同样可用于管理系统网络栈。
使用示例:
- 显示所有接口信息:
1
$ ip link show
- 显示特定接口统计信息:
1
$ ip -s link show eth0
- 显示分配给各接口的IP地址:
1
$ ip address show
- 启用或禁用接口:
1
2$ ip link set eth0 up
$ ip link set eth0 down - 为接口添加IP地址:
1
$ ip address add 192.168.1.1/24 dev eth0
2 路由管理
使用 route
命令
添加新路由:
1 |
|
删除路由:
1 |
|
使用 ip
命令
同样,也可以使用 ip
命令进行上述修改:
添加路由:
1 |
|
删除路由:
指定网关删除:
1 |
|
不指定网关删除:
1 |
|
3 DHCP 客户端管理
dhclient
服务在系统启动时自动运行,并从 dhclient.conf
文件中获取网络接口列表。针对每个列出的接口,dhclient
尝试使用 DHCP 协议进行配置。
dhclient.leases
文件记录了跨系统重启后的租约列表。在读取 dhclient.conf
文件后,dhclient
会进一步读取 dhclient.leases
文件以了解已分配的租约情况。
获取新的 IP 地址
要为指定网络接口获取一个新的 IP 地址,执行以下命令:
1 |
|
此命令将触发 DHCP 客户端请求新的网络配置,确保设备能够获得最新的网络参数,从而维持网络连接的高效性和可靠性。
4 网络管理
为了确保系统的网络能够自动启动并运行,大多数发行版采用 NetworkManager 守护进程来实现自动化网络配置。如果使用的是图形用户界面(GUI),通常可以在桌面任务栏中找到 NetworkManager 的小程序图标,它负责管理网络硬件和连接信息。例如,在系统启动时,NetworkManager 会收集网络硬件信息,并搜索无线、有线等连接,然后激活这些连接。
命令行工具
除了图形界面外,还有一些命令行工具可以与 NetworkManager 进行交互:
- nm-tool
nm-tool
工具用于报告 NetworkManager 的状态及其设备的信息。以下是一个示例输出:
1 |
|
- nmcli
nmcli
命令允许用户控制和修改 NetworkManager 的配置。更多详细信息,请参阅相关手册页。
5 arp
当使用ARP查找MAC地址时,系统首先会检查本地存储的ARP缓存。可以查看此缓存:
1 |
|
在机器启动时,ARP缓存实际上是空的。随着数据包发送到其他主机,缓存逐渐被填充。如果向一个不在ARP缓存中的目标发送数据包,则会发生以下过程:
- 源主机创建带有ARP请求包的以太网帧。
- 源主机将此帧广播到整个网络。
- 如果网络上的某个主机知道正确的MAC地址,它将通过包含该MAC地址的回复包和帧进行回应。
- 源主机将IP到MAC地址的映射添加到ARP缓存中,然后继续发送数据包。
还可以通过ip
命令查看ARP缓存:
1 |
|