Wi-Fi와 이더넷을 모두 동일한 네트워크에 연결할 수 있습니까?

Wi-Fi와 이더넷을 모두 동일한 네트워크에 연결할 수 있습니까?

저는 Arch Linux(Raspberry Pi 3)를 실행 중이며 이더넷과 Wi-Fi를 모두 동일한 네트워크에 연결하려고 했습니다. route나에게 다음을 보여줍니다 :

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    1024   0        0 eth0
default         gateway         0.0.0.0         UG    1024   0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
gateway         0.0.0.0         255.255.255.255 UH    1024   0        0 eth0
gateway         0.0.0.0         255.255.255.255 UH    1024   0        0 wlan0

ip addr나에게 다음을 보여줍니다 :

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b8:27:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.103/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 85717sec preferred_lft 85717sec
    inet6 fe80::ba27:ebff:fee4:4f60/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b8:27:YY:YY:YY:YY brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.102/24 brd 192.168.1.255 scope global dynamic wlan0
       valid_lft 85727sec preferred_lft 85727sec
    inet6 fe80::ba27:ebff:feb1:1a35/64 scope link
       valid_lft forever preferred_lft forever

wlan0및 인터페이스 모두 eth0라우터에서 IP 주소를 얻을 수 있었습니다.

그러나 이러한 인터페이스 중 하나만 작동하는 것으로 나타났습니다. 다른 인터페이스는 ping할 수 없으며 연결할 수 없습니다. 일반적으로 작동하는 것은 이더넷이지만 Wi-Fi인 경우도 있습니다.

무슨 일이야? 이 작업을 수행하려면 어떻게 해야 합니까?

답변1

이미 알고 있듯이 라우팅 관점에서 볼 때 가능하기는 하지만 동일한 네트워크의 주소를 서로 다른 인터페이스에 갖는 것은 이상적이지 않습니다.

라우팅은 인터페이스마다 다른 네트워크를 예상하며, 궁극적으로 그 중 하나가 라우팅에서 다른 것보다 우선합니다.

동일한 네트워크에 연결된 두 개 이상의 인터페이스에 대해 권장되는 솔루션은 브리지 인터페이스에 함께 통합하는 것입니다.

브리지 인터페이스는 IP 주소를 "소유"하며 실제 실제 인터페이스는 아래에 가상 단일 엔터티로 그룹화됩니다 br0.

allow-hotplug eth0
iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual

auto br0
iface br0 inet dhcp
    bridge_ports eth0 wlan0
    

Debian Linux: 네트워크 인터페이스를 브리지/네트워크 스위치로 구성

답변2

이는 완전한 솔루션이라기보다는 부록에 가깝습니다. [댓글을 달기에는 '평판 포인트'가 부족해서요.]

먼저 두 인터페이스가 독립적으로 작동하도록 해야 합니다. 그런 다음 브리징 대신 두 인터페이스 모두에서 나가는 연결의 부하를 분산할 수도 있습니다.

https://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html

저는 네트워크 관리자가 구성한 인터넷에 대한 기본 경로가 있는 두 개의 장치로 시작했습니다.

❯ ip route
default via 192.168.0.1 dev eno1 proto dhcp metric 100 
default via 192.168.0.1 dev wlp4s0 proto dhcp metric 600 
169.254.0.0/16 dev wlp4s0 scope link metric 1000 
192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.246 metric 100 
192.168.0.0/24 dev wlp4s0 proto kernel scope link src 192.168.0.213 metric 600 

그런 다음 로드 밸런싱 아래에 설명된 명령을 사용했습니다.

https://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html

❯ P1=192.168.0.1
❯ P2=192.168.0.1
❯ IF1=eno1
❯ IF2=wlp4s0
❯ ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \     
            nexthop via $P2 dev $IF2 weight 1

보아라! 두 장치를 모두 통해 연결됩니다.

❯ ip route                                                                  
default 
    nexthop via 192.168.0.1 dev eno1 weight 1 
    nexthop via 192.168.0.1 dev wlp4s0 weight 1 
default via 192.168.0.1 dev eno1 proto dhcp metric 100 
default via 192.168.0.1 dev wlp4s0 proto dhcp metric 600 
169.254.0.0/16 dev wlp4s0 scope link metric 1000 
192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.246 metric 100 
192.168.0.0/24 dev wlp4s0 proto kernel scope link src 192.168.0.213 metric 600 

연결 문제가 있으면 디버깅이 더 어려워질 수 있습니다. ;)

그리고 재부팅 후에도 구성을 유지하는 방법, 특히 네트워크 관리자와 함께 사용하는 방법을 아직 모릅니다.

관련 정보