当前位置:首页>Linux>Linux杂记 -- 网络配置

Linux杂记 -- 网络配置

  • 2026-10-11 08:43:05
Linux杂记 -- 网络配置
本文档涵盖 TCP/IP 网络、网络管理和系统配置基础知识。Linux 可以支持多个网络设备。设备名称是数字编号,从零开始向上计数。例如,具有两个网卡的计算机将有两个分别标记为 eth0 和 eth1 的设备。

17.1 本地 DNS 解析

文件:/etc/hosts 包含要在本地解析的主机列表(不通过 DNS)。
文件内容示例:
127.0.0.1       your-node-name.your-domain.com localhost.localdomain localhostXXX.XXX.XXX.XXX node-name
hosts 文件的格式由 RFC 952 规范定义。

17.2 配置域名解析的 DNS 服务器

文件:/etc/resolv.conf 包含域名解析的 DNS 服务器列表。
文件内容示例:
nameserver 8.8.8.8      # 主域名服务器的 IP 地址nameserver 8.8.4.4      # 次域名服务器的 IP 地址
如果使用内部 DNS 服务器,你可以使用 dig 命令验证此服务器是否正确解析 DNS 名称:
$ dig google.com @your.dns.server.com +short

17.3 查看和操作路由

使用 route 操作 IP 路由表。
显示路由表
$ route        # 显示路由列表并解析主机名$ route -n     # 显示路由列表而不解析主机名,以获得更快的结果
添加/删除路由
选项描述
add 或 del添加或删除路由
-host x.x.x.x添加路由到由 IP 地址标识的单个主机
-net x.x.x.x添加路由到由网络地址标识的网络
gw x.x.x.x指定网络网关
netmask x.x.x.x指定网络子网掩码
default添加默认路由
示例:
添加路由到主机:
$ route add -host x.x.x.x eth1
添加路由到网络:
$ route add -net2.2.2.0 netmask 255.255.255.0 eth0
或者,你也可以使用 CIDR 格式添加路由到网络:
$ route add -net2.2.2.0/24 eth0
添加默认网关:
$ route add default gw 2.2.2.1 eth0
删除路由:
$ route del -net2.2.2.0 netmask 255.255.255.0 eth0
使用 ip 操作 IP 路由表
显示路由表
$ ip route show

列出路由表

添加/删除路由
选项描述
add、del、change、append 或 replace更改路由
show 或 flush显示路由表内容或删除它
restore从标准输入恢复路由表信息
get获取到目的地的单一路由,并准确打印内核看到的内容
示例:
设置默认网关为 1.2.3.254:
$ ip route add default via 1.2.3.254
添加默认路由(针对所有地址),通过本地网关 192.168.1.1,该网关可在设备 eth0 上到达:
$ ip route add default via 192.168.1.1 dev eth0

17.4 为网络上的其他系统配置主机名

你可以配置你的 Linux(或 macOS)系统,以便在网络中将标识符  绑定到某个其他系统的 IP 地址。你可以通过以下方式配置:
系统范围。你应该修改 /etc/hosts 文件。你只需向该文件添加一行,包含:
  • 远程系统的 IP 地址 <ip_rem>,
  • 一个或多个空白空格,以及
  • 标识符 <hostname>。
单用户。你应该修改 ~/.hosts 文件 —— 你需要创建它。这不像系统范围那样简单。
例如,你可以使用 cat Unix 工具添加这一行。假设你想 ping 本地网络中的一台 PC,其 IP 地址为 192.168.1.44,你只想通过 remote_pc 来引用该 IP 地址。然后你必须在 shell 上写入:
$ sudo cat 192.168.1.44 remote_pc >> /etc/hosts
然后你可以这样 ping:
$ ping remote_pc

17.5 接口详情

Ifconfig
列出机器上所有可用的接口:
$ ifconfig -a
列出特定接口的详细信息:
语法:$ ifconfig
示例:
$ ifconfig eth0
输出示例:
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xxinet addr:x.x.x.x  Bcast:x.x.x.x  Mask:x.x.x.xinet6 addr: xxxx::xxx:xxxx:xxxx:xxxx/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:4426618 errors:0 dropped:1124 overruns:0 frame:0TX packets:189171 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:382611580 (382.6 MB)  TX bytes:36923665 (36.9 MB)Interrupt:16 Memory:fb5e0000-fb600000
Ethtool - 查询网络驱动程序和硬件设置
语法:$ ethtool <interface>
示例:
$ ethtool eth0
输出示例:
Settings for eth0:        Supported ports: [ TP ]        Supported link modes:   10baseT/Half 10baseT/Full                                100baseT/Half 100baseT/Full                                1000baseT/Full        Supported pause frame use: No        Supports auto-negotiation: Yes        Advertised link modes:  10baseT/Half 10baseT/Full                                100baseT/Half 100baseT/Full                                1000baseT/Full        Advertised pause frame use: No        Advertised auto-negotiation: Yes        Speed: 1000Mb/s        Duplex: Full        Port: Twisted Pair        PHYAD: 1        Transceiver: internal        Auto-negotiation: on        MDI-X: on (auto)        Supports Wake-on: pumbg        Wake-on: g        Current message level: 0x00000007 (7)                               drv probe link        Link detected: yes
ip - 显示/操作路由、设备、策略路由和隧道
语法:$ ip { link | ... | route | macsec }(有关完整对象列表,请参见 man ip)
示例:
列出网络接口:
$ ip link show
将接口 eth0 重命名为 wan:
$ ip link set dev eth0 name wan
启用(或禁用)接口 eth0:
$ ip link set dev eth0 up
列出接口地址:
$ ip addr show
添加(或删除)IP 和掩码:
$ ip addr add 1.2.3.4/24 brd + dev eth0

17.6 为接口添加 IP 地址

接口的 IP 地址可以通过 DHCP 或静态分配获得。
DHCP如果你连接到有 DHCP 服务器运行的网络,dhclient 命令可以为你的接口获取 IP 地址:
$ dhclient <interface>
或者,你可以更改 /etc/network/interfaces 文件,使接口在启动时启动并获取 DHCP IP:
auto eth0iface eth0 inet dhcp
静态配置(永久更改)使用 /etc/network/interfaces 文件
如果你想静态配置接口设置(永久更改),你可以在 /etc/network/interfaces 中进行:
示例:
auto eth0                    # 启动时启用接口iface eth0 inet static    address 10.10.70.10    netmask 255.255.0.0    gateway 10.10.1.1    dns-nameservers 10.10.1.20    dns-nameservers 10.10.1.21
这些更改在系统重启后仍然有效。
静态配置(临时更改)使用 ifconfig 实用程序
可以使用 ifconfig 实用程序将静态 IP 地址添加到接口:
$ ifconfig <interface> <ip-address>/<mask> up
示例:
$ ifconfig eth0 10.10.50.100/16 up

最新文章

随机文章