Linux服务器网卡配不了ip,Linux双网卡配置相同IP段解决方案

Linux上两个网卡,配置相同网段的IP地址,分别为IP1和IP2;如果要正常使用,请按照以下方法配置路由策略:​

说明:以下均为linux命令行执行的命令

#echo 1

>/proc/sys/net/ipv4/conf/all/arp_filter

解释:

设置/proc/sys/net/ipv4/conf/all/arp_filter为1。

arp_filter

:默认值为False(0)​

1--允许多个网络介质位于同一子网段内(多网卡在同一网段内),做负载均衡的时候使用上述命令。

目的地址与源地址不同段,需要添加网关

#ip route add to

10.20.30.0/24 via 192.168.24.1 dev eth0 table

10

#ip route add to

10.20.30.0/24 via 192.168.24.1 dev eth1 table

20

#route add 10.20.30.0

mask 255.255.255.0

192.168.24.1

注:这种方式不可取,流量会打到192.168.24.1的网关去

不走网关

#ip route add to 192.168.24.0/24 dev eth4

table 11

#ip route add to 192.168.24.0/24 dev eth5

table 21

#ip rule add from 192.168.24.1222/32

table 11

#ip rule add from 192.168.24.223/32 table

21​​

注:通过验证在局域网内不需要走网关,但是测试发现双网卡是实现了但是没有达到理想的效果。

解释:

ip route:

是设置路由的命令

add:

添加路由,其后可以带to也可以不带

via:

经由

192.168.24.1:下一跳地址(24.1是网关)

dev:

指定由那一块网卡连线出去,后面接

eth0 等.

eth0:

网络接口名。

table:后接多少号表

11:路由表号(自己随便写的,但是有上限好像是999)

mask:子网掩码

ip rule:

路由规则命令

from:

源地址

192.168.24.222/32:地址

删除命令:route delete -net 192.168.24.0

netmask 255.255.255.0 dev eth0

以下是我同事整理的:

linux上双网卡(eth0,eth1)配置相同网段IP(192.168.12.220,192.168.12.222),默认情况是,无论连接那个网卡,连接都只会从同一网卡出入(加入eth0),并且局域网内的其他主机显示两个IP对应的mac地址为同一个。为了实现连接那个网卡IP,网络连接和流量就从那个网卡出入,必须进行网卡路由设置。

a4c26d1e5885305701be709a3d33442f.png

图1 网络结构图

默认情况

192.168.12.55 (arp -a)的显示结

a4c26d1e5885305701be709a3d33442f.png

从192.168.12.55连接192.168.12.220的流程图:

a4c26d1e5885305701be709a3d33442f.png

从192.168.12.55连接192.168.12.222的流程图:(同上)

从10.130.36.234连接192.168.12.220的流程图:

a4c26d1e5885305701be709a3d33442f.png

从10.130.36.234连接192.168.12.222的流程图:(同上)

希望的情况:

192.168.12.55 (arp -a)的显示结果:

a4c26d1e5885305701be709a3d33442f.png

从192.168.12.55连接192.168.12.220的流程图:

a4c26d1e5885305701be709a3d33442f.png

从192.168.12.55连接192.168.12.222的流程图:

a4c26d1e5885305701be709a3d33442f.png

从10.130.36.234连接192.168.12.220的流程图:

a4c26d1e5885305701be709a3d33442f.png

从10.130.36.234连接192.168.12.222的流程图

a4c26d1e5885305701be709a3d33442f.png

解决方法:

要想获得希望的情况,需对linux服务器进行一些路由表的配置。操作命令如下:

echo "220    local220"

>> /etc/iproute2/rt_tables

​echo

"222    local222"

>> /etc/iproute2/rt_tables

​ip route add

192.168.12.0/24 dev eth0 src 192.168.12.220 table

local220

​ip route add

192.168.12.0/24 dev eth1 src 192.168.12.222 table

local222

​ip route add

default dev eth0 table local220

​ip route add default dev

eth1 table local222

​ip rule add from

192.168.12.220 table local220

​ip rule add from

192.168.12.222 table local222

​ip route flush

cache

解释:

echo "220

local220" >> /etc/iproute2/rt_tables

把路由表序号和对应的路由表名字添加到/etc/iproute2/rt_tables中

ip route add 192.168.12.0/24 dev eth0 src

192.168.12.220 table local220

从192.168.12.220发送到192.168.12.0/24网段的数据从eth0发出,把该路由项添加到路由表local220中

ip route add default dev eth0 table

local220

在路由表中添加默认路由,默认路由从eth0进出

ip rule add from 192.168.12.220 table

local220

添加路由策略。来自192.168.12.220的路由要求使用路由表local220

ip route flush cache

把新添加的路由策略和路由表刷新到缓存中,即时生效

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值