私は持ってeth0
いてwlan0
それに応じて行うifconfig
ことができますping google.com
。
一般ユーザーの場合、root
どのようなインターフェイスを見つけることができますか?ポジティブたとえば、ping(または必須ではない他のping)はどのインターフェイスを使用しますか?
Ubuntu 11.04またはFedora 14を使用しています。
答え1
route
次のコマンドを使用してデフォルトパスを見つけることができます。
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Iface
ターゲット行の列は、default
使用するインターフェイスを示します。
答え2
答え3
GNU/Linux システムの場合:
#!/bin/sh
# host we want to "reach"
host=google.com
# get the ip of that host (works with dns and /etc/hosts. In case we get
# multiple IP addresses, we just want one of them
host_ip=$(getent ahosts "$host" | awk '{print $1; exit}')
# only list the interface used to reach a specific host/IP. We only want the part
# between dev and the remainder (use grep for that)
ip route get "$host_ip" | grep -Po '(?<=(dev ))(\S+)'
答え4
通常、明示的にルーティングされるDMZ、プライベートネットワーク、VMホストなどとは異なり、「残りの」インターネットにルーティングするために一般的に使用されるデフォルトのネットワークインターフェイスを取得します。
$ ip route get 8.8.8.8 | sed -n 's/.* dev \([^\ ]*\) .*/\1/p'
eth0