ネットワーク インターフェイスは 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
- デフォルトルートを削除する
route del 0/0
- eth0 を経由する LAN ルートを追加する
route add net 10.41.250.0/25 gw 10.41.250.1 eth0
- usb0 を経由するデフォルトルートを追加します
route add default 192.168.42.1 usb0
これは、LAN ゲートウェイの IP アドレスが 10.41.250.1 であり、WAN ゲートウェイの IP アドレスが 192.168.42.1 であることを前提としています。