Linux 网络管理 的实战代码示例
涵盖网络接口配置、连接测试、防火墙管理、数据包捕获、服务监控等核心场景。每个示例均附带详细注释和操作说明,帮助您深入理解 Linux 网络管理的实战技巧。
1. 网络接口配置与管理
1.1 使用 ip
命令管理网络接口
ip
是现代 Linux 系统中管理网络的主要工具,功能比 ifconfig
更强大且灵活。
# 查看所有网络接口的状态
ip link show# 启用或禁用网络接口(例如 eth0)
sudo ip link set dev eth0 up # 启用 eth0
sudo ip link set dev eth0 down # 禁用 eth0# 为接口分配 IP 地址和子网掩码
sudo ip addr add 192.168.1.100/24 dev eth0# 删除接口上的 IP 地址
sudo ip addr del 192.168.1.100/24 dev eth0# 查看路由表
ip route show# 添加默认网关
sudo ip route add default via 192.168.1.1 dev eth0# 删除默认网关
sudo ip route del default via 192.168.1.1 dev eth0
1.2 使用 nmcli
管理网络连接
nmcli
是 NetworkManager 的命令行工具,适合动态管理网络连接。
# 查看当前网络连接状态
nmcli connection show# 创建一个新的以太网连接(例如 eth0)
nmcli connection add type ethernet ifname eth0 con-name eth0-connection# 启动网络连接
nmcli connection up eth0-connection# 设置静态 IP 地址
nmcli connection modify eth0-connection ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8# 应用修改并重启连接
nmcli connection down eth0-connection && nmcli connection up eth0-connection
1.3 使用 ifconfig
配置网络接口(旧版系统)
虽然 ifconfig
已被 ip
取代,但在旧系统中仍可能用到。
# 查看网络接口信息
ifconfig# 为接口 eth0 分配 IP 地址
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0# 删除接口的 IP 地址
sudo ifconfig eth0 0.0.0.0
1.4 修改 MTU(最大传输单元)
MTU 是网络接口一次传输的最大数据包大小,调整 MTU 可优化网络性能。
# 查看接口的 MTU
ip link show eth0# 修改 MTU 为 1500
sudo ip link set dev eth0 mtu 1500