我刚刚进入VPC,试图了解一切是如何运作的.到目前为止,我遇到的最大障碍是,每当我向机器添加第二个Elastic NIC时,VPC中的任何其他IP都无法访问第二个IP.这就是我做的

>推出Canonical为Ubuntu 12.10 x64 EBS提供AMI.
>在启动期间,我将其配置为两个网络接口(相同的子网)
>一旦机器启动,我将以下内容添加到/ etc / network / interfaces:

auto eth1

iface eth1 inet dhcp

> ifup eth1
>运行ifconfig,验证第二个地址是否已启动.

在我的主要(可访问Internet)实例上:

> ping(新实例eth0的IP) – 正常工作
> ping(新实例eth1的IP) – FAILS

没有ACL可以阻止ping,因为它与eth0一起使用.机器上没有防火墙设置.我已经在多个SG和具有多个接口的AZ上尝试了4个不同的实例,所有这些实例都具有相同的结果.

我一直在靠墙砸我的头比我想承认的更长.我无法弄清楚错误在哪里.

默认情况下,路由表仅将流量路由到eth0.
即使ubuntu检测到其他ENI,您仍然需要将流量路由到它.

你必须做一些高级路由:

1)立即和暂时允许访问第二个ENI.

来源:http://www.rjsystems.nl/en/2100-adv-routing.php

# this will show your route table,i'll assume you have eth0 and eth1
# and your default is for eth0 to point to the gateway
# for this example lets assume the following:
# eth0 = 192.168.100.5 
# eth1 = 192.168.100.10
# gateway = 192.168.100.1
ip route show ;

# first step is to create a routing table for your new device
cat /etc/iproute2/rt_tables ;
echo 2 eth1_rt >> /etc/iproute2/rt_tables ;

# next add the eth1_rt route table,so by default it will also point to the gateway
ip route add default via 192.168.100.1 dev eth1 table eth1_rt ;

# next take a look at your ip rules
# i'll assume the defaults here,and things flows to default with priority 32767
ip rule;

# let's add a rule,if we see traffic from eth1's IP address,# use its new routing table we setup,and give it higher priority than default
ip rule add from 192.168.100.10 lookup eth1_rt prio 1000 ;

# done! Now check your traffic from both IPs,they should both work.

2)在重新启动时启用对第二个ENI的访问但持续访问.

来源:http://blog.bluemalkin.net/multiple-ips-and-enis-on-ec2-in-a-vpc/

此外,如果您希望此更改保持不变,您可以在接口文件中进行所有这些更改,只需重新启动网络服务或重新启动即可使其生效.

# NOTE: add the eth1_rt routing table to /etc/iproute2/rt_tables as show in prevIoUs section

# original config to make dchp,I add mine to /etc/network/interfaces.d/eth1.cfg
auto eth1
iface eth1 inet dchp
    # your extra rules for eth1
    up ip route add default via 192.168.100.1 dev eth1 table eth1_rt
    up ip rule add from 192.168.100.10 lookup eth1_rt prio 1000

要使其完全生效,请重新启动系统.

注意:我试过/etc/init.d/networking restart;但它没有拿起路线/规则的变化,不知道为什么,所以我重启了.如果您想立即使用它,请执行这两种方法.

无法在Ubuntu实例上访问AWS VPC中的第二个ENI的更多相关文章

  1. 无法在Ubuntu实例上访问AWS VPC中的第二个ENI

    我刚刚进入VPC,试图了解一切是如何运作的.到目前为止,我遇到的最大障碍是,每当我向机器添加第二个ElasticNIC时,VPC中的任何其他IP都无法访问第二个IP.这就是我做的>推出Canonical为Ubuntu12.10x64EBS提供AMI.>在启动期间,我将其配置为两个网络接口(相同的子网)>一旦机器启动,我将以下内容添加到/etc/network/interfaces:autoeth1

  2. ubuntu – 云平台 – sudo:无法解析主机

    我在Amazon-EC2和openstack上使用linux作为基于云的服务器.试图运行时:我偶尔会得到这个错误:sudo:unabletoresolvehost互联网上对此问题的大多数答案都是编辑/etc/hosts文件.但是,我会自动部署我的服务器.除此之外,我没有使用“localhost”登录,而是登录我的AWS公共DNS:所以我不能简单地插入localhost,更不用说我的IP可以在我重置

  3. migs(万事达卡虚拟支付客户端)集成php

    任何机构都可以帮助我了解如何在PHP网站中集成migs!我已经阅读了参考指南,但它没有用!

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部