阿里云 ECS 服务器绑定多个公网IP
阿里云 ECS 服务器绑定多个公网IP
一、弹性公网IP绑定ECS服务器
单台ECS一般只能直接绑定一个弹性公网IP,但是可以绑定多张弹性网卡,如果把弹性公网IP绑定到弹性网卡上,那么单台ECS就能间接绑定多个弹性公网IP。但有的服务器系统镜像可能不能自动生效弹性网卡配置,需要登录ECS服务器,进行手动配置。
1.创建多个弹性公网IP
这里只创建了两个公网IP,做演示使用,其中一个直接绑定ECS服务器,另一个通过绑定弹性网卡,然后弹性网卡再绑定ECS服务器,实现间接绑定。
2.创建弹性网卡
创建弹性网卡,用于绑定弹性公网IP,以及ECS服务器
创建一个弹性网卡,用于待会绑定公网IP
这里的弹性网卡生成的主私网IP (172.31.20.144),在登录ECS服务器上,进行网络配置时需要使用到。
3.弹性公网IP直接绑定ECS实例
- 任意选择一个公网IP,进行绑定ECS服务器
- 实例类型选择,云服务器ECS实例,以及需要绑定的服务器
4.弹性公网IP绑定弹性网卡
将弹性公网IP绑定到,刚才创建的弹性网卡上
查看弹性网卡是否成功绑定弹性公网IP
- 弹性网卡绑定 ECS 服务器
二、ECS 配置网络
如果通过弹性网卡配置的公网IP,无法使用,那就需要登录ECS服务器进行手动配置了
1.测试公网IP
使用 ping 命令测试两种方式绑定的公网IP,直接绑定的是有效的,但是通过弹性网卡绑定的是无效的
# ping 直接绑定的公网IP
[root@iZgw0c7mitdiuadv7yls3iZ ~]# ping 47.xx.xx.35
PING 47.xx.xx.35 (47.xx.xx.35) 56(84) bytes of data.
64 bytes from 47.xx.xx.35: icmp_seq=1 ttl=64 time=0.412 ms
64 bytes from 47.xx.xx.35: icmp_seq=2 ttl=64 time=0.361 ms
--- 47.xx.xx.35 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 4999ms
rtt min/avg/max/mdev = 0.320/0.352/0.412/0.035 ms
# ping 间接绑定的公网IP
[root@iZgw0c7mitdiuadv7yls3iZ ~]# ping 47.xx.xx.12
PING 47.xx.xx.12 (47.xx.xx.12) 56(84) bytes of data.
^C
--- 47.xx.xx.12 ping statistics ---
12 packets transmitted, 0 received, 100% packet loss, time 10999ms
2.查看当前网络配置
命令:ip address
eth0 是弹性公网IP直接绑定ECS
eth1 是弹性公网绑定弹性网卡
[root@iZgw0c7mitdiuadv7yls3iZ ~]# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 172.31.20.141/16 brd 172.31.255.255 scope global dynamic eth0
valid_lft 315356736sec preferred_lft 315356736sec
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:16:2e:20:21:2f brd ff:ff:ff:ff:ff:ff
3.创建 ifcfg-eth1
文件
# 进入目录
[root@iZgw0c7mitdiuadv7yls3iZ logs]# cd /etc/sysconfig/network-scripts
[root@iZgw0c7mitdiuadv7yls3iZ network-scripts]# ls
ifcfg-eth0 ifdown-post ifup-bnep ifup-routes
ifcfg-lo ifdown-ppp ifup-eth ifup-sit
ifdown-routes ifup-ippp ifup-Team
...
# 创建 ifcfg-eth1 文件
[root@iZgw0c7mitdiuadv7yls3iZ network-scripts]# vim ifcfg-eth1
ifcfg-eth1 文件内容如下
# ifcfg-eth1 文件内容如下
[root@iZgw0c7mitdiuadv7yls3iZ network-scripts]# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=no
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
PEERDNS=no
IPV6INIT=no
PERSISTENT_DHCLIENT=yes
HWADDR=00:16:2e:20:21:2f # 使用 ip address 查询的 eth1 的MAC地址
IPADDR0=172.31.20.144 # 弹性网卡的主私网IP
DEFROUTE=no # 表示网卡接口不是默认路由,为避免在启动(ifup)弹性网卡时改变ECS实例活动的默认路由,不要将eth1设置为默认路由
4.重启网络服务
# 重启网络服务
[root@iZgw0c7mitdiuadv7yls3iZ ~]# service network restart
Restarting network (via systemctl):
[ OK ]
[root@iZgw0c7mitdiuadv7yls3iZ ~]#
5.测试
通过 ping 命令进行测试,弹性网卡配置的公网IP已经生效,
或者也可以通过ip address
命令进行查看
[root@iZgw0c7mitdiuadv7yls3iZ ~]# ping 47.xx.xx.12
PING 47.xx.xx.12 (47.xx.xx.12) 56(84) bytes of data.
64 bytes from 47.xx.xx.12: icmp_seq=1 ttl=62 time=0.558 ms
64 bytes from 47.xx.xx.12: icmp_seq=2 ttl=62 time=0.487 ms
--- 47.xx.xx.12 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.453/0.490/0.558/0.048 ms