置顶

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

1.png


假设环境如下:

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

2.png

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

3.png

  1. 配置内网静态路由 (解决跨网段访问)
    如果你的内网服务器不仅要访问 192.168.10.x,还要访问 10.0.0.x 或其他内网段,必须添加静态路由。

假设内网网关是 192.168.10.1,你想访问 10.0.0.0/8 网段:

# 语法: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

4.png

安全加固:配置 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

5.png

  1. 验证与排错
    配置完成后,请按顺序执行以下检查:

  2. 检查路由表

ip route

6.png

输出中应该只有一行 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

7.png

  1. 备选方案:修改配置文件 (传统方式)
    如果你不喜欢用命令,也可以直接编辑配置文件(/etc/sysconfig/network-scripts/ 目录下)。

文件:ifcfg-ens33 (外网)


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           # 允许默认路由

8.png

文件: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)

9.png

文件:route-ens37 (内网静态路由,如果没有文件则新建)


# 目标网段/掩码 via 网关 dev 接口
10.0.0.0/8 via 192.168.10.1 dev ens37

10.png

修改后重新激活网络服务,不是重启,没有网络中断:

nmcli connection reload
nmcli connection up ens33
nmcli connection up ens37

11.png

总结
在 Kylin V10 上配置双网卡的最佳实践要点是:

使用 nmcli 工具管理。
外网配置 Gateway,内网设置 ipv4.never-default yes 且不配 Gateway。
使用静态路由解决内网跨网段通信。
使用 Firewalld 将内外网卡划分到不同 Zone (Public vs  Trusted) 以隔离风险。













发表评论

取消
微信二维码
支付宝二维码

遇到问题?请给我们留言

请填写您的电话号码,我们将回复您电话