ルート4ネットワーク

ルート4ネットワーク

私は成功せずに動作するようにほぼ一週間努力してきました。絶望感を感じ始めました。

4つのイーサネットアダプタがあります。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 30:85:a9:ad:54:1e brd ff:ff:ff:ff:ff:ff
    inet 10.100.36.2/29 brd 10.100.36.7 scope global eth0
    inet6 fe80::3285:a9ff:fead:541e/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether a0:f3:c1:04:64:40 brd ff:ff:ff:ff:ff:ff
    inet 69.70.164.242/30 brd 69.70.164.243 scope global eth1
    inet6 fe80::a2f3:c1ff:fe04:6440/64 scope link
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether a0:f3:c1:04:a0:2f brd ff:ff:ff:ff:ff:ff
    inet 10.45.13.1/24 brd 10.45.13.255 scope global eth2
    inet6 fe80::a2f3:c1ff:fe04:a02f/64 scope link
       valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 28:10:7b:c9:58:76 brd ff:ff:ff:ff:ff:ff
    inet 10.45.15.1/24 brd 10.45.15.255 scope global eth3
    inet6 fe80::2a10:7bff:fec9:5876/64 scope link
       valid_lft forever preferred_lft forever

これは私のLinuxサーバー(Debian)が起動時に提供するデフォルトのパスです。

69.70.164.240/30 dev eth1  proto kernel  scope link  src 69.70.164.242
10.100.36.0/29 dev eth0  proto kernel  scope link  src 10.100.36.2
10.45.15.0/24 dev eth3  proto kernel  scope link  src 10.45.15.1
10.45.13.0/24 dev eth2  proto kernel  scope link  src 10.45.13.1
default via 10.45.15.254 dev eth3
default via 10.45.13.254 dev eth2
default via 69.70.164.241 dev eth1
default via 10.100.36.1 dev eth0

これが私がしたいことです。 eth0 はマイ VDSL 回線、eth1 はマイケーブル回線です。私が欲しい:

  • 10.45.13.0(eth2)からゲートウェイ10.100.36.1(eth0)にすべてのトラフィックを転送します。
  • 10.45.15.0(eth3)からゲートウェイ69.70.164.241(eth1)にすべてのトラフィックを転送します。

10.45.13.0この作品を作れたら嬉しいですが、見えないようにしたいこともあり、10.45.15.0その逆も同様です。

ベストアンサー1

ルーティングテーブルごとのデフォルトパスは1つしかありません。したがって、最初に1つを除くすべてのデフォルトパスを削除する必要があります。 Debian サーバーが使用したい唯一の方法です。

他のものと同様に、必要なものを「ソースルーティング」といいます。つまり、現在処理中のパケットのソース(ソース)に基づいて別のルーティングを実行するという意味です。

これソースルーティングで実行する操作の正確な例です。あなたの質問は少し不安定なので、あなたのDebianサーバーがVDSLラインも使用したいとします。

これは、eth0 経由のルートを除いて、ルーティングテーブルからすべてのデフォルトルートを削除することを意味します。基本/位置RTは次のようになります。

69.70.164.240/30 dev eth1  proto kernel  scope link  src 69.70.164.242
10.100.36.0/29 dev eth0  proto kernel  scope link  src 10.100.36.2
10.45.15.0/24 dev eth3  proto kernel  scope link  src 10.45.15.1
10.45.13.0/24 dev eth2  proto kernel  scope link  src 10.45.13.1
default via 10.100.36.1 dev eth0

次に、リンクされた例に従って別のルーティングテーブルを作成します。UseCable代わりにテーブルに電話してJohnください。

echo 200 UseCable >> /etc/iproute2/rt_tables

10.45.13.0その後、パケットが次から始まるときにそのテーブルを使用するようにカーネルに指示します。

ip rule add from 10.45.15.0 table UseCable

その後、UseCableを入力する必要があります。開始は次のとおりです。

ip route add 10.45.15.0/24 dev eth3 table UseCable
ip route add 69.70.164.240/30 dev eth1 table UseCable
ip route add default via 69.70.164.241 table UseCable #that's the default route via cable

さて、ルーティングが完了しました。 NATも必要だと思います。だからあなたは次のようなものが必要です

#for everything from eth3 leaving through eth1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 

#for everything from eth2 leaving through eth0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

完璧。最もきちんとした方法ではありませんが、10.45.15.0/24 から始まると、ルーティングテーブルに 10.45.13.0/24 のエントリが含まれていないため、10.45.13.0/24 と 10.45.15.0/24 間の通信はできません.

私は練習であなたに洗練を任せます。

おすすめ記事