在单独的网络上添加第二个nic的首选方法?

我正在创建一个从MAAS 2.0开始的小型Web集群。 我有5台物理机器,每台机器使用2个nics。

我的MAAS服务器在10.14.0.0/20中运行dhcp,集群中的每个物理节点都获得一个静态分配为10.14.0.101,102等,分配给eno0。 我的maas服务器有IP转发设置,我的节点路由到10.14.0.1为他们的默认网关。 该网络位于专用于内部流量和IPMI的交换机上。

每个节点上的第二个NIC插入到作为公共网络一部分的交换机中,199.16.XX每个节点静态分配一个199.16.XX地址,不分配默认网关。 如果我分配默认网关,则会删除在10.14.0.0/20网络上分配的网关。 也许不会删除,但也许覆盖是一个更好的解释。

如果我没有199.16.XX的路由,那么任何传入的流量请求都会被发送回10.14.0.0,这显然会失败。

我通过添加辅助路由并向我的interfaces文件添加一些命令解决了我的问题。

echo "1 rt2" >> /etc/iproute2/rt_tables 

然后我将以下内容添加到/ etc / network / interfaces中的eno2配置中

 post-up ip route add 199.16.XXX.8/28 dev eno2 src 199.16.XXX.14 table rt2 post-up ip route add default via 199.16.XXX.9 dev eno2 table rt2 post-up ip rule add from 199.16.XXX.14/32 table rt2 post-up ip rule add to 199.16.XXX.14/32 table rt2 

这种方法是否有更高效的替代方案,或者只是更好的替代方案?

从MAAS 2.1开始,我们现在支持子网的静态路由。 我相信这会帮助你尝试表现。 在子网详细信息页面上,您可以添加/编辑/删除子网的静态路由。 部署新计算机时,该计算机将获取该子网的静态路由。

关于Xenial的更新到2.1:

 sudo add-apt-repository ppa:maas/next sudo apt update sudo apt upgrade