多网卡说明

对于物理服务器来说,网卡就是服务器的网络设备,用于接入以太网络,和其它计算机进行通信。网卡是基于虚拟化技术模拟的网卡设备,此设备是基于虚拟机所在的物理设备。云平台可以将集群内的虚拟网络统一起来,进行再分配。用户毋需关心具体的网卡在什么位置,有需要申请、挂接即可。

网卡使用限制

每个云服务器最多可以绑定 64 张网卡(其中主网卡 1 张,从网卡 63 张),而每个网络最多可以有 252 张网卡。

配置方法:

一、申请网卡

通过 控制台 > 计算 > 网卡 > 申请网卡

注意

申请网卡前需有 vpc 和私有网络。

二、网卡绑定到云服务器

右键网卡,分配到云服务器,选择云服务器。

三、登录云服务器查看网卡

登录到云服务器,查看网卡信息,并检查无法 ping 通其他网卡。

bestp linux ipwhiz 1
bestp linux ipwhiz 2

四、配置策略路由

  1. 执行如下命令增加路由表:

    echo "200 table0" >> /etc/iproute2/rt_tables
    echo "201 table1" >> /etc/iproute2/rt_tables
    echo "202 table2" >> /etc/iproute2/rt_tables
  2. 查看路由表:

    cat /etc/iproute2/rt_tables
    bestp linux ipwhiz 3
    说明

    此处数值越小,优先级越高。

  3. 增加网卡路由策略:

    • 清空路由表 200 的路由规则。

      p route flush table 200
    • 添加默认路由到路由表 200,这条规则是 table0 这个路由表中数据包默认使用 IP 192.168.0.2 通过 eth0 走网关 192.168.0.1

      ip route add default via 192.168.0.1 dev eth0 src 192.168.0.2 table 200
    • 添加路由规则,凡是到 192.168.0.2 这个地址的 ip 就走路由表 200。

      ip rule add from 192.168.0.2 lookup 200
    • 清空路由表 201 的路由规则。

      ip route flush table 201
    • 添加默认路由到路由表 201,这条规则是 table1 这个路由表中数据包默认使用 IP 192.168.0.10 通过 eth1 走网关 192.168.0.1

      ip route add default via 192.168.0.1 dev eth1 src 192.168.0.10 table 201
    • 添加路由规则,凡是到 192.168.0.2 这个地址的 ip 就走路由表 201。

      ip rule add from 192.168.0.10 lookup 201
    • 清空路由表 202 的路由规则。

      ip route flush table 202
    • 添加默认路由到路由表 202,这条规则是 table2 这个路由表中数据包默认使用 IP 192.168.0.100 通过 eth2 走网关 192.168.0.1

      ip route add default via 192.168.0.1 dev eth2 src 192.168.0.100 table 202
    • 添加路由规则,凡是到 192.168.0.2 这个地址的 ip 就走路由表 202。

      ip rule add from 192.168.0.100 lookup 202

五、测试网卡是否通

bestp linux ipwhiz 4

六、配置路由策略永久生效

这些路由规则只是临时添加了,重启网络会失效。

/ect/rc.local 文件中添加上述配置即可。

echo "ip route add default via 192.168.0.1 dev eth0 src 192.168.0.2 table 200" >> /etc/rc.local
echo "ip rule add from 192.168.0.2 lookup 200" >> /etc/rc.local
echo "ip route flush table 201" >> /etc/rc.local
echo "ip route add default via 192.168.0.1 dev eth1 src 192.168.0.10 table 201" >> /etc/rc.local
echo "ip rule add from 192.168.0.10 lookup 201" >> /etc/rc.local
 echo "ip route flush table 202" >> /etc/rc.local
echo "ip route add default via 192.168.0.1 dev eth2 src 192.168.0.100 table 202" >> /etc/rc.local
echo "ip rule add from 192.168.0.100 lookup 202" >> /etc/rc.local```