首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于双网络接口的Linux路由

基于双网络接口的Linux路由
EN

Unix & Linux用户
提问于 2021-05-13 15:41:39
回答 1查看 2.1K关注 0票数 0

我正在尝试建立一个系统,其中一个服务器有两个VLAN和两个相应的网络接口。我希望能够将服务绑定到特定的接口,以便它只接收来自该IP的通信量。这是当前的设置:

代码语言:javascript
复制
(ifconfig)
  enp28s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet A.B.1.171  netmask 255.255.255.0  broadcast A.B.1.255
        inet6 [.....]  prefixlen 64  scopeid 0x20<link>
        ether [.....]  txqueuelen 1000  (Ethernet)
        RX packets 37262  bytes 6954634 (6.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 28457  bytes 5529921 (5.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  enp28s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet C.D.1.112  netmask 255.255.255.0  broadcast C.D.1.255
        inet6 [.....]  prefixlen 64  scopeid 0x20<link>
        ether [.....]  txqueuelen 1000  (Ethernet)
        RX packets 2314778  bytes 212155740 (202.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5446  bytes 604308 (590.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 6600  bytes 420545 (410.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6600  bytes 420545 (410.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(netstat -rn)
  Kernel IP routing table
  Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
  0.0.0.0         A.B.1.1      0.0.0.0         UG        0 0          0 enp28s0f0
  0.0.0.0         C.D.1.1      0.0.0.0         UG        0 0          0 enp28s0f1
  A.B.1.0      0.0.0.0         255.255.255.0   U         0 0          0 enp28s0f0
  C.D.1.0      0.0.0.0         255.255.255.0   U         0 0          0 enp28s0f1

(ip route)
  default via A.B.1.1 dev enp28s0f0 proto static metric 100 
  default via C.D.1.1 dev enp28s0f1 proto static metric 101 
  A.B.1.0/24 dev enp28s0f0 proto kernel scope link src A.B.1.171 metric 100 
  C.D.1.0/24 dev enp28s0f1 proto kernel scope link src C.D.1.112 metric 101

(我用A,B,C,D替换了敏感信息)

目前,所有入站流量都是通过enp28s0f0路由的。我能够将服务A绑定到enp28s0f0接口IP A.B.1.171并正常接收流量。当通过enp28s0f1接口IP C.D.1.112向服务A发出请求时,它不会像预期的那样进入服务A。

但是,当我将服务B绑定到enp28s0f1接口IP时,我根本无法接收任何流量(我尝试向A.B.1.171C.D.1.112发出请求)。我怀疑这与用于两个接口子网的相同网关0.0.0.0有关,但我不完全确定。

另外,值得注意的是,我目前只使用一个路由表--默认的路由表--这可能会产生影响,但我不确定。

服务器正在运行RHEL7.9。如有任何帮助或指导,将不胜感激!

EN

回答 1

Unix & Linux用户

发布于 2021-05-14 04:07:35

从您共享的路由表输出中,您有两个默认网关,这是一个问题。您只需要一个默认网关,其余的应该是特定的目标网络。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/649568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档