博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
aws-ec2-双网卡问题
阅读量:5951 次
发布时间:2019-06-19

本文共 1506 字,大约阅读时间需要 5 分钟。

问题描述

在已存在的EC2上新添加网卡后发现,凡是和eth0在同一个网段的只能通过eth0访问,不能通过eth1。同样的,在eth1网段的只能通过eth1访问,不能通过eth0访问。 如果既不在eth0也不再eth0 默认走eth0(在没有修改路由表的前提下,默认路由是eth0)

问题分析

之所以出现您列出的网络访问现象,是因为目前的实例当中有两块网卡,而发生故障的时候,路由的走向是从网卡2进来的数据包从网卡1发送出去,或者从网卡1进来的数据包从网卡2发送出去,AWS底层会把这样的数据包丢弃。

因此需要手动定义策略路由,在响应网卡1进来的数据包时通过网卡1发送,响应网卡2进来的数据包时通过网卡2发送。

解决方案

关于这个现象和解决方案,可以参考这遍文档:

该文档较长,这里介绍一个配置路由策略的事例,可以按照此事例的方法结合具体网络环境进行配置:

1、首先为网卡1和2创建各自的路由表:
ip route add [子网1网段] via [您子网的网关IP] dev eth0 tab 1ip route add [子网2网段] via [您子网的网关IP] dev eth1 tab 2可以通过ip route show table 1和ip route show table 2查看您刚刚完成的配置是否正确
2、然后创建策略路由
ip rule add from [eth0的IP]/32 tab 1 priority 500ip rule add from [eth1的IP]/32 tab 2 priority 600

这个配置的意思是,将原地址为eth0的IP的包按照路由表1发送,将原地址为eth1的IP的包按照路由表2发送

3、查看并刷新

可以通过 ip rule命令查看已经配置的路由策略。一个示例的策略如下:

$  ip rule0:  from all lookup local500:    from 172.31.30.238 lookup 1600:    from 172.31.22.112 lookup 232766:  from all lookup main32767:  from all lookup default

最后刷新路由策略的cache,之后您可以继续测试。

ip route flush cache

如果希望实例重启后ip route 和 ip rule所配置的规则还在,需要按照以下方式进行配置

echo “[子网1网段] via [您子网的网关IP] dev eth0 table 1″ > /etc/sysconfig/network-scripts/route-eth0echo “[子网2网段] via [您子网的网关IP] dev eth1 table 2″ > /etc/sysconfig/network-scripts/route-eth1echo “from [eth0的IP]/32 table 1″ > /etc/sysconfig/network-scripts/rule-eth0echo “from [eth1的IP]/32 table 2″ > /etc/sysconfig/network-scripts/rule-eth1

最后重启network service

service network restart

需要注意的是,如果在重启服务的时候不成功,可以尝试关闭Network Manager。这个服务和默认的网络服务启动脚本经常有冲突,导致配置无法应用。

chkconfig NetworkManger off

转载地址:http://njixx.baihongyu.com/

你可能感兴趣的文章
linux下crontab实现定时服务详解
查看>>
Numpy中的random模块中的seed方法的作用
查看>>
用java数组模拟登录和注册功能
查看>>
关于jsb中js与c++的相互调用
查看>>
UVA 122 Trees on the level 二叉树 广搜
查看>>
POJ-2251 Dungeon Master
查看>>
tortoisesvn的安装
查看>>
URAL 1353 Milliard Vasya's Function DP
查看>>
速读《构建之法:现代软件工程》提问
查看>>
Android onclicklistener中使用外部类变量时为什么需要final修饰【转】
查看>>
django中聚合aggregate和annotate GROUP BY的使用方法
查看>>
TFS简介
查看>>
docker管理平台 shipyard安装
查看>>
Bootstrap3 栅格系统-简介
查看>>
ADODB类库操作查询数据表
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
sed处理文本
查看>>
jquery 操作iframe、frameset
查看>>
解决vim中不能使用小键盘
查看>>