Kylin V10 上配置双网卡
作者:新野驿站 | 分类:电脑技术 | 浏览:14 | 日期:2026年06月08日银河麒麟(Kylin)V10 SP3 通常基于 Linux 内核(与 CentOS 8/RHEL 8 架构类似),网络管理工具默认为 NetworkManager。
在 Linux 环境下配置双网卡(内外网分离)的最佳实践,核心原则是 “一个默认网关”,在实现方式上需要使用 nmcli 命令或修改配置文件,并配合防火墙区域(Zone)管理。
以下是基于 Kylin V10 SP3 的详细配置指南:
核心原则
外网网卡 (WAN):配置 IP、子网掩码、默认网关、DNS。
内网网卡 (LAN):配置 IP、子网掩码。严禁配置默认网关。
确定网卡名称
首先,在终端查看网卡名称:
ip addr
# 或者
nmcli device

假设环境如下:
ens33 (外网/WAN):需要访问互联网。
ens37 (内网/LAN):连接内部业务网。
3. 使用 nmcli 配置(推荐方式)
Kylin V10 推荐使用 nmcli 进行配置,因为它会立即生效并自动处理配置文件。
A. 配置外网网卡 (WAN - ens33)
配置 IP、网关和 DNS(假设自动获取 IP 则无需手动设置,这里演示静态 IP):
# 1. 设置静态 IP 和掩码 (例如 24 代表 255.255.255.0)
nmcli connection modify ens33 ipv4.addresses 202.100.100.5/24 ipv4.method manual
# 2. 设置默认网关 (这是唯一的默认网关)
nmcli connection modify ens33 ipv4.gateway 202.100.100.1
# 3. 设置外网 DNS
nmcli connection modify ens33 ipv4.dns "114.114.114.114 8.8.8.8"
# 4. 激活连接
nmcli connection up ens33

B. 配置内网网卡 (LAN - ens37)
关键点: 不设置网关,并显式禁止该网卡成为默认路由。
# 1. 设置内网 IP 和掩码
nmcli connection modify ens37 ipv4.addresses 192.168.10.5/24 ipv4.method manual
# 2. 【关键】设置网关为空 (实际上如果不指定,默认就是空,但为了保险可以确认一下)
nmcli connection modify ens37 ipv4.gateway ""
# 3. 【最佳实践】禁止此接口成为默认路由
# 这步非常重要,防止 NetworkManager 误判将内网设为默认路由
nmcli connection modify ens37 ipv4.never-default yes
# 4. 激活连接
nmcli connection up ens37

配置内网静态路由 (解决跨网段访问)
如果你的内网服务器不仅要访问 192.168.10.x,还要访问 10.0.0.x 或其他内网段,必须添加静态路由。
# 语法:nmcli connection modify [网卡名] +ipv4.routes "[目标网段] [下一跳内网网关]"
# 添加路由
nmcli connection modify ens37 +ipv4.routes "10.0.0.0/8 192.168.10.1"
# 如果还有其他网段,继续添加
nmcli connection modify ens37 +ipv4.routes "172.16.0.0/16 192.168.10.1"
# 重启网卡生效
nmcli connection up ens37

安全加固:配置 Firewalld 区域 (Zone)
·安全加固:配置 Firewalld 区域 (Zone)
Linux 默认防火墙是 firewalld。为了安全,应将外网和内网网卡划分到不同的区域。
外网网卡:放入 public (仅开放 SSH 等必要端口) 或 external 区域。
内网网卡:放入 trusted (全信任) 或 internal 区域。
操作步骤:
# 1. 将外网网卡绑定到 public 区域 (默认通常就是 public,确认一下)
firewall-cmd --permanent --zone=public --change-interface=ens33
# 2. 将内网网卡绑定到 trusted 区域 (允许内网所有流量,或者使用 internal 进行更细粒度控制)
# 建议:如果是完全可信的内网,用 trusted;如果内网也有风险,用 internal 并手动放行端口
firewall-cmd --permanent --zone=trusted --change-interface=ens37
# 3. 重载防火墙配置
firewall-cmd --reload
# 4. 验证区域分配
firewall-cmd --get-active-zones

ip route

输出中应该只有一行 default via …,且指向外网网关。
内网路由应该显示为 192.168.10.0/24 dev ens37 …。
静态路由应该显示为 10.0.0.0/8 via 192.168.10.1 dev ens37 …。
2. 连通性测试
# 测试外网
ping www.baidu.com
# 测试内网同网段
ping 192.168.10.20
# 测试内网跨网段 (如果有静态路由)
ping 10.1.1.5

备选方案:修改配置文件 (传统方式)
如果你不喜欢用命令,也可以直接编辑配置文件(/etc/sysconfig/network-scripts/ 目录下)。
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=202.100.100.5
PREFIX=24
GATEWAY=202.100.100.1 # 只有这里写 GATEWAY
DNS1=114.114.114.114
DEFROUTE=yes # 允许默认路由

文件:ifcfg-ens37 (内网)
TYPE=Ethernet
BOOTPROTO=none
NAME=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.10.5
PREFIX=24
# GATEWAY= # 不要写这一行!
DEFROUTE=no # 禁止默认路由 (对应 ipv4.never-default)

文件:route-ens37 (内网静态路由,如果没有文件则新建)
# 目标网段/掩码 via 网关 dev 接口
10.0.0.0/8 via 192.168.10.1 dev ens37

修改后重新激活网络服务,不是重启,没有网络中断:
nmcli connection reload
nmcli connection up ens33
nmcli connection up ens37

总结
在 Kylin V10 上配置双网卡的最佳实践要点是:
使用 nmcli 工具管理。
外网配置 Gateway,内网设置 ipv4.never-default yes 且不配 Gateway。
使用静态路由解决内网跨网段通信。
使用 Firewalld 将内外网卡划分到不同 Zone (Public vs Trusted) 以隔离风险。

