Linux双网卡同网段使用策略路由控制流量哪张网卡进就哪张网卡出

环境:

双网卡同网段:

ens33:192.168.172.109

ens37:192.168.172.119

Centos7操作系统

net.ipv4.conf.all.arp_ignore=1

net.ipv4.conf.ens33.arp_ignore=1

net.ipv4.conf.ens34.arp_ignore=1

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.ens33.rp_filter = 1

net.ipv4.conf.ens34.rp_filter = 1

实验背景

在一台宿主机上用VMware创建一台虚拟机,添加两张网卡,都是桥接模式,然后在上面的环境下,虚拟机的其中一张网卡是宿主机ping不通的,另一张可以通,详情见下,现在是要求使用策略路由来使它们能够互通。

在环境下ping不通原因

 

在这个环境下,宿主机只能ping通其中一个网卡的ip,另一个是不通的。

这是因为arp_ignore的参数设置,详细看下:

arp_ignore参数的作用是控制系统在收到外部的arp请求时,是否要返回arp响应。

arp_ignore参数常用的取值主要有0,1,2,3~8较少用到:

0:响应任意网卡上接收到的对本机IP地址的arp请求(包括环回网卡上的地址),而不管该目的IP是否在接收网卡上。

1:只响应目的IP地址为接收网卡上的本地地址的arp请求。

2:只响应目的IP地址为接收网卡上的本地地址的arp请求,并且arp请求的源IP必须和接收网卡同网段。

3:如果ARP请求数据包所请求的IP地址对应的本地地址其作用域(scope)为主机(host),则不回应ARP响应数据包,如果作用域为全局(global)或链路(link),则回应ARP响应数据包。

4~7:保留未使用

8:不回应所有的arp请求

所以这里我们设置了arp_ignore=1, 简单理解就是规定你流量从哪个网卡进就从哪个网卡出,如果走错了,那它就会把你丢了。

图中可以看到进来的是ens33网卡,出去也是ens33网卡,,所以我们把arp_ignore设置为1时,它ens37网卡ping不通了,所以这里我们就要使用策略路由来让它们分流,规定它流量从哪里来就哪里出。

策略路由

模板:

 实验实例:

我们在/etc/iproute2/rt_tables文件插入两张路由表(Linux最大可支持255张路由表,包括table id、table name)。

我们在这两张路由表上添加规则和路由进去:

[root@localhost ~]# ip rule add from 192.168.172.109 table ens33
#代表源地址为192.168.172.109的流量
[root@localhost ~]# ip rule add from 192.168.172.119 table ens37
#代表源地址为192.168.172.119的流量
[root@localhost ~]# ip route add default via 192.168.172.239 dev ens33 table ens33
#行为为下一跳192.168.172.239并从网卡ens33出去
[root@localhost ~]# ip route add default via 192.168.172.239 dev ens37 table ens37
#行为为下一跳192.168.172.239并从网卡ens37出去

 配置完成后,我们就可以ping通两张网卡了

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux网卡绑定与交换机链路聚合是一种将多个物理网卡绑定为一个逻辑接口的技术,在高负载环境下提高网络带宽和可靠性。以下是关于如何配置Linux网卡绑定和交换机链路聚合的指导: 1. Linux网卡绑定配置: a. 确保服务器上安装了所需的驱动程序和工具,如bonding模块和ifenslave b. 在/etc/modules文件中添加bonding模块:modprobe bonding c. 创建一个新的网络接口,如bond0:编辑/etc/network/interfaces文件,并添加以下行: auto bond0 iface bond0 inet static address 192.168.xxx.xxx netmask 255.255.255.0 gateway 192.168.xxx.xxx slaves eth0 eth1 bond-mode 4 bond-miimon 100 bond-downdelay 200 bond-updelay 200 bond-lacp-rate 1 bond-xmit-hash-policy layer2+3 bond-primary eth0 d. 保存文件并重启网络服务:service networking restart 2. 交换机链路聚合配置: a. 登录交换机的管理界面 b. 创建一个新的聚合组:选择一个可用的组号,并指定组的工作模式为链路聚合(LACP或者Static) c. 添加相应的物理接口到聚合组中:将服务器上用于多网卡绑定的物理接口添加到交换机的聚合组中 d. 配置组的其他参数:根据需求,可以配置链路聚合组的一些其他参数,如备用接口、链路优先级等 e. 保存并应用配置,确保交换机和服务器配置一致 配置完成后,多个物理网卡将作为一个逻辑接口(bond0)运行,向外提供网络连接。交换机链路聚合将这些物理链路合并成一个逻辑链路,提供更高的带宽和可靠性。需要注意的是,配置过程中需要确保服务器和交换机的配置参数一致,否则可能会导致链路无法正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值