简介:本文详细解析Linux系统下网络配置的核心操作,涵盖网卡管理、固定IP设置、hostname修改及SSH远程连接等关键环节,提供可落地的配置方案和故障排查技巧。
在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 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
关键字段解析:
<BROADCAST,MULTICAST,UP>:网卡已启用广播和多播功能state UP:物理链路已连接link/ether:MAC地址
sudo ip link set eth0 down # 禁用网卡sudo ip link set eth0 up # 启用网卡
此操作常用于故障排查或配置变更前的准备。
Ubuntu从18.04版本开始采用Netplan作为网络管理工具,配置文件位于/etc/netplan/目录(通常为01-netcfg.yaml或50-cloud-init.yaml)。
network:version: 2renderer: networkdethernets:eth0:dhcp4: noaddresses: [192.168.1.100/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8, 8.8.4.4]
应用配置:
sudo netplan apply
sudo netplan try可测试配置(30秒倒计时内无确认则回滚)ip a确认实际网卡名(如ens33、enp0s3等)在/etc/sysconfig/network-scripts/目录下创建或修改ifcfg-eth0文件:
TYPE=EthernetBOOTPROTO=noneNAME=eth0DEVICE=eth0ONBOOT=yesIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=8.8.8.8DNS2=8.8.4.4
重启网络服务:
sudo systemctl restart network
sudo hostname new-hostname # 立即生效,重启后失效
sudo hostnamectl set-hostname new-hostname
验证:
hostnamectl status
输出示例:
Static hostname: new-hostnameIcon name: computer-vmChassis: vmMachine ID: xxxxxxxxxxBoot ID: xxxxxxxxxxVirtualization: kvmOperating System: Ubuntu 20.04 LTSKernel: Linux 5.4.0-80-genericArchitecture: x86-64
/etc/hostname文件/etc/hostname和/etc/sysconfig/network在/etc/hosts文件中添加条目:
127.0.0.1 localhost192.168.1.100 new-hostname
此配置确保本地服务能正确解析主机名。
sudo apt install openssh-server # Ubuntu/Debiansudo systemctl start sshdsudo systemctl enable sshd
/etc/ssh/sshd_config
Port 22 # 默认端口,建议修改为非标准端口PermitRootLogin no # 禁止root直接登录PasswordAuthentication no # 禁用密码认证(推荐使用密钥)AllowUsers user1 user2 # 限制可登录用户
修改后重启服务:
sudo systemctl restart sshd
ssh-keygen -t ed25519 -C "your_email@example.com"
将公钥上传至服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
sudo ufw allow 2222/tcp # 假设SSH端口改为2222sudo ufw enable
安装:
sudo apt install mosh # Ubuntu/Debian
使用:
mosh user@server_ip --port=60000-61000
优势:自动重连、延迟优化,适合不稳定网络环境。
安装:
sudo apt install tmux
常用操作:
tmux new -s session_name:创建新会话Ctrl+b d:分离会话tmux attach -t session_name:重新连接
ping 8.8.8.8 # 测试基础连通性ping google.com # 测试DNS解析traceroute 8.8.8.8 # 路径追踪
sudo ss -tulnp | grep sshd
/var/log/auth.log(Ubuntu)或/var/log/secure(CentOS)若配置错误导致无法远程连接,可通过以下方式恢复:
配置备份:修改前备份原始配置文件
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
分阶段测试:先在测试环境验证配置,再应用到生产环境
自动化管理:使用Ansible等工具批量管理网络配置
# Ansible示例任务- name: Configure static IPcopy:dest: /etc/netplan/01-netcfg.yamlcontent: |network:version: 2ethernets:eth0:dhcp4: noaddresses: [192.168.1.100/24]gateway4: 192.168.1.1notify:- Apply netplan
监控与告警:设置网络状态监控(如Prometheus+Node Exporter)
通过系统化的网络配置管理,不仅能提升系统稳定性,还能为后续的自动化运维奠定基础。建议初学者从命令行操作开始,逐步掌握底层原理后再使用图形化工具。