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 주소를 얻을 수 있습니다.

그러나 이러한 인터페이스 중 하나만 작동하는 것으로 나타났습니다. 다른 인터페이스를 핑할 수 없고 연결할 수 없습니다. 일반적으로 이더넷이 작동하지만 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 

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

그리고 특히 Network Manager와 함께 재부팅 후에도 구성을 유지하는 방법을 아직 모릅니다.

관련 정보