イーサネットインターフェイスから別のインターフェイスにトラフィックをルーティングする方法は?

イーサネットインターフェイスから別のインターフェイスにトラフィックをルーティングする方法は?
                 ---------------------------------
                 |                               |
                 |                               |
-----> eth2 (WAN)  --------> WG0-->------->----->  eth0 LAN 192.168.220.2
   192.168.14.7  |       |                       |
                 |       |   eth2 to eth1        |  
                 |       ->---->---------->----->  eth1 LAN  192.168.50.2
                  --------------------------------

私は3つのイーサネットインターフェイスと1つのWireguardクライアントインターフェイスwg0を持つコンピュータを持っています。

eth2 (WAN) 192.168.14.7 (internet traffic comes from here)
eth0 (LAN) 192.168.220.2
eth1 (LAN) 192.168.50.2

wg0 (wireguard client) 10.125.146.2

私のデバイスはwg0のwireguardクライアントとして動作します。 WireguardサーバーはVPSにあります。wg0 to eth0LANからトラフィックを転送するためにiptablesを使用しました。だから私のラップトップはに接続されていますeth0 192.168.220.2 with public IP from wg0

他のノートパソコンも接続するとeth1 the public IP is from wg0。私はそれをしたくありません。別のノートパソコンを接続したいeth1 192.168.50.2 wg0のIPがありません。。 eth1 に eth2 WAN のパブリック IP を持たせたい。

これは可能ですか?

パス-n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.14.1    0.0.0.0         UG    204    0        0 eth2
10.125.146.0    0.0.0.0         255.255.255.0   U     0      0        0 wg0
169.254.0.0     0.0.0.0         255.255.0.0     U     202    0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     203    0        0 eth1
192.168.14.0    0.0.0.0         255.255.255.0   U     204    0        0 eth2
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.220.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

IPルーティング

default via 192.168.14.1 dev eth2 proto dhcp src 192.168.14.7 metric 204 
10.125.146.0/24 dev wg0 proto kernel scope link src 10.125.146.2 
169.254.0.0/16 dev eth0 scope link src 169.254.50.120 metric 202 
169.254.0.0/16 dev eth1 scope link src 169.254.231.124 metric 203 
192.168.14.0/24 dev eth2 proto dhcp scope link src 192.168.14.7 metric 204 
192.168.50.0/24 dev eth1 proto kernel scope link src 192.168.50.2 
192.168.220.0/24 dev eth0 proto kernel scope link src 192.168.220.2 

IPルールの表示

0:  from all lookup local
32764:  from all lookup main suppress_prefixlength 0
32765:  not from all fwmark 0xca6c lookup 51820
32766:  from all lookup main
32767:  from all lookup default

ip -4 -br アドレス

lo               UNKNOWN        127.0.0.1/8 
eth0             UP             192.168.220.2/24 169.254.50.120/16 
eth1             UP             192.168.50.2/24 169.254.231.124/16 
eth2             UP             192.168.14.7/24 
wg0              UNKNOWN        10.125.146.2/24 

IP ルーティング表示テーブル 51820

default dev wg0 scope link 

IP ルート表示テーブルマスター

default via 192.168.14.1 dev eth2 proto dhcp src 192.168.14.7 metric 205 
10.125.146.0/24 dev wg0 proto kernel scope link src 10.125.146.2 
169.254.0.0/16 dev eth0 scope link src 169.254.50.120 metric 202 
192.168.14.0/24 dev eth2 proto dhcp scope link src 192.168.14.7 metric 205 
192.168.50.0/24 dev eth1 proto kernel scope link src 192.168.50.2 linkdown 
192.168.220.0/24 dev eth0 proto kernel scope link src 192.168.220.2 

ベストアンサー1

あなたのeth2IPアドレスは192.168で始まります。いいえまず公開IPです。インターフェイスeth2は、セグメントグループに固有の非VPNパブリックIPアドレスを持つルータ、ファイアウォール、またはその他のNAT対応デバイスに接続する必要があります。

あなたのシステムには、Wireguard VPNによって生成されたいくつかの高度なルーティングルールが適用されています。

0:  from all lookup local                      <- default rule
32764:  from all lookup main suppress_prefixlength 0
32765:  not from all fwmark 0xca6c lookup 51820
32766:  from all lookup main                   <- default rule
32767:  from all lookup default                <- default rule

