ネットワークカードが3枚、LAN(有線)が1枚、ワイヤレスネットワークカードが1枚、ワイヤレスUSBが1枚
特定のネットワークカードからpingするにはどうすればよいですか?
&特定のアプリケーションに特定のネットワークカードを使用する方法
例
i want to ping google from wlan1
特定のアプリケーションの例
i want to use firefox or transmission from wan1
Lan ip 192.168.0.2>正しく機能 pin -I wlan1 google.com
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
@Khaled
one@onezero:~$ ping -S 192.168.0.2 hotmail.com
PING hotmail.com (65.55.72.135) 56(84) bytes of data.
64 bytes from Origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=1 ttl=236 time=391 ms
64 bytes from Origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=2 ttl=236 time=296 ms
64 bytes from Origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=3 ttl=236 time=393 ms
64 bytes from Origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=4 ttl=236 time=352 ms
ping -S 192.168.0.3 hotmail.com
PING hotmail.com (65.55.72.183) 56(84) bytes of data.
64 bytes from Origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=1 ttl=236 time=312 ms
64 bytes from Origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=2 ttl=236 time=457 ms
64 bytes from Origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=3 ttl=236 time=298 ms
64 bytes from Origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=5 ttl=236 time=330 ms
64 bytes from Origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=6 ttl=236 time=300 ms
最後に、アプリケーションの問題
Pingマニュアルを見るとman ping
、 あなたは読むことができます:
-I interface address
Set source address to specified interface address. Argument may be numeric IP
address or name of device.
ルーティングテーブルを確認してください。
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
192.168.0.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan1
Wlan1インターフェースは、192.168.0.0ネットワークに到達する方法を知っているだけです。また、問題を引き起こす可能性のある同じサブネットにwlan1とeth0があります。 wlanインターフェースで到達したい宛先のルーティングテーブルにルートを追加する必要があります。例えば
route add -Host 65.55.72.135 gw 192.168.0.1 dev wlan1
ping -I wlan1 65.55.72.135
これはアプリケーションでルーティングできないことに注意してください。そのためには、iptables -m owner --uid-owner
などのポリシールーティングを構成する必要があります。ping -S src_ip dest_ip
コマンドは、実際にはwlan1 IPアドレスのソースを使用してパケットを送信しますが、次のホップのためにパケットをeth0にルーティングしますルーティングテーブルのeth0です。最善の策は、wlan1インターフェースとeth0インターフェースを別々のサブネットに配置することです。
BSDからのping(8) に関する限り、-S
特定のインターフェイスからのpingをシミュレートするpingのスイッチ:
-S src_addr
Use the following IP address as the source address in outgoing packets. On hosts
with more than one IP address, this option can be used to force the source address to
be something other than the IP address of the interface the probe packet is sent on.
If the IP address is not one of this machine's interface addresses, an error is
returned and nothing is sent.
ネットワークインターフェイス(IPアドレス)のアプリケーションレベルの認識は、インターフェイスごとに異なるゲートウェイを指定したり、ファイアウォールルールを介してポートまたはその他の基準に従ってトラフィックをリダイレクトしたりすると、ある程度可能です。 firefoxを使用して80ポートのみに接続している場合は、iptablesにSNATルールを指定して、指定したIPアドレスを介して接続することで、目的のインターフェイスを作成できます。