一、G系列服务器默认绑定一个主IP,如额外购买IP,需要配置路由才能对外访问,一个IP对应一个网络接口,一般第一个IP对应的接口是nic0,第二个IP对应的接口是nic1,以此类推...
二、下面说明如何为第2个IP配置路由
注意红色文字为变量,请根据实际情况更改
1、查找nic1接口的默认网关
登录服务器,执行命令:
curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/1/gateway -H "Metadata-Flavor: Google"
例如返回的默认网关是:10.10.220.1
2、查找nic1接口的名称
执行命令:
ip link list
nic1一般对应的是eth1,不同操作系统可能名称不同,这里以centos为例
eth1 对应的altname 是 ens5
3、查找ens5分配的内网IP
执行命令:ip addr show ens5
内网IP段是:10.10.220.2/32
4、为 nic1 网络接口创建自定义路由表
执行:echo "1 route-nic1" | sudo tee -a /etc/iproute2/rt_tables
这里我们一般将路由表命名为route-nic0、route-nic1等,也可以是其他名称
5、在用于 nic1 网络接口的自定义路由表中创建默认路由,并为发送到网关的数据包创建包含来源提示的路由
执行命令:
sudo ip route add default via 10.10.220.1 dev ens5 table route-nic1
sudo ip route add 10.10.220.1 src 10.10.220.2 dev ens5 table route-nic1
上面参数10.10.220.1是默认网关,ens5是接口名称,route-nic1是路由表名称,10.10.220.2是内网IP
6、创建路由规则,指示虚拟机对来源或目标与分配给 nic1 接口的主要内部 IPv4 地址匹配的数据包使用自定义路由表:
执行:
sudo ip rule add from 10.10.220.2/32 table route-nic1
sudo ip rule add to 10.10.220.2/32 table route-nic1
7、刷新路由缓存
执行:sudo ip route flush cache
8、重启后需要保留这些路由和规则的话需要将规则写入配置文件
打开或创建 /etc/sysconfig/network-scripts/route-ens5 文件,添加以下内容:
default via 10.10.220.1 dev ens5 table route-nic1
10.10.220.1 src 10.10.220.2 dev ens5 table route-nic1
打开或创建 /etc/sysconfig/network-scripts/rule-ens5 文件,并添加以下内容:
from 10.10.220.2/32 table route-nic1
to 10.10.220.2/32 table route-nic1
保存文件后,可以重启网络服务来应用配置:
sudo systemctl restart NetworkManager