我正在尝试建立一个系统,其中一台服务器有 2 个 VLAN 和 2 个相应的网络接口。我希望能够将服务绑定到特定接口,以便它只接收来自该 IP 的流量。这是当前的设置:
(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
接口 IPA.B.1.171
并正常接收流量。当通过enp28s0f1
接口 IP向服务 A 发出请求时,C.D.1.112
它不会按预期发送到服务 A。
但是,当我将服务 B 绑定到enp28s0f1
接口 IP 时,我根本无法接收任何流量(我尝试向A.B.1.171
和发送请求C.D.1.112
)。我怀疑这与0.0.0.0
两个接口子网使用相同的网关有关,但我不完全确定。
还可能有用的是,我目前只使用 1 个路由表(默认路由表),这可能会产生影响,但我不确定。
服务器运行的是 RHEL 7.9。任何帮助/指导表示赞赏!
答案1
从您共享的路由表输出来看,您有两个默认网关,这是一个问题。您只需要一个默认网关,其余的应该是特定的目标网络。