Linux网络配置核心是IP地址、路由表与防火墙协同;需区分临时(ip命令)与永久(配置文件)设置,明确默认/静态路由,合理选用firewalld或nftables,并按链路→网络→传输→应用层逐层排错。

Linux系统中配置网络,核心是掌握IP地址、路由表和防火墙三者的协同关系。配置不当容易导致无法联网、服务不可达或安全风险。下面从实际运维角度分步说明关键操作和注意事项。
IP地址配置:临时与永久设置要区分
临时配置用ip命令,重启即失效,适合测试;永久配置需修改网卡配置文件,不同发行版路径不同。
- 临时添加IPv4地址:ip addr add 192.168.10.100/24 dev eth0
- 临时启用网卡:ip link set eth0 up
- CentOS/RHEL 7+ 永久配置在 /etc/sysconfig/network-scripts/ifcfg-eth0 中设置 IPADDR、PREFIX、ONBOOT=yes
- Ubuntu/Debian 使用 /etc/netplan/*.yaml,配置后运行 sudo netplan apply
路由管理:默认网关与静态路由要明确
内核路由表决定数据包发往哪里。没有正确默认路由,机器就出不了本地网段。
- 查看当前路由:ip route show 或 route -n
- 添加临时默认网关:ip route add default via 192.168.1.1 dev eth0
- 添加到特定网段的静态路由:ip route add 10.20.0.0/16 via 192.168.1.254
- 永久路由:CentOS 在 /etc/sysconfig/network-scripts/route-eth0 中写入;Ubuntu NetPlan 支持 routes: 配置块
防火墙策略:iptables与nftables选型与基础规则
firewalld 是多数新发行版默认前端,底层可能是 nftables(RHEL 8+/Fedora)或 iptables(旧版)。理解底层逻辑比死记命令更重要。
- 检查状态:sudo firewall-cmd --state 或 sudo nft list ruleset
- 开放某端口(firewalld):sudo firewall-cmd --add-port=8080/tcp --permanent && sudo firewall-cmd --reload
- 允许某IP访问SSH:sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.5.10" port port="22" protocol="tcp" accept' --permanent
- 如需精细控制,直接用 nftables 更高效:先清空链,再添加带计数器的规则,便于排查
排错思路:按层验证,避免盲目重配
网络不通时,按“链路层→网络层→传输层→应用层”顺序验证,每步确认再进下一步。
- 物理/驱动层:运行 ip link show eth0 看是否 UP,LOWER_UP 是否存在
- IP层:用 ping -c3 192.168.1.1 测试网关;失败则检查IP、子网掩码、网卡状态
- 路由层:执行 ip route get 8.8.8.8 查看去往外部地址的实际出口和网关
- 防火墙层:临时禁用 sudo systemctl stop firewalld(或 ufw),再测连通性











