Linux网络配置全攻略:从网卡到远程管理
Linux基础篇——Linux网络配置(配置网卡、固定IP,固定hostname,终端远程)详解
一、网卡配置基础
1.1 网卡状态查看与识别
在Linux系统中,网卡状态通过ip link或ifconfig(需安装net-tools)命令查看。推荐使用ip命令(属于iproute2工具包),其输出包含更详细的链路层信息:
ip link show
输出示例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
关键字段解析:
- <BROADCAST,MULTICAST,UP>:网卡已启用广播和多播功能
- state UP:物理链路已连接
- link/ether:MAC地址
1.2 临时禁用/启用网卡
sudo ip link set eth0 down # 禁用网卡
sudo ip link set eth0 up # 启用网卡
此操作常用于故障排查或配置变更前的准备。
二、固定IP地址配置
2.1 Netplan配置(Ubuntu 18.04+)
Ubuntu从18.04版本开始采用Netplan作为网络管理工具,配置文件位于/etc/netplan/目录(通常为01-netcfg.yaml或50-cloud-init.yaml)。
示例配置(静态IP):
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]
应用配置:
sudo netplan apply
常见问题处理:
- 配置文件语法错误:使用sudo netplan try可测试配置(30秒倒计时内无确认则回滚)
- 接口名称变更:通过ip a确认实际网卡名(如ens33、enp0s3等)
2.2 传统ifcfg配置(CentOS/RHEL)
在/etc/sysconfig/network-scripts/目录下创建或修改ifcfg-eth0文件:
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
重启网络服务:
sudo systemctl restart network
三、Hostname管理与修改
3.1 临时修改hostname
sudo hostname new-hostname # 立即生效,重启后失效
3.2 永久修改hostname
方法一:hostnamectl(推荐)
sudo hostnamectl set-hostname new-hostname
验证:
hostnamectl status
输出示例:
Static hostname: new-hostname
Icon name: computer-vm
Chassis: vm
Machine ID: xxxxxxxxxx
Boot ID: xxxxxxxxxx
Virtualization: kvm
Operating System: Ubuntu 20.04 LTS
Kernel: Linux 5.4.0-80-generic
Architecture: x86-64
方法二:修改配置文件
- Ubuntu/Debian:编辑/etc/hostname文件
- CentOS/RHEL:编辑/etc/hostname和/etc/sysconfig/network
3.3 主机名解析配置
在/etc/hosts文件中添加条目:
127.0.0.1 localhost
192.168.1.100 new-hostname
此配置确保本地服务能正确解析主机名。
四、终端远程管理
4.1 SSH服务配置
安装与启动
sudo apt install openssh-server # Ubuntu/Debian
sudo systemctl start sshd
sudo systemctl enable sshd
关键配置文件:/etc/ssh/sshd_config
Port 22 # 默认端口,建议修改为非标准端口
PermitRootLogin no # 禁止root直接登录
PasswordAuthentication no # 禁用密码认证(推荐使用密钥)
AllowUsers user1 user2 # 限制可登录用户
修改后重启服务:
sudo systemctl restart sshd
4.2 密钥认证配置
生成密钥对(客户端)
ssh-keygen -t ed25519 -C "your_email@example.com"
将公钥上传至服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
防火墙配置(UFW示例)
sudo ufw allow 2222/tcp # 假设SSH端口改为2222
sudo ufw enable
4.3 高级远程管理工具
Mosh(移动Shell)
安装:
sudo apt install mosh # Ubuntu/Debian
使用:
mosh user@server_ip --port=60000-61000
优势:自动重连、延迟优化,适合不稳定网络环境。
Tmux终端复用器
安装:
sudo apt install tmux
常用操作:
- tmux new -s session_name:创建新会话
- Ctrl+b d:分离会话
- tmux attach -t session_name:重新连接
五、故障排查指南
5.1 网络连通性测试
ping 8.8.8.8 # 测试基础连通性
ping google.com # 测试DNS解析
traceroute 8.8.8.8 # 路径追踪
5.2 SSH连接问题处理
- 连接拒绝:检查SSH服务状态、防火墙规则、端口监听- sudo ss -tulnp | grep sshd
 
- 认证失败:检查/var/log/auth.log(Ubuntu)或/var/log/secure(CentOS)
5.3 配置文件恢复
若配置错误导致无法远程连接,可通过以下方式恢复:
- 本地控制台访问:使用虚拟机控制台或物理机显示器
- 救援模式:通过系统安装介质启动救援模式
- 云服务器控制台:使用云厂商提供的VNC控制台
六、最佳实践建议
- 配置备份:修改前备份原始配置文件 - sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
 
- 分阶段测试:先在测试环境验证配置,再应用到生产环境 
- 自动化管理:使用Ansible等工具批量管理网络配置 - # Ansible示例任务
- - name: Configure static IP
- copy:
- dest: /etc/netplan/01-netcfg.yaml
- content: |
- network:
- version: 2
- ethernets:
- eth0:
- dhcp4: no
- addresses: [192.168.1.100/24]
- gateway4: 192.168.1.1
- notify:
- - Apply netplan
 
- 监控与告警:设置网络状态监控(如Prometheus+Node Exporter) 
通过系统化的网络配置管理,不仅能提升系统稳定性,还能为后续的自动化运维奠定基础。建议初学者从命令行操作开始,逐步掌握底层原理后再使用图形化工具。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!