私は3枚のネットワークカードを持っています。1枚はLAN(有線)、1枚はワイヤレスネットワークカード、1枚はワイヤレスUSBです。
特定のネットワーク カードから ping を実行するにはどうすればよいでしょうか?
特定のアプリケーションに特定のネットワーク カードを使用する方法
例
i want to ping google from wlan0
特定のアプリケーションの例
i want to use firefox or transmission from wan1
更新しました
Lan ip 192.168.0.2 > 正常に動作しています
無線LAN1 IP 192.168.0.3
pin -I wlan1 google.com
アップデート
route -n および/または ip route の出力を貼り付けてみてください。wlan1 インターフェイスに有効なゲートウェイが設定されていないようです。 –@MrShunz
one@onezero:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
172.16.221.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan1
192.168.48.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
one@onezero:~$ ip route
default via 192.168.0.1 dev eth0 proto static
169.254.0.0/16 dev eth0 scope link metric 1000
172.16.221.0/24 dev vmnet8 proto kernel scope link src 172.16.221.1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2 metric 1
192.168.0.0/24 dev wlan1 proto kernel scope link src 192.168.0.3 metric 2
192.168.48.0/24 dev vmnet1 proto kernel scope link src 192.168.48.1
答え1
ping
ソースインターフェースを設定するための特定のスイッチがあります: -I
。マニュアルページに記載されているとおり:
-I interface address
Set source address to specified interface address. Argument may be numeric
IP address or name of device.
When pinging IPv6 link-local address this option is required.
例として
$ ping -I wlan0 8.8.8.8
wlan0 インターフェース経由で 8.8.8.8 に ping を実行します。
特定のアプリケーションにインターフェースを強制するには、もう少し作業が必要です。解決策は見つかりますこのsuperuser.comの質問でそしてこの記事回答にリンクされています。
アップデート
この回答で紹介した方法は、ping に特定のインターフェースを強制的に使用させる方法を示しています。また、汎用プログラムに特定のインターフェースを強制的に使用させる方法に関する記事へのリンクもいくつかあります。
さて、これらすべてを機能させるには、いくつかの「高度な」ルーティングを構成する必要があります。出力からわかるように、route -n
複数のネットワークがありますが、インターネットへのゲートウェイは1つだけです。良い複数のゲートウェイルーティングは非常に高度なトピック扱いが少々難しいです。
これは元の質問で尋ねた内容を超えています。ここに新しい質問を投稿するか、サーバー障害複数のネットワーク インターフェイス上で複数のインターネット ゲートウェイを構成および管理する方法を尋ねます。
または、グーグルで検索してみてください。LARTCサイト高度な Linux ルーティング構成用。