Ip
兩個網卡都可以用的時候用哪個ip?
我的電腦裡有兩張網卡處於使用狀態。
ifconfig eth0 Link encap:Ethernet HWaddr e0:3f:49:57:4b:d1 inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::e23f:49ff:fe57:4bd1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6068 errors:0 dropped:0 overruns:0 frame:0 TX packets:113 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3780468 (3.6 MiB) TX bytes:11800 (11.5 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:14 errors:0 dropped:0 overruns:0 frame:0 TX packets:14 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:700 (700.0 B) TX bytes:700 (700.0 B) wlan0 Link encap:Ethernet HWaddr 00:21:5d:26:c1:10 inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::221:5dff:fe26:c110/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1291 errors:0 dropped:0 overruns:0 frame:0 TX packets:5146 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:81917 (79.9 KiB) TX bytes:992000 (968.7 KiB)
如何知道使用我的電腦連接到 yahoo.com 時使用的 IP 地址?
檢查預設路由(我的看起來像這樣):
$ ip route default via 10.0.0.1 dev em0 10.0.0.0/24 dev em0 proto kernel scope link src 10.0.0.120
這將告訴您正在使用哪個設備以及哪個 IP 地址。至於 yahoo.com 將看到的 IP 地址,這取決於您通過 ISP 的連接,但一種簡單的方法是使用簡單的 Web 服務,例如http://whatismyipaddress.com/
對於大多數情況,這就足夠了。
Linux 通常預設將 eth0 上的連接作為主要連接。您在這裡看到的是有線連接(eth0 = 乙太網有線連接)、始終是 NIC 的返回 IP(環回 127.0.0.1)的 lo 和無線 LAN 連接(wlan0 = 無線 LAN 連接)。
當 eth0 不是時,您的 wlan0 連接只會傳遞流量。這是因為當乙太網電纜插入您的電腦(我假設是筆記型電腦)時,它會暫時禁用您的無線連接通過流量。如果您的電腦要同時在兩者上傳遞流量,那麼我可以立即想到兩個問題:
- 您可能會傳遞中斷的流量(連接持續中斷),並且
- 您可能會妨礙家庭路由器解釋和正確路由流量的能力;即你會混淆你可憐的小迷你路由器。
我可以看到兩者同時使用的唯一方法是在您將流量傳遞到兩個不同子網的環境中,可能是通過虛擬機。例如,如果您的主機通過 RJ-45(乙太網)連接到路由器,但您的虛擬機通過 Wi-Fi 連接到鄰居的網路。
@Felix:您不會在具有 192.168.0.0 子網的 C 類(家庭網路)上看到 10 地址。