systemd-networkdを使用して同じゲートウェイに追加のルートを設定する方法

systemd-networkdを使用して同じゲートウェイに追加のルートを設定する方法

VPN と競合する IP 範囲に関連する一部のネットワーク特性により、2 つの異なるインターフェイスにルーティングされる 2 つのサブネットがあります。サブネットのIPアドレスが別のゲートウェイを通過したい。

以下を実行してこれを実行できます。

$ route add -host 1.2.3.4 gw 5.6.7.8
$ ip route show
1.2.3.4 via 5.6.7.8 dev eth0 scope link 

私はこの変化を永久にしたいと思います。 systemd-networkdを使用するときは、既存のエントリを更新してこれを実行しようとしています/etc/systemd/network/50-dhcp.conf

[Match]
Name=eth0

[Network]
DHCP=ipv4

[Route]
#Gateway=5.6.7.8
Destination=1.2.3.4/32

これは機能しますが、このGateway行がないとパスは設定されません。

$ ip route show
1.2.3.4 dev eth0 proto static scope link

その行のコメントを削除すると、新しいGatewayパスはまったく表示されません。

systemd-networkdを使用して固定パスを追加するときにゲートウェイを指定する方法は?

答え1

何が修正されているのかわかりませんが、バージョン242にアップグレードした後にリストとオプションを設定するとsystemd問題がなくなり、正常に機能します。GatewayDestination

答え2

この記事を読んでください:

永続パスを追加する最良の方法は何ですか?

以下を行う方法について説明します。

  1. 名前付きルーティングテーブルを作成します。次の場合、ルーティングテーブルの名前は「mgmt」、番号は「200」です。

    echo '200 mgmt' >> /etc/iproute2/rt_tables
    
    • 最初に、/etc/iproute2/rt_tables ファイルは、いくつかの予約番号を含む次のようになります。

      #
      # reserved values
      #
      255     local
      254     main
      253     default
      0       unspec
      #
      # local
      #
      
  2. 投稿は引き続きパスを追加する方法を指定します。

    以下では、Debian 7/8インタフェースファイルはeth0とeth1を定義しています。 eth1は172ネットワークです。 eth0はDHCPを使用することもできます。 172.16.100.10はeth1に割り当てられたIPアドレスです。 172.16.100.1はルータのIPアドレスです。

    source /etc/network/interfaces.d/*
    
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # The production network interface
    auto eth0
    allow-hotplug eth0
    # iface eth0 inet dhcp 
    # Remove the stanzas below if using DHCP.
    iface eth0 inet static
      address 10.10.10.140
      netmask 255.255.255.0
      gateway 10.10.10.1
    
    # The management network interface
    auto eth1
    allow-hotplug eth1
    iface eth1 inet static
      address 172.16.100.10
      netmask 255.255.255.0
      post-up ip route add 172.16.100.0/24 dev eth1 src 172.16.100.1 table mgmt
      post-up ip route add default via 172.16.100.1 dev eth1 table mgmt
      post-up ip rule add from 172.16.100.10/32 table mgmt
      post-up ip rule add to 172.16.100.10/32 table mgmt
    

ネットワークを再起動または再起動します。

ありがとうございますクリストファーこの答えのために。

関連情報