Debian システムのルーティング テーブルに影響を与える設定ファイルはどれですか。

Debian システムのルーティング テーブルに影響を与える設定ファイルはどれですか。

私の知る限り、基本的なネットワーク構成は に入り/etc/network/interfaces、システムはこれらの情報からルーティング テーブルを生成します。また、一般に は/etc/network/interfacesルーティング テーブルを操作するカスタム コマンドを永続的に追加する場所であると教えられました ( または の/etc/rc.localカスタム スクリプトが提案されることもあります/etc/network/if-up.d/)。さらに、 でカスタム ルーティング テーブルを指定することもできます/etc/iproute2/rt_tables

  • (メイン) ルーティング テーブルに影響を与える他の場所はありますか?
    • 特に、/etc/network/interfaces手動で追加/削除したルートを永続的にする以外に何か方法はありますか?
  • 複数のNICを持つシステムには、主要なそしてセカンダリネットワークインターフェースそれとも、これらはユーザーを支援するために使用される文言のみですか? (セットアップ中にプライマリ if を選択し、/etc/network/interfaces適切なコメントを含める必要があります。) そのような概念が存在する場合、どこで設定できますか?
  • Debian Squeeze と Debian Jessie のルーティング テーブルの概念には違いがありますか?

私の質問の背景は、レガシー Debian Squeeze システムと新しい Debian Jessie システムがあり、これらは異なるルーティング テーブルで起動しますが、(私が知る限り) 構成は同一であるということです。 ルーティング テーブルを手動で操作してニーズに合わせ、 を使用して変更を永続的に適用することもできます/etc/network/interfacesが、何が起こっているのか理解したいのです。

編集

両方のマシンの設定ファイルは次のとおりです。プライバシー上の理由から、各 IP アドレスの最初の部分を変更しました。ただし、サブネットと各ネットワークのアドレス部分は変更されていません。Jessie/etc/network/interfaces.d/マシンのディレクトリは空です。

/etc/iproute2/rt_tablesジェシーについて

#
# reserved values
#
255 local
254 main
253 default
0   unspec
#
# local
#
#1  inr.ruhep

/etc/iproute2/rt_tablesスクイーズ

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep

/etc/rc.localジェシーについて

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0

/etc/rc.localスクイーズ

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0

/etc/network/interfacesジェシーについて

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
    address 143.103.155.254
    netmask 255.255.255.0
    network 143.103.155.0
    gateway 143.103.155.254

# The primary network interface
auto eth2
iface eth2 inet static
    address 27.126.19.194
    netmask 255.255.255.248
    network 27.126.19.192
    broadcast 27.126.19.199
    gateway 27.126.19.193
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 143.103.5.1
    dns-search subdomain.domain.de

/etc/network/interfacesスクイーズ

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface

auto eth0
iface eth0 inet static
        address 143.103.155.254
        netmask 255.255.255.0
        network 143.103.155.0
        gateway 143.103.155.254

auto eth2
iface eth2 inet static
        address 27.126.19.194
        netmask 255.255.255.248
        network 27.126.19.192
        broadcast 27.126.19.199
        gateway 27.126.19.193

ip route show table mainジェシーの出力

default via 143.103.155.254 dev eth1 
143.103.155.0/24 dev eth1  proto kernel  scope link  src 143.103.155.254 
27.126.19.192/29 dev eth2  proto kernel  scope link  src 27.126.19.194

ip route show table mainSqueezeの出力

27.126.19.192/29 dev eth2  proto kernel  scope link  src 27.126.19.194
143.103.155.0/24 dev eth0  proto kernel  scope link  src 143.103.155.254
default via 27.126.19.193 dev eth2
default via 143.103.155.254 dev eth0  scope link

route -nジェシーの出力

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         143.103.155.254  0.0.0.0         UG    0      0        0 eth1
143.103.155.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
27.126.19.192  0.0.0.0         255.255.255.248 U     0      0        0 eth2

route -nSqueezeの出力

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
27.126.19.192  0.0.0.0         255.255.255.248 U     0      0        0 eth2
143.103.155.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         27.126.19.193  0.0.0.0         UG    0      0        0 eth2
0.0.0.0         143.103.155.254  0.0.0.0         UG    0      0        0 eth0

答え1

あなたの/etc/ネットワーク/インターフェースファイルには、デフォルト ゲートウェイが 2 回指定されているという同じエラーが含まれています。

複数のデフォルトゲートウェイを持つことができるのは、非常に特殊な状況(メトリックを無視)の場合のみです。つまり、複数のルーティングテーブルがあり、それぞれがファイルに指定されている必要があります。/etc/iproute2/rt_tablesただし、各ルーティングテーブルにはシングルデフォルトゲートウェイ。

代わりに、各インターフェースごとに1つ指定します。まったく同じテーブル 主要ここで見られるのは、実装のわずかな違いです。iproute2パッケージと、エラーに対する応答方法を説明します。

の場合ジェシー最初に言及されたゲートウェイ143.103.155.254が、最初に言及されたという理由だけで唯一のゲートウェイとして確立されます。2番目のゲートウェイ27.126.19.193の宣言が行われても、何も起こりません。ない前任者

      ip route del default

スクイーズは、代わりに別の方法でエラーに対処します。範囲2番目のゲートウェイのローカルリンク詳細は範囲、 見るiproute2 マニュアル、 どの州:

スコープ リンク --- アドレスはリンク ローカルであり、このデバイス上でのみ有効です。

ウィキペディア次のように述べています。

コンピュータ ネットワークでは、リンク ローカル アドレスは、ホストが接続されているネットワーク セグメント (リンク) またはブロードキャスト ドメイン内の通信に対してのみ有効なネットワーク アドレスです。

したがって、範囲(不正確な同義語範囲)は、そのネットワークセグメント(つまり、そのブロードキャスト ドメインは 143.103.155.0/24 です。このように、Jessie も別の方法で、同じルーティング テーブル内の複数のゲートウェイの誤った宣言に対処しました。

もちろん、予想される行動パッケージがエラーを処理する方法。/etc/ネットワーク/インターフェースファイルは、ステートメントを省略します

   gateway 143.103.155.254

(これは、自分のPCのゲートウェイが...自身であると言っているので奇妙です!)これについての素晴らしい説明を読むには、初期ソリューションの段落はこちら; 後ほど、複数のルーティング テーブルを持つ複数のゲートウェイを追加する方法についても説明します。

もしあなたが主張するように、

もう一度確認してみることもできますが、すでに試したにもかかわらず、外部 IP にアクセスできなかったことは確かです。

おそらく、あるインターフェースから別のインターフェースへの IPv4 転送を許可していないことが原因です (sudo として:

     echo 1 > /proc/sys/net/ipv4/ip_forward

がそれを処理します)、または iptables ルールによって転送がブロックされたためです。

答え2

Squeeze と Jessie の主な違いは、コマンドが最初と最後をip呼び出すことです。ifconfigiproute2

ifconfig は、少なくともメトリックなしでは、複数のゲートウェイ構成を認識しません。そのため、2 つのip routeコマンド (またはroute -n(非推奨))の間に違いが見られます。

iproute2は複数のルーティングテーブルを追跡できる

ip route show all

プライマリおよびセカンダリ ネットワーク インターフェイスの概念は、それらを区別するための方法にすぎず、通常は eth0 (1 番目) と eth1 (2 番目) と呼ばれますが、順序は異なる場合があります。

はい、次のよう/etc/network/interfacesに使用して永続的なルートを設定することもできます。up

up ip route add 1.2.3.4/24 via 1.2.3.1

関連情報