在运维工作中,如果现在有两个网卡eth0和eth1,如何把公有流量分配给eth0,把内网流量分配给eth1?
在运维工作中,将不同类型的流量分配到不同的网卡(例如,将公网流量分配给eth0,内网流量分配给eth1)是一个常见的需求。这通常可以通过配置多条路由规则和使用策略路由(Policy-Based Routing)来实现。以下是详细的步骤和配置方法,适用于基于Linux的系统。
1. 目标
- eth0:用于公网流量,连接到外部网络。
- eth1:用于内网流量,连接到内部网络。
- 确保从
eth0发出的流量不会被路由到内网,反之亦然。
2. 配置网络接口
首先,为eth0和eth1配置合适的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 route和ip rule命令来管理。我们需要为eth0和eth1分别创建独立的路由表。
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。关键步骤包括:
- 配置网络接口和IP地址。
- 创建自定义路由表并设置路由规则。
- 使用策略路由规则区分流量。
- 验证配置并确保其持久化。
综上所述,这些配置可以确保流量按照预期分配到不同的网卡,从而优化网络性能并避免潜在的安全问题。

浙公网安备 33010602011771号