2台のコンピュータにSL 6.3がインストールされています。
マシンAは2つのインターフェイスeth0
とwlan0
。を使用すると、eth0
静的IPアドレスを介してマシンB(パブリックサーバー)に接続します。どちらもそれぞれのインターフェイスを介してインターネットに接続しますwlan0
。
問題は、ワークステーションがサーバーに接続するとすべてのパケット(インターネット上のパケットを含む)が送信されるためeth0
失敗することです。私のワークステーションでインターネットを使用するには切断する必要があります。eth0
そうすると、eth0
サーバーへのSSH接続が中断されます。
wlan0
ワークステーションに関係なくインターネットパケットを送信させる方法はありますかeth0
?
答え1
デフォルトパスがwlan0を通過するように設定されていることを確認する必要があります。 eth0 を使用してマシン B への明示的なパスを設定することもできます。
設定ファイルを手動で編集することに慣れている場合は、次に必要なファイルを見つけることができます。/etc/sysconfig/network スクリプト。興味のあるファイルの名前は次のとおりです。ifcfg-eth0そしてifcfg-wlan0。あなたは確かにする必要があります ifcfg-wlan0含むゲートウェイ設定は次のとおりです
GATEWAY=xxx.xxx.xxx.xxx
変えるxxx.xxx.xxx.xxxアップストリームルーターのアドレスに。以下では、そのような行をすべて削除する必要があります。ifcfg-eth0。完了したら、両方のインターフェイスをシャットダウンして再起動するか、次を実行してネットワークを再起動してルーティングの問題を解決できます。
service network restart
私が言ったように、マシンBのトラフィックがeth0を通過するようにルートを追加する必要があると思います。 1つの方法はファイルを作成することです/etc/sysconfig/ネットワークスクリプト/route-eth0そして、eth0が起動または終了するたびに実行されるので、実行可能にします。次の行が必要です
xxx.xxx.xxx.xxx via eth0
変えるxxx.xxx.xxx.xxxB マシンの IP アドレスを使用します。
このパスは終了し、eth0 を実行した後、またはネットワークを再起動した後に適用されます。
コマンドラインを使用するのが不便な場合は、同じことができるRed Hat設定ツールを見つける必要があります。
答え2
これはルーティングの問題に近いです。正しく機能するには、ワークステーションAのルーティングテーブルを変更する必要があります。
マシンAのeth0にipがあり、10.10.1.1
wlan0にipがあるとします172.16.1.1
。
デフォルトパスがwlan0を指し、サブネットパスが10.10.1.0
eth0を指すようにシステムAのルーティングテーブルを変更する必要があります。
これを行うには、iproute2パッケージを使用できます。
次の方法でシステム A のルーティングテーブルを表示できます。
$ sudo ip route show
これにより、デフォルトゲートウェイがeth0という行が表示されます。次のコマンドを使用してこの行を削除する必要があります。
$ sudo ip route del default dev eth0
次に、wlan0を介して新しいデフォルトパスを追加します。
$ sudo ip route add default dev wlan0
eth0 を使用してそのボックスのトラフィックをルーティングするために、別のマシン B にルートを追加します。
$ sudo ip route add 10.10.1.0/24 dev eth0