(1)分别给i-fi56ekgyjl
实例绑定授信网卡
curl -XPOST -H "Content-Type: application/json" http://172.16.1.50:18017/v1/regions/cn-north-1/apps/cloudDeploy/cloudDeployAttachPermissionNetwork -d '{"defined":true, "srcNetworkId":"subnet-4fxcxodv49", "srcPin":"jcloud_NlVzQji", "srcAk":"JDCT7505D1CA3E7B07D57E211445F197", "srcSk":"D4019A16EEB776331B122495D5143037", "dstPin":"jcloud_fBrgjYR", "dstAk":"JDCT5C1737A3CDFB67DC95A67DE69D2E", "dstSk":"DE10E9B712DC161A339A98CDF927C937", "instanceId":"i-fi56ekgyjl"}'
(2)激活网卡服务,在所在的Node节点上激活
nmcli device connect eth2
(3) 添加路由服务
添加路由10.0.16.0/20是pod子网
ip route add 10.0.16.0/20 dev eth2 table 2
添加目标VPC 10.0.0.0/16 子网 通过 172.16.1.1(授信代理网卡)
ip route add 10.0.0.0/16 via 172.16.1.1 dev eth2 table 2
(4) iptables的nat table中,增加伪装,更换流量原ip为授信网卡ip
iptables -t nat -A POSTROUTING -d 10.0.0.0/16 -o eth2 -j MASQUERADE
解释:
- table 2中增加路由,当前cni出来的流量,都进入了table 2,在路由表2中添加一条路由规则,使得目标地址为6.254.0.0/20 的流量通过eth2接口发送。这通常用于确保同子网内的流量通过特定的网络接口发送,可能是为了满足特定的网络隔离或策略要求(计算VPC子网)
ip route add 6.254.0.0/20 dev eth2 table 2
2.跨子网同vpc路由:在table 2中添加一条路由规则,使得目标地址为6.254.0.0/18(服务VPC)的流量首先通过eth2接口发送到指定的下一跳地址(6.254.0.1 gateway网段地址)这允许跨子网的流量在相同的VPC内通过特定的网络接口和路径进行路由。
ip route add 6.254.0.0/18 via 6.254.0.1 dev eth2 table 2
3.iptables的nat table中,增加伪装,更换流量原ip为授信网卡IP
iptables -t nat -A POSTROUTING -d 6.254.0.0/18 -o eth2 -j MASQUERADE
如果这块执行不正确,会导致POD中无法正常访问服务VPC中的服务,但是NODE节点是可以正常访问的,因此这块需要特别留意