Linux 网络配置和管理是系统管理员的核心技能之一。
网络配置文件:
- /etc/network/interfaces(Debian/Ubuntu):网络接口配置文件
- /etc/sysconfig/network-scripts/ifcfg-*(CentOS/RHEL):网络接口配置文件
- /etc/resolv.conf:DNS 解析配置文件
- /etc/hosts:主机名到 IP 地址的映射
- /etc/hostname:主机名配置
网络配置命令:
- ifconfig:配置和显示网络接口(已废弃,推荐使用 ip 命令)
- ip:新一代网络配置工具,如 ip addr show(显示 IP 地址)、ip link show(显示网络接口)、ip route show(显示路由表)
- route:显示和操作 IP 路由表,如 route -n(显示路由表)、route add default gw 192.168.1.1(添加默认网关)
- netstat:网络统计工具,如 netstat -tulnp(显示 TCP/UDP 监听端口)、netstat -an(显示所有连接)
- ss:netstat 的替代工具,性能更好,如 ss -tulnp
- ping:测试网络连通性,如 ping -c 4 google.com
- traceroute:跟踪数据包路由,如 traceroute google.com
- nslookup/dig:DNS 查询工具,如 dig google.com
- curl/wget:下载工具,curl -I http://example.com(查看响应头)
- telnet:测试端口连通性,如 telnet host port
- nc(netcat):网络工具,如 nc -zv host port(测试端口)
网络服务管理:
- systemctl:管理网络服务,如 systemctl restart network(重启网络服务)
- service:传统服务管理命令,如 service network restart
防火墙配置:
- iptables:传统的防火墙工具,如 iptables -L(列出规则)、iptables -A INPUT -p tcp --dport 80 -j ACCEPT(添加规则)
- firewalld:动态防火墙管理守护进程,如 firewall-cmd --list-all(查看规则)、firewall-cmd --add-port=80/tcp(开放端口)
- ufw:简化防火墙配置工具(Ubuntu),如 ufw allow 80(开放端口)
网络故障排查:
- 检查网络接口:ip addr show 或 ifconfig
- 检查路由表:ip route show 或 route -n
- 检查 DNS:cat /etc/resolv.conf、dig domain.com
- 检查端口监听:ss -tulnp 或 netstat -tulnp
- 检查网络连通性:ping、traceroute
- 抓包分析:tcpdump -i eth0 port 80
- 查看网络统计:sar -n DEV 1
网络性能优化:
- 调整 TCP 参数:修改 /etc/sysctl.conf,如 net.ipv4.tcp_tw_reuse=1
- 增加连接数:net.core.somaxconn、net.ipv4.tcp_max_syn_backlog
- 优化网络缓冲区:net.core.rmem_max、net.core.wmem_max