it-swarm-ko.tech

인터넷에 연결하기 위해 어떤 인터페이스를 사용하고 있는지 어떻게 알 수 있습니까?

나는 가지고있다 eth0wlan0에 따라 ifconfig하고 ping google.com.

어떤 인터페이스가 핑 (또는 어떤 핑이 의무적이지 않은)을 사용했는지와 같이 어떤 인터페이스가 active인지 (root가 아닌 일반 사용자의 경우) 어떻게 알 수 있습니까?

우분투 11.04 또는 Fedora 14를 사용하고 있습니다

56
LanceBaynes

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 열은 어떤 인터페이스가 사용되는지 알려줍니다.

55
Job

기본적으로 thisthis 에 기반한 내 버전 :

route | grep '^default' | grep -o '[^ ]*$'

그리고 macOS의 경우 실험적으로 :

route -n get default | grep 'interface:' | grep -o '[^ ]*$'
31
Ebrahim Byagowi

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 src (use grep for that)
ip route get "$Host_ip" | grep -Po '(?<=(dev )).*(?= src| proto)'
11
Torgeir

짧막 한 농담:

ip route get 8.8.8.8 | sed -n 's/.*dev \([^\ ]*\) table.*/\1/p'

8
h0tw1r3

일반적으로 명시 적으로 라우팅되는 DMZ, 개인 네트워크, VM 호스트 등)와 반대로 "남은"인터넷으로 라우팅하는 데 사용되는 기본 네트워크 인터페이스를 가져옵니다.

$ ip -4 route ls | grep default | grep -Po '(?<=dev )(\S+)'
eth0
7
EugeneP

ifconfig을 (를) 실행하면 필요한 정보가 제공됩니다.

활성 인터페이스에는 inet addr가 있으며 다음과 같이 전송 된 데이터 레코드가 표시됩니다.

RX bytes:1930741 (1.8 Mb)  TX bytes:204768 (199.9 Kb)

ip addr 명령을 사용할 수도 있으며 비활성 인터페이스는 NO-CARRIER로 지정됩니다.

6
jasonwryan

ip route ls는 활성 경로 및 해당 소스 목록을 제공합니다.

caleburn: ~/ >ip route ls
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.7 
default via 192.168.10.254 dev eth0 
2
Shadur

이 명령을 사용하십시오 :

$ route | grep default | awk '{print $8}'
enp0s3
1
Larry Catt

아래 중 하나를 사용하십시오.

ip r | grep default
0
akash

컴퓨터에 여러 인터페이스가있는 경우 (내 생각에) 인터넷에 연결하는 데 사용할 인터페이스는 하나도 없습니다.

연결하려는 대상에 따라 시스템은 ip 테이블 (route 명령을 수행 할 때 표시되는 테이블)을 참조하여 다음 희망/라우터를 찾으면 인터페이스를 사용합니다. 그것과 관련.

즉, @torgeir의 answer 를 참조하십시오.

  1. 도메인이 주어짐 (답변에서 유일한 나쁜 점인 google.com으로 하드 코드 됨)
  2. 그것은 IP를 해결
  3. 사용할 경로 (따라서 인터페이스)는 ip 테이블을 참조하십시오.
0
kdehairy

Linux, Unix, 일부 Microsoft Windows 버전 및 기타 여러 운영 체제의 다른 배포판은 하나의 네트워크 인터페이스를 사용하여 인터넷에 연결하는 것으로 제한되지 않습니다. 많은 운영 체제가 인터넷에 연결할 수있는 하나 이상의 유효한 인터페이스를 감지하고 인터넷 (특히 궁극적으로 인터넷에 연결되는 게이트웨이)으로 트래픽을 전달하도록 각 인터페이스를 설정합니다. OS가 외부 네트워크에 도달하려고 시도하고 eth0를 사용하여 성공하면 해당 인터페이스를 라우팅 테이블에 추가하고 해당 네트워크에 연결합니다. OS가 동일한 외부 네트워크에 도달하려고 시도하고 eth1를 사용하여 성공한 경우 해당 인터페이스 (eth1)도 동일한 네트워크에 도달하는 추가 방법으로 라우팅 테이블에 추가됩니다. 지금까지 다른 포스터는 라우팅 테이블에서 메트릭 값의 중요성을 고려하지 않았습니다. 아래의 라우팅 테이블은 두 개의 서로 다른 인터페이스 eth0wlan0를 보여줍니다. 둘 다 운영 체제에 의해 자동으로 게이트웨이 192.168.1.1에 대한 기본 경로로 설정되었으며, 운영 체제에 의해 192.168.1.X 네트워크에 대한 경로가 자동으로 구축되었습니다. 이 전체 라우팅 테이블은 OS에 의해 자동으로 작성되었습니다. 내가 편집 한 것이 없습니다. 여기에 표시된 차이점은 유선 이더넷 인터페이스 (eth0)가 더 낮은 메트릭 (202)을 가지므로 내 자신 이외의 노드로의 더 많은 트래픽이이 인터페이스를 통해 라우팅된다는 것입니다. 내 트래픽 이외의 노드로의 나머지 트래픽은 무선 인터페이스 (wlan0)를 통해 라우팅됩니다 (높은 메트릭이 303이므로 OS에서 선호하지 않음).

[email protected]:~ $ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    202    0        0 eth0
default         192.168.1.1     0.0.0.0         UG    303    0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     303    0        0 wlan0

아래의 eth0 및 wlan0에 대한 바이트 및 패킷 통계에서 볼 수 있듯이 두 인터페이스 모두 "인터넷"에 도달하는 데 사용되며 "Metric"값으로 가중치가 적용됩니다.

[email protected]:~ $ ip -s address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope Host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope Host 
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast   
    0          0        0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    0          0        0       0       0       0       
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:a6:32:31:a2:c7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.195/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
       valid_lft 80787sec preferred_lft 69987sec
    inet6 fe80::2f3f:3f1d:8c35:a05e/64 scope link 
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast   
    14341060   22393    0       0       0       971     
    TX: bytes  packets  errors  dropped carrier collsns 
    1190274    10745    0       0       0       0       
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether dc:a6:32:31:a2:c8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.193/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
       valid_lft 80787sec preferred_lft 69987sec
    inet6 fe80::4f31:5fcf:8f70:b5ca/64 scope link 
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast   
    4963408    7954     0       0       0       929     
    TX: bytes  packets  errors  dropped carrier collsns 
    49371      235      0       0       0       0       

OS에 의해 eth0에 더 많은 트래픽이 제공되고 있음을 쉽게 알 수 있습니다. 많은 운영 체제는 연결 속도가 빠른 유선 인터페이스에 대한 메트릭을 낮추고 연결 속도가 느린 유선 인터페이스에 대한 메트릭을 제공합니다. 예를 들어 eth0eth1가 모두 동일한 노드에 연결되어 있지만 eth0는 100mb 연결을 협상하고 eth1는 10mb 연결 만 협상 한 경우 , eth0eth1보다 낮은 메트릭이 부여됩니다. 마찬가지로 많은 운영 체제는 유선 인터페이스에 대한 메트릭을 낮추고 무선 인터페이스에 대한 메트릭을 줄입니다.

라우팅 테이블에 항목을 작성/편집하여 동일한 외부 노드에 도달하도록 둘 이상의 인터페이스를 자동으로 (OS에 따라) 또는 수동으로 설정할 수 있습니다.

0
Just Jeff