Linux网络配置
一、网络配置核心技能
1.1 网络配置原理图解析
在进行Linux网络配置前,理解网络架构至关重要。典型的网络配置涉及以下组件:
- 物理网卡:如ens33、eth0等网络接口
- IP协议栈:处理TCP/IP协议族的网络通信
- 路由表:决定数据包转发路径
- DNS解析器:将域名转换为IP地址
通过绘制网络拓扑图可清晰展示虚拟机、网关、DNS服务器等组件的交互关系,建议使用draw.io等工具进行可视化建模。
1.2 网络信息查看工具
1.2.1 查看IP与网关
ifconfig # 查看所有网络接口信息
ip addr # 更现代的替代命令
route -n # 显示路由表(网关信息)
nmcli d show | grep "IP4.ADDRESS" # NetworkManager方式
1.2.2 虚拟机网络编辑器配置
在VMware/VirtualBox中:
- 设置VMnet8为NAT模式
- 配置子网IP:192.168.200.0
- 设置网关:192.168.200.2
- 确保DHCP范围与静态IP不冲突
1.3 双系统网络调试技巧
Windows与Linux互通时:
- Windows端使用
ipconfig
查看VMnet8地址 - Linux端使用
ping 192.168.200.1
测试网关连通性 - 关闭Windows防火墙或添加入站规则
1.4 静态IP配置实战
修改/etc/sysconfig/network-scripts/ifcfg-ens33
:
BOOTPROTO=static # 禁用DHCP
IPADDR=192.168.200.130 # 静态IP
GATEWAY=192.168.200.2 # 网关
DNS1=8.8.8.8 # 备用DNS(可选)
ONBOOT=yes # 开机自启
配置后执行:
systemctl restart NetworkManager # CentOS7+
# 或
nmcli c reload # 新式网络管理
二、进程管理核心技能
2.1 进程查看命令精解
ps aux # 显示所有用户进程
ps -ef # 标准UNIX风格输出
top # 实时进程监控(类似Windows任务管理器)
htop # 增强版top(需安装)
关键字段解读:
- USER:进程所有者
- PID:进程唯一标识
- %CPU/%MEM:资源占用率
- STAT:进程状态(R-运行, S-睡眠, Z-僵尸)
2.2 进程控制实战
kill -9 1234 # 强制终止PID为1234的进程
pkill -f "nginx" # 终止所有包含"nginx"的进程
nohup ./script.sh & # 后台运行并忽略挂断信号
bg/fg # 前后台进程切换
2.3 系统服务管理
systemctl status firewalld # 查看防火墙状态
systemctl enable httpd # 设置开机自启
systemctl restart mysqld # 重启MySQL服务
journalctl -u nginx -f # 实时查看nginx日志
三、常见问题解决方案
3.1 虚拟机网络异常处理
症状:ifconfig
不显示ens33接口
解决方案:
- 临时修复:
sudo systemctl stop NetworkManager
sudo systemctl restart network
- 永久修复:
sudo nmcli networking on # 启用NetworkManager
sudo nmcli connection reload # 重载连接配置
3.2 DNS解析故障排查
- 检查
/etc/resolv.conf
是否存在有效nameserver - 测试DNS解析:
nslookup www.baidu.com
dig @8.8.8.8 example.com # 指定DNS服务器查询
- 清除DNS缓存:
systemd-resolve --flush-caches # systemd-resolved服务
3.3 网络服务重启规范
sudo systemctl restart network # 传统方式
sudo nmcli networking off && sudo nmcli networking on # 新式NetworkManager
sudo reboot # 终极方案
四、高级配置技巧
4.1 多网卡绑定(Bonding)
在/etc/modprobe.d/bonding.conf
中配置:
alias bond0 bonding
options bond0 miimon=100 mode=1
创建虚拟接口:
nmcli con add type bond ifname bond0 mode active-backup
nmcli con add type ethernet slave-type bond master bond0
4.2 防火墙配置模板
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
4.3 网络性能调优
# 调整内核参数
sysctl -w net.core.somaxconn=65535
sysctl -w net.ipv4.tcp_max_syn_backlog=8192
# 使用tc进行流量控制
tc qdisc add dev eth0 root handle 1: htb default 12
五、安全加固建议
- 禁用不必要服务:
systemctl stop postfix
systemctl disable postfix
- 配置IPtables规则:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
service iptables save
- 启用SELinux增强:
setenforce 1
sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config
通过掌握这些核心技能,系统管理员可以高效完成Linux网络配置和进程管理任务。建议定期使用nmap
进行端口扫描,netstat -tulnp
检查监听端口,保持系统处于最佳运行状态。