我需要对使用 systemd 的 CoreOS 实例进行策略路由。但是我还没有找到任何关于如何使用 systemd-network 进行操作的文档或示例。
我怎么做?
到目前为止,我只设法通过向新文件添加条目来创建另一个路由表,/etc/iproute2/rt_tables
并且命令行工具可以识别它。
最终,我在同一个子网上有两个独立的路由器。我想确保来自一个发往我主机的路由器的流量由同一路由器返回。
我需要对使用 systemd 的 CoreOS 实例进行策略路由。但是我还没有找到任何关于如何使用 systemd-network 进行操作的文档或示例。
我怎么做?
到目前为止,我只设法通过向新文件添加条目来创建另一个路由表,/etc/iproute2/rt_tables
并且命令行工具可以识别它。
最终,我在同一个子网上有两个独立的路由器。我想确保来自一个发往我主机的路由器的流量由同一路由器返回。
目前网络中不支持多个路由表。不过,这肯定是可以添加的;也许您可以分享您的 rt_tables 设置并在systemd-devel上解释您的用例?
systemd
在版本235中添加策略路由支持。如果您的版本是 235 或更高版本,您可以使用[RoutingPolicyRule]
部分来设置策略路由。systemd
支持的选项有:
TypeOfService=
指定服务类型以匹配 0 到 255 之间的数字。From=
指定要匹配的源地址前缀。可能后跟一个斜杠和前缀长度。To=
指定要匹配的目标地址前缀。可能后跟一个斜杠和前缀长度。FirewallMark=
指定要匹配的 iptables 防火墙标记值(1 到 4294967295 之间的数字)。Table=
如果规则选择器匹配,则指定要查找的路由表标识符。路由的表标识符(1 到 4294967295 之间的数字)。Priority=
指定此规则的优先级。Priority= 是一个无符号整数。数字越大,优先级越低,规则按数字递增的顺序处理。