当前位置: 首页 > ai >正文

[Linux]双网卡 CentOS 系统中指定网络请求走特定网卡的配置方法

前言

在实际的服务器运维工作中,经常会遇到双网卡的 CentOS 系统需要指定某个域名或 IP 通过特定网卡进行网络请求的情况。本文将详细介绍这一过程的具体操作步骤,包括相关配置、问题排查及注意事项。

一、核心配置思路

当需要让某个特定域名(如example.domain.com)的网络请求通过指定网卡传输时,核心思路是将该域名解析后的 IP 地址与目标网卡进行绑定,通过配置路由规则实现流量的定向传输。这一过程主要涉及目标网卡信息确认、域名 IP 解析、路由规则配置及验证等环节。

二、具体操作步骤

(一)前提准备工作

  1. 确认目标网卡信息

首先需要明确系统中各网卡的名称及对应 IP 信息,可通过以下命令查看:

ip addr

假设通过该命令查找到目标网卡为eth1,其 IP 地址为192.168.3.10/24(虚构 IP)。

同时,查看系统现有路由情况(包含默认网关信息):

ip route show
  1. 获取域名对应的 IP 地址

使用nslookupdig命令解析目标域名的 IP 地址,例如:

nslookup example.domain.com

假设解析结果为10.20.30.40(虚构 IP),若有多个 IP 地址,需全部记录。

(二)临时路由配置

通过ip route命令为域名解析出的 IP 地址添加临时路由,指定通过目标网卡eth1访问,命令格式如下:

ip route add 10.20.30.40/32 via 192.168.3.1 dev eth1

其中,10.20.30.40/32表示仅针对该单个 IP;via 192.168.3.1指定目标网卡的网关;dev eth1强制通过eth1网卡发送流量。

若域名对应多个 IP,需逐一添加路由,例如:

ip route add 10.20.30.41/32 via 192.168.3.1 dev eth1ip route add 10.20.30.42/32 via 192.168.3.1 dev eth1

需要注意的是,临时路由在系统重启后会失效。

(三)持久化路由配置

为确保路由配置在系统重启后仍能生效,需进行持久化配置。在 CentOS 系统中,可通过网卡的路由配置文件实现。

  1. 创建或编辑目标网卡的路由文件,文件名格式为route-[网卡名称],例如eth1的路由文件为/etc/sysconfig/network-scripts/route-eth1,命令如下:
vi /etc/sysconfig/network-scripts/route-eth1
  1. 在该文件中添加与临时路由对应的路由规则,格式如下:
10.20.30.40/32 via 192.168.3.1 dev eth110.20.30.41/32 via 192.168.3.1 dev eth1
  1. 保存文件后,重启网络服务使配置生效。在 CentOS 7 及更早版本中,可使用:
systemctl restart network

而在 CentOS 8 及以上版本,network.service已被废弃,需使用NetworkManager服务:

systemctl restart NetworkManager

也可重启特定网卡:

ifdown eth1 && ifup eth1

(四)配置验证

  1. 查看路由是否添加成功,使用命令:
ip route show | grep 10.20.30.40

若输出包含via 192.168.3.1 dev eth1,则说明路由配置成功。

  1. 测试流量是否通过目标网卡,可使用curltraceroute命令:
curl -v example.domain.com 2>&1 | grep "Connected to"traceroute example.domain.com

Connected to后的 IP 对应目标网卡的网段,或traceroute首跳为目标网卡网关,则配置生效。

三、相关问题及解决方法

(一)查看指定网卡网关

若不确定目标网卡的网关信息,可通过以下方法查看:

  1. 使用ip route命令,先找到目标网卡名称,再查看对应网关:
ip route show | grep "dev eth1"

若输出类似default via 192.168.3.1 dev eth1,则192.168.3.1即为该网卡的网关。

  1. 查看网卡配置文件,进入网络配置文件目录:
cd /etc/sysconfig/network-scripts/

找到对应网卡的配置文件(如ifcfg-eth1),查看其中的网关配置:

cat ifcfg-eth1

若文件中存在GATEWAY=192.168.3.1,则等号后的值即为网关。

(二)删除路由配置

若需要删除已添加的路由,可使用ip route del命令:

ip route del 10.20.30.40/32 via 192.168.3.1 dev eth1

同时,若该路由已写入持久化配置文件,需手动编辑文件删除对应的行,并重启网络服务。

(三)路由配置文件相关

/etc/sysconfig/network-scripts目录下的route-<网卡名>文件是手动创建的持久化路由配置文件,系统默认不会自动生成。只有当为某块网卡配置过持久化路由时,对应的文件才会存在。若需要为eth1配置持久化路由,可手动创建route-eth1文件并添加相应规则。


原创内容,转发请注明。

http://www.xdnf.cn/news/17804.html

相关文章:

  • ifcfg-ens33 配置 BOOTPROTO 单网卡实现静态和dhcp 双IP
  • 《Python列表和元组:从入门到花式操作指南》
  • 做亚马逊广告,有哪些提高效率的工具
  • sqli-labs通关笔记-第49关 GET字符型order by盲注(单引号闭合 手工注入+脚本注入两种方法)
  • CAS学习6:cas免登录时 iframe 跨域和TGC丢失问题处理
  • 从0开始跟小甲鱼C语言视频使用linux一步步学习C语言(持续更新)8.15
  • 面试经典150题[004]:删除有序数组中的重复项 II(LeetCode 80)
  • 《R for Data Science (2e)》免费中文翻译 (第4章) --- Workflow: code style
  • 网络安全蓝队常用工具全景与实战指南
  • 【Unity3D实例-功能-移动】角色行走和奔跑的相互切换
  • 【系统安装】虚拟机中安装win10IOT企业版系统记录
  • 【软考中级网络工程师】知识点之入侵检测深度剖析
  • Elasticsearch:如何使用 Qwen3 来做向量搜索
  • STM32学习笔记11-通信协议-串口基本发送与接收
  • uni-app 小程序跳转小程序
  • 初识c语言————缓冲区字符滞留
  • Cookie、Session、Token详解
  • 【嵌入式C语言】四
  • vscode使用keil5出现变量跳转不了
  • CTFShow PWN入门---Kernel PWN 356-360 [持续更新]
  • OpenCV图像平滑处理方法详解
  • 什么是主成分分析(PCA)和数据降维
  • Serverless 架构核心解析与应用实践
  • IPTV系统:开启视听与管理的全新篇章
  • redis中分布式锁的应用
  • 玩转Docker | 使用Docker部署JSON格式化工具ZJSON
  • 【论文阅读】基于多变量CNN模型的可穿戴外骨骼机器人人体运动活动识别
  • 计算机视觉--opencv(代码详细教程)(二)
  • Webpack Plugin 深度解析:从原理到实战开发指南
  • 【漏洞复现】WinRAR 目录穿越漏洞(CVE-2025-8088)