クライアントソフトウェアを特定のネットワークインターフェイスにバインドすることはできませんが、一部のIPアドレスには1つのネットワークインターフェイスのみを使用し、他のすべてには他のネットワークインターフェイスのみを使用するようカーネルに指示できます。これは「ルーティング」と呼ばれ、コマンド/sbin/route
とを使用して設定できます
/sbin/ip
。
質問を正しく読んだ場合、interface eth0
を使用してイントラネットIPアドレスに接続し、interface を使用してインターネットに接続する必要があります
wlan0
。
コマンドを実行するとip route list
、次のような出力が表示されます(数値は異なります。また、行を追加することもできます)。
$ ip route list
10.60.44.0/25 dev eth0 proto kernel scope link src 10.60.44.39 metric 1
192.168.80.0/21 dev wlan0 proto kernel scope link src 192.168.84.122 metric 2
[...]
default via 10.60.44.1 dev eth0 proto static
最初の2行は、インターフェイスに接続されたネットワークをご紹介eth0
してwlan0
:これらのネットワーク上のコンピュータに向けたネットワークトラフィックは、直接対応するインタフェースを介してそれらに送信されます。
最後の行は、「デフォルトルート」が何であるかを示しています。コンピューターが接続されていないネットワーク(stackoverflow.comサーバーなど)上のコンピューターと通信する場合eth0
、ホスト経由でトラフィックをルーティングします10.60.44.1
( 「デフォルトゲートウェイ」と呼ばれます)。
したがって、インターネットトラフィックを徹底的にルーティングwlan0
するには、ip route list
出力の最後の行が次のようになるようにする必要があります。
default via A.B.C.D dev wlan0 proto static
ここA.B.C.D
で、ワイヤレスLAN上のゲートウェイのIPアドレスです。出力に「dev wlan0」が含まれていない場合は、次のコマンドで変更できます。
sudo ip route change to default dev wlan0 via A.B.C.D
次の2つの方法で正しい値A.B.C.D
を見つけることができwlan0
ます。
ディレクトリ/var/lib/dhcp3/
を調べてくださいdhclient-...-wlan0.lease
。いくつかのファイルが見つかり
ます。最新のものを開き、文字列を含む行を検索しoption router
ますA.B.C.D
。行の残りの部分はIPアドレスを示しています。
ローカルネットワーク管理者に問い合わせてください。(とにかく、おそらく最善のことです。)
この構成では、次のことができるはずです。
- インターネットを閲覧する
wlan0
- 単一のネットワーク上にある場合は
eth0
、イントラネットを参照します。
イントラネットが複数のネットワークにまたがっている場合、それらのルートを追加する必要があります。これは間違いなく、ローカルネットワーク管理者と対話する必要があるものです。:-)