跳到主要内容

Ubuntu 网络命令

在Ubuntu中,网络配置是系统管理的重要组成部分。无论是设置静态IP地址、查看网络接口状态,还是诊断网络问题,掌握基本的网络命令都是必不可少的。本文将介绍一些常用的Ubuntu网络命令,并通过实际案例帮助你理解它们的用法。

1. 查看网络接口信息

ifconfig 命令

ifconfig 是一个经典的工具,用于查看和配置网络接口。虽然它在现代Ubuntu系统中已被 ip 命令取代,但仍然广泛使用。

bash
ifconfig

输出示例:

bash
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::a00:27ff:fe4e:66a1 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:4e:66:a1 txqueuelen 1000 (Ethernet)
RX packets 123456 bytes 123456789 (123.4 MB)
TX packets 654321 bytes 987654321 (987.6 MB)

ip 命令

ip 命令是 ifconfig 的现代替代品,功能更强大。

bash
ip addr show

输出示例:

bash
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:4e:66:a1 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 86388sec preferred_lft 86388sec
提示

ip 命令的语法更简洁,推荐使用 ip 命令来替代 ifconfig

2. 配置网络接口

设置静态IP地址

要设置静态IP地址,你可以编辑 /etc/netplan/ 目录下的配置文件。例如,编辑 01-netcfg.yaml 文件:

bash
sudo nano /etc/netplan/01-netcfg.yaml

示例配置:

yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4

保存并应用配置:

bash
sudo netplan apply

启用/禁用网络接口

你可以使用 ifconfigip 命令来启用或禁用网络接口。

启用接口:

bash
sudo ifconfig eth0 up

禁用接口:

bash
sudo ifconfig eth0 down

或者使用 ip 命令:

bash
sudo ip link set eth0 up
sudo ip link set eth0 down

3. 诊断网络问题

ping 命令

ping 命令用于测试与目标主机的连通性。

bash
ping google.com

输出示例:

bash
PING google.com (142.250.72.206) 56(84) bytes of data.
64 bytes from 142.250.72.206: icmp_seq=1 ttl=115 time=10.2 ms
64 bytes from 142.250.72.206: icmp_seq=2 ttl=115 time=9.8 ms

traceroute 命令

traceroute 命令用于跟踪数据包从源主机到目标主机的路径。

bash
traceroute google.com

输出示例:

bash
traceroute to google.com (142.250.72.206), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 0.5 ms 0.4 ms 0.3 ms
2 10.0.0.1 (10.0.0.1) 5.2 ms 5.1 ms 5.0 ms
3 142.250.72.206 (142.250.72.206) 10.2 ms 9.8 ms 9.7 ms

netstat 命令

netstat 命令用于显示网络连接、路由表、接口统计信息等。

bash
netstat -tuln

输出示例:

bash
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*

4. 实际案例

案例1:配置静态IP地址

假设你需要在Ubuntu服务器上配置一个静态IP地址 192.168.1.100,网关为 192.168.1.1,DNS服务器为 8.8.8.88.8.4.4

  1. 编辑 /etc/netplan/01-netcfg.yaml 文件:
yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
  1. 应用配置:
bash
sudo netplan apply

案例2:诊断网络连接问题

假设你无法访问 google.com,可以使用以下步骤进行诊断:

  1. 使用 ping 命令测试连通性:
bash
ping google.com
  1. 如果 ping 不通,使用 traceroute 查看数据包路径:
bash
traceroute google.com
  1. 检查本地网络接口状态:
bash
ip addr show eth0

5. 总结

本文介绍了Ubuntu中常用的网络命令,包括查看网络接口信息、配置网络接口、诊断网络问题等。通过实际案例,你可以更好地理解这些命令的用法。

6. 附加资源与练习

  • 练习1:尝试在你的Ubuntu系统上配置一个静态IP地址,并使用 ping 命令测试连通性。
  • 练习2:使用 traceroute 命令跟踪到 baidu.com 的路径,并记录每一跳的延迟。
  • 附加资源

通过不断练习和探索,你将更加熟练地掌握Ubuntu网络命令的使用。