両方のネットワークを同時に使用するにはどうすればよいですか

両方のネットワークを同時に使用するにはどうすればよいですか

ネットワーク インターフェイスは 2 つあります: eth0 (10.0.0.0) と usb0 (umts usb-modem)

me@ThinkCentre-A50:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.41.250.0     0.0.0.0         255.255.255.128 U     1      0        0 eth0
192.168.42.0    0.0.0.0         255.255.255.0   U     1      0        0 usb0

両方のネットワークを同時に使用するにはどうすればよいですか。usb0 経由でインターネット (www) にアクセスし、eth0 経由でローカル ネットワークに接続しますか?

答え1

実際にできます!USBモデムをデフォルトゲートウェイとして使用し、ローカルアドレスをグローバルにルーティングされたアドレスにNAT(実際にはPAT)するようにするだけです。ゲートウェイは次のように設定できます。

 route add default gw 192.168.42.X 

ここで、X は USB モデムのローカル IP アドレスです。ローカル 10.41.250.1-126 アドレスは eth0 経由で送信され、残りはデフォルト ゲートウェイ経由で送信されます。

umts モデムの設定方法については、何も知らないので説明できません。

おそらく、接続とアドレスの設定を処理する追加のデーモン (pppd) をバインドする必要があります。USB ポートで IP 接続を確立するとすぐに、「iptables」などを使用してローカル アドレスを「マスカレード」できるようになります。

答え2

まず、マシンはインターフェースを通じてネットワークにアクセスします。よく「マシンの IP アドレスは...」と言われますが、これは誤りです。IP アドレスはインターフェースに属します。また、同じネットワーク カードに複数の IP アドレスを割り当てることもできます。ほとんどのマシンには 1 つのインターフェースと 1 つの IP アドレスしかないため、いつもの混乱は生じませんが、複数のインターフェース/アドレスが関係する場合は複雑になります。これを行わない方がよいでしょう。

デフォルトゲートウェイがUSBインターフェース経由で設定されている場合、全て他のインターフェースに直接接続されたネットワークに向かわないトラフィックは、そのインターフェースを通過します。真剣に邪魔にならないように、どのインターフェースが使用されるかについては何も言う権利はありません。

10.0.0.0 (内部) ネットワーク上の他のマシンが外部ネットワークにアクセスできるようにするには、このマシンをルーターとして設定し、外部ネットワークを介して内部アドレスを NAT (実際には PAT) する必要があります。Ubuntu でのファイアウォールの設定について調べてください。これを行うための GUI アプリケーションがあるはずですが、私は Ubuntu を使用したことがないので (GUI アレルギーです)、その点についてはお手伝いできません。おそらく、"外部" 192.168.42.0 アドレスは DHCP によって構成されていると思いますが、私もそのような場合にファイアウォールを設定したことはありません。申し訳ありません。

答え3

  1. デフォルトルートを削除する
    • route del 0/0
  2. eth0 を経由する LAN ルートを追加する
    • route add net 10.41.250.0/25 gw 10.41.250.1 eth0
  3. usb0 を経由するデフォルトルートを追加します
    • route add default 192.168.42.1 usb0

これは、LAN ゲートウェイの IP アドレスが 10.41.250.1 であり、WAN ゲートウェイの IP アドレスが 192.168.42.1 であることを前提としています。

関連情報