引言
Linux网络管理就像编织一张精密的蜘蛛网🕸️,每个节点都需要精准配置!本文将带你全面掌握Linux网络管理的十大核心技能,从基础接口配置到高级路由策略,从DNS解析到防火墙设置,最后到网络监控与安全防护。无论你是要搭建企业级网络环境,还是解决家庭网络问题,这篇指南都能让你从"网络小白"变身"网络大神"!🚀 准备好你的终端,我们即将开始这段网络探索之旅!💻
一、网络接口配置
1.1 查看网络接口信息
ip link show # 查看所有网络接口
ip addr show # 显示IP地址信息
ifconfig -a # 传统命令(部分系统需安装net-tools)
ethtool eth0 # 查看网卡详细信息
1.2 临时配置IP地址
sudo ip addr add 192.168.1.100/24 dev eth0 # 添加IP
sudo ip link set eth0 up # 启用接口
sudo ip route add default via 192.168.1.1 # 添加默认网关
1.3 永久配置网络(不同发行版)
Debian/Ubuntu (/etc/network/interfaces)
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
RHEL/CentOS (/etc/sysconfig/network-scripts/ifcfg-eth0)
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
使用NetworkManager (nmcli)
sudo nmcli con add type ethernet con-name eth0 ifname eth0 ip4 192.168.1.100/24 gw4 192.168.1.1
sudo nmcli con mod eth0 ipv4.dns "8.8.8.8"
sudo nmcli con up eth0
二、路由管理
2.1 查看路由表
ip route show # 显示路由表
route -n # 传统命令
2.2 添加/删除路由
sudo ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0 # 添加静态路由
sudo ip route del 10.0.0.0/8 # 删除路由
2.3 持久化路由配置
# Debian/Ubuntu (/etc/network/interfaces)
up ip route add 10.0.0.0/8 via 192.168.1.1
# RHEL/CentOS (/etc/sysconfig/network-scripts/route-eth0)
10.0.0.0/8 via 192.168.1.1
三、DNS配置
3.1 查看DNS配置
cat /etc/resolv.conf # 查看当前DNS服务器
systemd-resolve --status # systemd系统DNS信息
3.2 配置永久DNS
Debian/Ubuntu
sudo nano /etc/systemd/resolved.conf
[Resolve]
DNS=8.8.8.8 1.1.1.1
RHEL/CentOS
sudo nano /etc/NetworkManager/NetworkManager.conf
[main]
dns=8.8.8.8
四、网络诊断工具
4.1 连通性测试
ping google.com # ICMP测试
ping6 ipv6.google.com # IPv6测试
traceroute google.com # 路由追踪
mtr google.com # 更高级的路由追踪
4.2 端口检查
telnet example.com 80 # TCP端口测试
nc -zv example.com 443 # TCP/UDP端口测试
netstat -tulnp # 查看本地监听端口
ss -tulnp # 更现代的替代命令
4.3 网络性能测试
iperf3 -s # 服务端
iperf3 -c server_ip # 客户端测试带宽
speedtest-cli # 互联网速度测试
五、防火墙管理
5.1 iptables (传统)
sudo iptables -L -n -v # 查看规则
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH
sudo iptables-save > /etc/iptables.rules # 保存规则
5.2 firewalld (RHEL/CentOS)
sudo firewall-cmd --list-all # 查看配置
sudo firewall-cmd --add-service=http --permanent # 允许HTTP
sudo firewall-cmd --reload # 重载配置
5.3 ufw (Ubuntu简化防火墙)
sudo ufw allow 22/tcp # 允许SSH
sudo ufw enable # 启用防火墙
sudo ufw status numbered # 查看规则
六、网络服务管理
6.1 SSH服务
sudo systemctl start sshd # 启动SSH服务
sudo nano /etc/ssh/sshd_config # 配置SSH
Port 2222 # 修改默认端口
PermitRootLogin no # 禁止root登录
6.2 Web服务 (Nginx/Apache)
sudo apt install nginx # Debian/Ubuntu安装
sudo yum install httpd # RHEL/CentOS安装
sudo systemctl enable --now nginx # 启用并启动
七、网络文件共享
7.1 NFS服务
sudo apt install nfs-kernel-server # 服务端
sudo nano /etc/exports # 配置共享目录
/home/user 192.168.1.0/24(rw,sync)
sudo exportfs -a # 应用配置
# 客户端挂载
sudo mount -t nfs server:/home/user /mnt
7.2 Samba服务
sudo apt install samba # 安装
sudo nano /etc/samba/smb.conf # 配置
[share]
path = /srv/share
read only = no
sudo smbpasswd -a user # 添加Samba用户
八、网络高级配置
8.1 绑定网络接口 (Bonding)
sudo nano /etc/network/interfaces
auto bond0
iface bond0 inet static
address 192.168.1.100
netmask 255.255.255.0
slaves eth0 eth1
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate 1
8.2 VLAN配置
sudo ip link add link eth0 name eth0.100 type vlan id 100
sudo ip addr add 192.168.100.1/24 dev eth0.100
sudo ip link set eth0.100 up
九、网络监控
9.1 实时流量监控
iftop -i eth0 # 按流量排序
nethogs # 按进程查看流量
bmon # 可视化监控
9.2 连接监控
ss -s # 统计连接数
netstat -ant | awk '{print $6}' | sort | uniq -c # 连接状态统计
十、网络安全
10.1 SSH加固
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no # 禁用密码认证
AllowUsers myuser # 只允许特定用户
MaxAuthTries 3 # 最大尝试次数
10.2 端口扫描防护
sudo apt install fail2ban # 安装入侵防护
sudo nano /etc/fail2ban/jail.local # 自定义配置
总结 🎯
通过本文的十大网络模块学习,我们已经构建了完整的Linux网络知识体系:
- 接口配置:ip命令的现代化网络配置 🌐
- 路由管理:从基础路由到策略路由的进阶 🛣️
- DNS解析:解析配置与故障排查 🔍
- 诊断工具:ping/traceroute/nmap组合拳 🛠️
- 防火墙:firewalld动态防护墙配置 🔥
网络黄金法则:
- 测试前备份网络配置 📋
- 变更前验证语法 ✔️
- 重要服务配置冗余 💎
记住:网络配置是门艺术,更是门科学! 现在就去实践这些命令,打造你的高性能网络环境吧!🚀🐧
PS:如果你在学习过程中遇到问题,别慌!欢迎在评论区留言,我会尽力帮你解决!😄