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

[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.lryc.cn/news/622111.html

相关文章:

  • 微服务容错与监控体系设计
  • 基于Selenium的web自动化框架
  • 另类pdb恢复方式-2
  • 机器学习中的PCA降维
  • 【GPT入门】第47课 大模型量化中 float32/float16/uint8/int4 的区别解析:从位数到应用场景
  • ifcfg-ens33 配置 BOOTPROTO 单网卡实现静态和dhcp 双IP
  • break的使用大全
  • 102、【OS】【Nuttx】【周边】文档构建渲染:安装 Esbonio 服务器
  • 医学名刊分析评介:医学前沿
  • CERT/CC警告:新型HTTP/2漏洞“MadeYouReset“恐致全球服务器遭DDoS攻击瘫痪
  • 神经网络、深度学习与自然语言处理
  • SpringCloud学习
  • ShardingSphere实战架构思考及优化实战问题
  • Delphi7:THashedStringList 详细用法指南
  • Gato:多模态、多任务、多具身的通用智能体架构
  • Unity中 terriaria草,在摄像机拉远的时候就看不见了,该怎么解决
  • 智能家居【home assistant】(二)-集成xiaomi_home
  • C++ #if
  • 什么是合并挖矿?
  • 重新定义城市探索!如何用“城市向导”解锁旅行新体验?
  • leetcode 刷题1
  • Chrome插件开发全指南
  • 【fwk基础】repo sync报错后如何快速修改更新
  • 集成电路学习:什么是Object Detection目标检测
  • Linux学习-软件编程(进程与线程)
  • Java生态中,实现MCP(Model Context Protocol)服务端工具开发主要的两大主流框架选择
  • 从前端框架到GIS开发系列课程(25)mapbox基础介绍以及加载第三方底图高德地图的实现
  • 数据结构初阶:排序算法(二)交换排序
  • ffmpeg-调整视频分辨率
  • 计算机视觉(opencv)实战五——图像平滑处理(均值滤波、方框滤波、高斯滤波、中值滤波)附加:视频逐帧平滑处理