左端の列の数字は、各行で指定されたルーティングルールの優先順位です。

  • 優先順位0の規則は標準であり、本質的に次のことを意味します。 「このシステムの独自のアドレスに送信されたすべてのトラフィックは、適切な送信元アドレスを使用してローカルに処理されます。」
  • 優先順位ライン32764は、次のことを意味します。ただし、デフォルトゲートウェイエントリは無視されます。「このルールは、デフォルトではデフォルトゲートウェイに移動しないすべてのトラフィックを処理するようです。
  • 優先順位ライン32765は、次のことを意味します。 「表示されていないすべてのトラフィックはfwmark 0xca6c処理されます。ルーティングテーブル51820の使用。 「これはデフォルトゲートウェイを通過するが、まだWireguardで処理されていないすべてのトラフィックを意味する可能性が高いです。
  • 優先順位 32766 は、基本的に、「今まで正常にルーティングされていないすべての項目に対して標準の基本ルーティング テーブルをそのまま使用してください」と言う別の基本ルールです。これは、Wireguardが有効な場合、VPS Wireguardサーバーへの暗号化されたWireguardトラフィックにのみ使用されます。
  • 優先順位32767は、デフォルトのルーティングテーブルで扱われていないすべてのエントリを別のテーブルに送信する別の基本ルールですdefault。このテーブルは、一部のカスタム後処理が必要ない限り、通常空です。

route -nとコマンドの両方がルーティングテーブルをip route表示します。main次のコマンドの完全な形式を使用してこれを確認できますip routeip route show table main

ip route show table 51820Wireguardがルーティングに与える影響を完全に理解するには、出力も確認する必要があります。

接続されたデバイスがeth1Wireguard VPNをバイパスし、VPNではなくパブリックIPを使用するようにするには、次の3つを設定する必要があります。

  • Wireguardクライアントがそれを上書きしないように、ネットワーク192.168.50.0/24から発信されるトラフィックのルーティングルールを設定する方法を見つける必要があります。出力がわからないと、ip route show table 51820ここで正確なコマンドを提案できないと思います。
  • 設定する必要がありますeth2接続されているルーター等価ip route add 192.168.50.0/24 via 192.168.14.7なので、デバイスが別のネットワークセグメントの背後にあることがわかります。そうしないと、接続されたデバイスで開始された接続に応答して何をすべきかわかりません。eth1単に拒否します。
  • 設定する必要がありますeth2接続されているルーター同時にネットワークセグメントで192.168.50.0/24NATを実行します。運が良ければ、ルータはすべての個人用192.168.168.168.3をNATに接続することがわかります。基本ネットワークセグメント。または。

ルータを設定できない場合、またはルータがこの方法で設定するのに十分柔軟でないコンシューマクラスのデバイスである場合は、ルーティングを使用してこれを行うことはできません。


もう1つのアプローチはより信頼性が高く、理解し、問題を解決しやすく、ルーター設定機能とは大きく独立している可能性があります。

  1. 適切な速度定格と追加のネットワークケーブルを備えたネットワークスイッチを購入してください。他の要件がなければ、安価で管理が難しい5ポートスイッチが適しています。
  2. eth2デバイスインターフェイスからWANケーブルを外し、スイッチの最初のポートに接続します。
  3. 新しいネットワークケーブルをスイッチの2番目のポートに接続し、ケーブルのもう一方の端をeth2デバイスに接続します。
  4. eth1デバイスから別のノートブックを取り外し、スイッチの3番目のポートに接続します。
  5. 完璧。

ルータに未使用のネットワークポートがある場合、スイッチも必要ありません。 「eth1ノートブック」をルーターに直接接続するだけです。

明らかに、このソリューションを変更すると、「eth1ノートブック」がルーターから192.168.14 *アドレスを取得し、192.168.50.0/24セグメントが完全に削除されます。デバイスのインターフェイスはeth1未使用のままです。

また、VPNトラフィックとVPN以外のトラフィックを分離する必要がある厳しいセキュリティ要件がある場合は、これが私が推奨する唯一のソリューションタイプです。


トラフィックが「eth1 laptop」に行く場合〜しなければならないデバイスを介してアップストリームルーターを設定できない場合は、検討してくださいeth2ブリッジングeth1eth2ルーティングの問題を解決するために無駄に努力するのではなく、ネットワークインターフェイスを使用してください。

これにより、デバイスのデフォルトゲートウェイは単一のインターフェイスではなくブリッジデバイスに接続され、それを使用してルーティングケースのように「eth1ノートブック」へのトラフィックをフィルタリングeth2できます。別個の 192.168.50.0/24 セグメントはまだ削除され、「eth1 ノートブック」はルータの 192.168.14.0/24 セグメントからローカル IP アドレスを取得します。ebtablesiptables

しかし、Wireguardクライアントがブリッジとして設定されたシステムで動作するかどうかはわかりません。なぜそれを行うべきなのかわかりませんが、クライアントがVPNが「漏洩」するのを防ぐようにプログラムされている場合、目的のタスク(ルーティングまたはブリッジング)を実行することは、Wireguardに対して意図的な「流出」のように見えます。


また、デュアルNATに関連するソリューションを簡単に検討し、拒否しました。私は個人的に、これらのソリューションが現在はある程度の利便性をもたらしますが、将来は予測不可能なトラブルシューティングの問題をもたらす可能性があると信じています。これは悪い取引です。ただではないと言って」。

おすすめ記事