Systemd

如何使用 systemd 進行策略路由?

  • October 9, 2017

我需要對使用 systemd 的 CoreOS 實例進行策略路由。但是我還沒有找到任何關於如何使用 systemd-network 進行操作的文件或範例。

我怎麼做?

到目前為止,我只設法通過向新文件添加條目來創建另一個路由表,/etc/iproute2/rt_tables並且命令行工具可以辨識它。

最終,我在同一個子網上有兩個獨立的路由器。我想確保來自一個發往我主機的路由器的流量由同一路由器返回。

systemd在版本235中添加策略路由支持。如果您的版本是 235 或更高版本,您可以使用[RoutingPolicyRule]部分來設置策略路由。systemd

支持的選項有:

  • TypeOfService=指定服務類型以匹配 0 到 255 之間的數字。
  • From=指定要匹配的源地址前綴。可能後跟一個斜杠和前綴長度。
  • To=指定要匹配的目標地址前綴。可能後跟一個斜杠和前綴長度。
  • FirewallMark=指定要匹配的 iptables 防火牆標記值(1 到 4294967295 之間的數字)。
  • Table=如果規則選擇器匹配,則指定要查找的路由表標識符。路由的表標識符(1 到 4294967295 之間的數字)。
  • Priority=指定此規則的優先級。Priority= 是一個無符號整數。數字越大,優先級越低,規則按數字遞增的順序處理。

引用自:https://serverfault.com/questions/682462