作者信息:https://home.cnblogs.com/u/huangjiabobk

在运维工作中,如果现在有两个网卡eth0和eth1,如何把公有流量分配给eth0,把内网流量分配给eth1?

在运维工作中,将不同类型的流量分配到不同的网卡(例如,将公网流量分配给eth0,内网流量分配给eth1)是一个常见的需求。这通常可以通过配置多条路由规则和使用策略路由(Policy-Based Routing)来实现。以下是详细的步骤和配置方法,适用于基于Linux的系统。

1. 目标
  1. eth0:用于公网流量,连接到外部网络。
  2. eth1:用于内网流量,连接到内部网络。
  3. 确保从eth0发出的流量不会被路由到内网,反之亦然。
2. 配置网络接口

首先,为eth0eth1配置合适的IP地址和网关。

2.1 eth0(公网接口)
# 配置eth0的IP地址和默认网关
sudo ip addr add 203.0.113.10/24 dev eth0
sudo ip route add default via 203.0.113.1 dev eth0
2.2 eth1(内网接口)
# 配置eth1的IP地址
sudo ip addr add 192.168.1.10/24 dev eth1
2. 创建自定义路由表

Linux支持多个路由表,可以通过ip routeip rule命令来管理。我们需要为eth0eth1分别创建独立的路由表。

2.1 编辑/etc/iproute2/rt_tables文件

/etc/iproute2/rt_tables文件中添加自定义路由表:

100 eth0_table
101 eth1_table
3. 配置路由规则

为每个网卡配置独立的路由表,并设置规则以区分流量。

3.1 为eth0配置路由规则
# 为eth0配置默认网关
sudo ip route add default via 203.0.113.1 dev eth0 table eth0_table
3.2 为eth1配置路由规则
# 为eth1配置内网网关(如果有)
sudo ip route add 192.168.1.0/24 dev eth1 table eth1_table
4. 设置策略路由规则

策略路由允许根据数据包的来源或其他属性选择不同的路由表。

4.1 将来自eth0的流量路由到eth0_table
sudo ip rule add from all iif eth0 lookup eth0_table
4.2 将来自eth1的流量路由到eth1_table
sudo ip rule add from all iif eth1 lookup eth1_table
5. 验证配置

验证路由表和规则是否生效。

5.1 查看路由表
sudo ip route show table eth0_table
sudo ip route show table eth1_table
5.2 查看路由规则
sudo ip rule show
5.3 测试网络连接
# 测试公网连接
ping -I eth0 8.8.8.8

# 测试内网连接
ping -I eth1 192.168.1.100
6. 持久化配置

为了确保配置在系统重启后仍然生效,需要将配置写入配置文件。

6.1 网络接口配置

编辑/etc/network/interfaces文件(适用于Debian系):

auto eth0
iface eth0 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1

auto eth1
iface eth1 inet static
    address 192.168.1.10/24

或者,编辑/etc/netplan/配置文件(适用于新版本的Ubuntu)。

6.2 路由规则持久化

将路由规则和策略路由规则写入启动脚本,例如/etc/rc.local

#!/bin/bash
# /etc/rc.local

# 添加路由表
ip route add default via 203.0.113.1 dev eth0 table eth0_table
ip route add 192.168.1.0/24 dev eth1 table eth1_table

# 添加策略路由规则
ip rule add from all iif eth0 lookup eth0_table
ip rule add from all iif eth1 lookup eth1_table
7. 我的总结

通过以上步骤,可以将公网流量分配给eth0,将内网流量分配给eth1。关键步骤包括:

  1. 配置网络接口和IP地址。
  2. 创建自定义路由表并设置路由规则。
  3. 使用策略路由规则区分流量。
  4. 验证配置并确保其持久化。

综上所述,这些配置可以确保流量按照预期分配到不同的网卡,从而优化网络性能并避免潜在的安全问题。

posted @ 2025-03-01 22:19  黄嘉波  阅读(168)  评论(0)    收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波