本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍RDS Custom网络默认配置,以及如何配置自定义镜像的网络初始化。
RDS Custom网络简介
RDS Custom实例(双网卡模式)默认配置了两块网卡,一块主网卡(通常命名为eth0),另一块弹性网卡(通常命名为eth1)。
eth0:创建于管控VPC下,由于安全组的限制,仅允许ECS管控网段100.100.0.0/16的流量通过eth0接口出。
说明100.100.2.136和100.100.2.138是内网DNS IP地址,需通过eth1进出。
eth1:创建于用户VPC网络下,正常情况下,除ECS管控网段外,所有流量均通过eth1进出,用户通过安全组管理进出流量。
正常情况下,连接RDS Custom实例后,其网卡、路由表和iptables防火墙规则如下:
执行
ip address show
命令,查看实例网卡状态。执行
route -n
命令,查看实例路由表。流量仅通过eth1网卡进行传输。
执行
iptables -L -n
命令,查看实例iptables默认配置。
如果您对RDS Custom实例路由表、iptables防火墙规则及网卡配置(包括重启eth0)等进行了操作,导致无法连接到RDS Custom实例,您可以通过重启实例来初始化RDS Custom网络。
RDS Custom实例通过/etc/rds_custom_init.sh
脚本进行网络初始化,请勿删除该脚本,以免导致无法进行初始化。
配置自定义镜像的网络初始化
通过自定义镜像创建RDS Custom实例时,对于大多数的公共镜像,RDS Custom会自动配置/etc/rds_custom_init.sh
脚本,实现网络初始化。目前支持的镜像包括Alibaba Cloud Linux 3、Alibaba Cloud Linux 2、CentOS 8、CentOS 7、Debian 11、Debian 10.5、AlmaLinux 9.2、Ubuntu 22、Ubuntu 20和Ubuntu 16。如需使用其他自定义镜像,在创建自定义镜像前,需要在原镜像实例中手动创建rds_custom_init.sh
脚本。
rds_custom_init.sh
脚本的主要功能是:
针对无法自动激活弹性网卡的系统,执行eth1的网络配置,并启动相关服务。
修改路由配置,将默认路由指向eth1,并将ECS管控网段100.100.0.0/16指向eth0。
修改路由配置,将内网DNS IP地址100.100.2.136和100.100.2.138指向eth1。
启动RDS Custom实例时,系统会将eth0的网关记录在/etc/eth0_gateway,并对大多数的公共镜像自动配置/etc/rds_custom_init.sh
脚本。如果您计划对RDS Custom实例进行网络相关的初始化,请确保在网络初始化完成后,手动执行/etc/rds_custom_init.sh
脚本。如果发现eth1无法服务(例如IP地址未被识别),请联系我们,或对网络进行配置,以确保eth1正常运行。
手动创建脚本并设置开机自启动
在/etc目录下创建
rds_custom_init.sh
脚本,脚本的具体内容如下。执行
chmod a+x /etc/rds_custom_init.sh
为该脚本授予可执行权限。编辑
/etc/rc.local
,将rds_custom_init.sh
脚本配置为开机自启动。若系统非Ubuntu,请在
/etc/rc.local
中增加/etc/rds_custom_init.sh
,并为/etc/rc.local
授予相应权限。chmod 777 /etc/rc.local
若系统为Ubuntu,请配置并开启
rc-local.service
服务。编辑
/lib/systemd/system/rc-local.service
,增加如下内容。[Install] WantedBy=multi-user.target
将
rc-local.service
服务配置为开机自启动。#设置为开机自启动服务 systemctl enable rc-local.service #检查开机自启动服务 systemctl is-enabled rc-local.service
启动
rc-local.service
服务。#启动服务 systemctl start rc-local.service #检查服务 systemctl status rc-local.service
说明Ubuntu20.04、22.04和24.04默认支持自动配置绑定的辅助弹性网卡。如自动配置未能成功,请执行以下手动配置步骤。