linux系统要配置两个路由,如何在linux中设置两个默认路由

TL; DR

如何在linux中设置两个默认路由(对应两个接口),以便接受来自两个接口的传入流量.

脚本

我有一个主机有两个NIC eth0和eth1.它连接到两个网络,说:

> Dev:eth0,IP:1.1.1.4,网络掩码:255.255.255.0,网关:1.1.1.1

> Dev:eth1,IP:2.2.2.4,网关:2.2.2.1

(两个网络都连接到互联网.)

路线是(ip route show):

default via 1.1.1.1 dev eth0 metric 1

default via 2.2.2.1 dev eth1 metric 2

1.1.1.0/24 dev eth0 src 1.1.1.4

2.2.2.0/24 dev eth1 src 2.2.2.4

(较低的指标表示较高的优先级.)

现在有人从某个外部主机(比如4.4.4.4)ping 2.2.2.4时,没有回复.

我主机上tcpdump -i eth1的输出是:

22:41:27.431539 IP 4.4.4.4 > 2.2.2.4: ICMP echo request,id 8625,seq 4,length 64

22:41:28.439492 IP 4.4.4.4 > 2.2.2.4: ICMP echo request,seq 5,length 64

22:41:29.447666 IP 4.4.4.4 > 2.2.2.4: ICMP echo request,seq 6,length 64

22:41:30.455528 IP 4.4.4.4 > 2.2.2.4: ICMP echo request,seq 7,length 64

经过一番研究后发现,当linux网络堆栈收到4.4.4.4的数据包时,它会检查其路由表,看看4.4.4.4应该使用哪个接口(路由表中的eth0).现在,由于数据包来自eth1接口,linux只是丢弃它(这个策略可能是为了防止IP欺骗).

我想要的是:

>默认情况下,传出流量(本地发起的)应使用eth0接口.

>应从两个接口接受传入流量. (所以4.4.4.4应该能够同时ping 1.1.1.4和2.2.2.4)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值