aws平台中为ec2实例添加双网卡
亚马逊平台创建ec2实例时默认创建一个网卡primary网卡,主网卡是不能分离的。
在ec2服务控制台为ec2附加网卡。 平台资料中为正在使用的ec2添加网卡用到的操作系统是Amazon Linux AMI 。而当我们使用centos7 系统,附加网卡是可以的,但附加网卡后是需要在系统内进行添加网卡配置文件才能使用。
添加网卡配置文件时,无论你的eni(网络接口是否是dhcp都要按照下面方式配置,不然网络无法启动,如果你想试试,会导无法链接服务器,此时你需要把附加的网卡分离,从控制台重启系统后才能恢复网络)。
ssh登陆到centos的命令行界面,获取root权限,创建 /etc/sysconfig/network-scripts/ifcfg-eth1 文件,内容如下:
#
BOOTPROTO="none"
DEVICE="eth1"
MTU=""
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=10.0.3.94
NETMASK=255.255.255.0
TYPE="Ethernet"
ipaddr 属性和NETMASK属性改为你创建网络接口 dhcp或者手动配置的ip地址信息。
至此使用 ip add查看eth1网卡信息是否正常使用,如果有问题service network restart
完~
路由设置:
我之前的网络设置了公有子网(可以提供服务的)和私有子网(内网通信)
10.0.2.0 /24 属于私有子网 通过nat网关上网
10.0.3.0/24 属于公有子网 通过internet网关上网
这两个网关都是在aws配置的。本来这台机器只是用于内网测试,现在想把这台机器的服务端口暂时对外开放,要么就是在加一台服务器做代理,要么就是把服务器的网络改到公有子网中。
考虑成本,就考虑到了改子网。但改子网后,之前配置的连接服务IP地址都要改。最终想到加一块网卡。通过上面的配置是添加了一块公有子网,并且公有子网也可以内网通信了,接下来给10.0.3.94地址绑定了一个公有IP的弹性地址。理所当然的想,这时候服务就可以出来了。但是我错了。怎么都是通不了,这时候满脑子fuck。
后来想想,路由改掉。因为10.0.2.0是主网卡,一台centos服务器不能有两个网关(大家都知道的)。默认路由肯定走的是2.0网段。假设绑定的弹性IP地址生效,在回复信息的时候出口却是nat网关,这样肯定是不通的。所以我就想把默认路由改掉,在添加一个10.0.0.0/16路由网关为10.0.2.1(10.0.2.0子网的网关),这样外网通过弹性IP地址可以访问服务了,内网又可以不改变之前的通信。最终是成功了,只是这台服务器的出口网络也变成了弹性IP地址,不再走nat网关了,但没有影响。
改之前路由:
Destination Gateway Genmask Flags Metric Ref Use Iface
default ip----.ec2 255.255.0.0 UG eth0
10.0.2.0 0.0.0.0 255.255.255.0 U eth0
10.0.3.0 0.0.0.0 255.255.255.0 U eth1
命令执行:
sudo route delete default gw 10.0.2.1
sudo route add default gw 10.0.3.1
sudo route add -net 10.0.0.0/ gw 10.0.2.1
再次查看路由:
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default ip----.ec2 0.0.0.0 UG eth1
10.0.0.0 ip----.ec2 255.255.0.0 UG eth0
10.0.2.0 0.0.0.0 255.255.255.0 U eth0
10.0.3.0 0.0.0.0 255.255.255.0 U eth1
这样就OK了。我们可以把修改路由的命令放到/etc/rc.local 文件中。 完~
aws平台中为ec2实例添加双网卡的更多相关文章
- AWS系列-EC2实例添加磁盘
注意:添加的磁盘,必须和挂载的实例是在同一可用区. 1.1 如下图,打开EC2控制台,打开卷,点击创建卷 1.2 选择磁盘配置 磁盘类型:如下图 磁盘大小:如图,最小500G,最大16T 可用区:注意 ...
- 做双网卡绑定_______物理机在双网卡的情况下做多IP绑定
公司的环境是这样的: 一台物理机需要做双网卡绑定,同时呢,在双网卡绑定的同时还要做多IP. 其实整个过程可以分为两个步骤: 第一个,物理机先做双网卡. 第二个,在bond上做多IP实例. 双网卡绑定的 ...
- linux双网卡双网关设置
https://blog.csdn.net/wangliang888888/article/details/60139499 在给客户做软件部署的时候,客户提出了一个需求,需要用到双网卡双网关,我研究 ...
- AWS的EC2实例搭建服务器使用stackoverflow教程
作为一个技术开发工程师, 一个给力的问题解决方案搜索引擎是十分必要的, stackoverflow作为一个码农必备神器, 存在访问不稳定,有时候打不开的问题,下面介绍如何在亚马逊云服务器上搭建属于自己 ...
- AWS EC2实例Ubuntu系统设置root用户密码并使用root/ubuntu用户登录
参考链接:http://www.wangchao.info/1137.html 注意:链接中写的简化了,其中重启服务的命令似乎不太适用,可能是不通用,我下面描述的方式亲测可行,如有其他疑问请留言: ...
- AWS探索及创建一个aws EC2实例
一.AWS登陆 1.百度搜索aws,或者浏览器输入:http://aws.amazon.com 2.输入账户及密码登陆(注册流程按照提示走即可) 二.创建EC2实例(相当于阿里云的ecs) 1.找到E ...
- 亚马逊AWS学习——多网络接口下配置EC2实例连接公网的一个“bug”
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47667627 本文出自[我是干勾鱼的博客] 之前在<亚马逊AWS学习--E ...
- AWS云EC2(RHEL7)添加网络接口与路由调整
AWS云EC2(RHEL7)添加网络接口与路由调整 Amazon Linux(类似RHEL6,Centos6) 以及 RHEL7 修改MAC地址的说明 RHEL7 Centos7 添加路由 解决RHE ...
- AWS EC2实例Linux系统创建root用户并更改为root用户登录
对于刚创建AWS EC2实例,或者经常使用AWS 实例的小伙伴们来说,刚创建的EC2实例是没有ROOT权限的,因此不能直接使用ROOT用户去登陆实例,也无法获取到root权限.一般情况下,EC2实例默 ...
随机推荐
- C# 匿名类型如何使用
- .NET:race conditions
race conditions (when an anomalous result occurs due to an unexpected critical dependence on the tim ...
- Scala:Method 小技巧,忽略result type之后的等号
var x = 0 def IncreaseOne(): Int = { x += 1 x } def IncreaseOne() = { x += 1 x } def IncreaseOne = { ...
- 9.5 dubbo事件通知机制
dubbo事件通知机制:http://dubbo.io/books/dubbo-user-book/demos/events-notify.html 一.使用方式 两个服务: DemoService: ...
- html5调用手机陀螺仪实现方向辨识
获取移动设备的陀螺仪,需要知道陀螺仪包含什么. 我们可以让document监听deviceorientation 来获取相关的数据,里面包括3个值 alpha.beta和gamma. 这三个值分别代表 ...
- WIN10平板 总是提示你需要管理员权限怎么办
例如在往C盘拷贝文件的时候,会出现下面的提示,虽然点击继续也可以执行,但是还是非常麻烦 WIN+R,打开组策略 在Windows设置-安全设置-安全选项中,找到用户账户控制,设置为已禁用,应用 ...
- 微软BI 之SSIS 系列 - XML Task 中XSLT 样式表转换错误记录
开篇介绍 此文章专门记录 XSLT 样式表转换过程中的语法问题 错误一 值与属性的倒置 修改了几次样式表,但还是一如既往的报错,报错信息如下: [XML Task] Error: An error o ...
- testng.xml 配置大全
1.TestNG的运行方式如下: 1 With a testng.xml file 直接run as test suite 2 With ant 使用ant 3 From the command li ...
- OpenLayers典型部分概述
中文学习:http://www.openlayers.cn/portal.php 原文地址:https://www.jianshu.com/p/e693711a7008 一 OpenLayers核心职 ...
- 【Linux】ps命令
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...