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="1500"
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-10-0-2-1.ec2 255.255.0.0     UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.3.0        0.0.0.0         255.255.255.0   U     0      0        0 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/16 gw 10.0.2.1

再次查看路由:

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         ip-10-0-3-1.ec2 0.0.0.0         UG    0      0        0 eth1
10.0.0.0        ip-10-0-2-1.ec2 255.255.0.0     UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.3.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1

这样就OK了。我们可以把修改路由的命令放到/etc/rc.local 文件中。 完~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值