私は2つのインターフェースmyvpnserver
と以下を備えたDebian Linux VPNルーターを持っていますeno1
:eno2
eno1
LANとインターネットルーターに接続します。静的IPアドレスを持つこのインターフェイスにはmyvpnserver
デフォルトゲートウェイ(インターネット接続)があります。 OpenVPNはこのインターネット接続を使用してVPNサーバーに接続します。eno2
スイッチに接続しました。 DHCPサーバーはこのインターフェイスで実行されます。接続されているクライアントからのすべてのトラフィックがeno2
VPN / tun0を介してルーティングされるようにしたいです。
デフォルト設定はうまくいきます。私が接続しているホストからeno2
VPN LANのリモートホスト(たとえば10.123.0.0/24
)にアクセスできます。
次の目標は、myvpnserver
ソースアドレスまたはインターフェイスに基づいてルーティングすることです。
myvpnserver
インターネット(ftp.debian.org
VPNホストなど)に接続している場合は、デフォルトゲートウェイを使用する必要がありますeno1
。接続するクライアントがeno2
同じインターネットホスト(たとえばftp.debian.org
)に接続する場合は、トラフィックはデフォルトゲートウェイtun0
ではなくVPN /を介してmyvpnserver
ルーティングする必要があります。
// For Incoming Traffic:
If( InputInterface = eno2 ) Then
default_gateway = 172.17.100.1
Else
default_gateway = gateway as declared in /etc/network/interfaces
End If
私が見つけたポリシーベースのルーティング行くべき道のようです。 「一般」ルーティングは宛先のみに基づいていますが、ポリシーベースのルーティングは入力インターフェイスや送信元IP範囲などの他の側面を考慮に入れることができます。
どのような措置を講じるべきですか? (私はDebian 11 / Bulseyeを使用しています。)
1000 vpntunnel
1.)に1行を追加しました/etc/iproute2/rt_tables
。
何今後の計画?構成例を挙げることができますか?
どんなアドバイスでも心から感謝します!
答え1
次の手順は、ポリシールールとルーティングテーブルエントリを追加するのと同じくらい簡単です。
あなたは試すことができます:
ip route add default via 172.17.100.1 table 1000
ip rule add type unicast iif eno2 table 1000 pref 30000
私は172.17.100.1がVPNトンネルのもう一方の端であると仮定します。表では値 1000 を使用しましたが、「vpntunnel」という項目を追加したので、その名前を使用できます。
VPNに私の推奨事項と競合する可能性があるいくつかの構成設定が既に存在している可能性があります。 " ip rule show
"と ""の出力はip route show table all
この問題に役立ちます。また、既存のiptables構成を推奨ソリューションに変更する必要があるかもしれません。